One, which some people call "phosphenes", is the ability to paint mental images on the field of vision that corresponds mentally to the signals I get from my retina. I can only see these kinds of images with my eyes closed and shielded from light. My ability to do this has waxed and waned over the years, and has never been good enough to create photographic imagery. At one point, I lost the ability to generate any colour, and I trained until I got colour back.
Two, the ability which seems to be called "phantasia". This is photographic mental imagery that runs on a separate channel from my visual channel, so I can consult this channel with my eyes open, and see things like people's faces. I couldn't do this at all a number of years ago, and was unaware that I was missing this ability. Then I discovered I had aphantasia, and I did some training which got me up to the level that the OP calls "hypophantasia", or maybe a bit better than that. I think that ability may have waned over the last few years since I last trained up.
The "afterimage test" is physically working at the phosphene level. It does not provide an accurate subjective experience of phantasia.
Three, the ability to visualize 3D geometric objects. It works great for wireframe polyhedra, and also works for maps that I hold in my head and use to navigate while driving. This ability has always been very strong, and I originally mistook this ability for phantasia. This is the ability I would use for your equilateral triangle example. I can position 3D objects in space relative to my body, rotate them, etc. Because I am strong at this ability, it is my job to efficiently pack luggage into the vehicle for camping trips. My partner is bad at this, but is much better at phantasia, and is a visual artist who can draw realistic faces.
What I wrote is based on personal experience. I am not selling anything. I know from internet forums that different people have different wiring in their brains. Some people have subjective experiences that other people have never encountered. It is impossible to prove the existence of first-person subjective experiences to a determined skeptic. The best you can do is collect field reports from a lot of people, compare them, find patterns, then make your own conclusions. This is called phenomenology.
You are asking if a partnership with Fairphone would bring in revenue for GrapheneOS.
Fairphone would need to design a new phone with hardware that meets the security requirements of GrapheneOS, which is what Motorola is doing in the announced partnership. There is the development cost, and then the new phone hardware would be more expensive than the Fairphone 6. For Fairphone, there is the question of whether the cost of developing this new phone will be recovered in sales of this more expensive phone.
Would Fairphone give GrapheneOS a big enough share of the profits to fund the port of GrapheneOS to this new hardware and pay for the share of the costs of the monthly software updates? Otherwise it wouldn't reduce GrapheneOS's need to fundraise via donations, which is the subject of this thread.
I don't know if Motorola is offering any cash to GrapheneOS, but they are a famous enough manufacturer that the partnership will raise the profile of GrapheneOS and help them be more successful. By contrast, I'm not sure how many people have heard of Fairphone but have not heard of GrapheneOS. The only reason I've heard of either project is through tech social media. Retail outlets in my area don't sell Fairphone and local mobile operators don't offer Fairphone hardware. But these guys do offer Motorola.
In summary, I'm not sure a Fairphone GrapheneOS partnership makes financial sense for either project, even if it sounds great from a tech nerd perspective.
In all honesty, I first found out about LineageOS while looking for “pure Android”, then GrapheneOS when I wanted more sane privacy defaults and only then I learned about Fairphone when I started looking for devices to run GrapheneOS and discovered that it would need a Google Pixel.
GrapheneOS already has their own attestation API that verifies the app is running on GrapheneOS. Since GrapheneOS is more secure than stock Android, security conscious apps like banking apps have a solid technical reason to use the API and support Graphene.
We just need to raise the profile of GrapheneOS and convince more banking apps to use this API, if they are already using Google's attestation API.
GrapheneOS's strategy for raising their profile and being seen as more legitimate is that they've formed a partnership with Motorola Mobility, who will be manufacturing Graphene compatible phones. <https://motorolanews.com/motorola-three-new-b2b-solutions-at...>
> Since GrapheneOS is more secure than stock Android, security conscious apps like banking apps have a solid technical reason to use the API and support Graphene.
Corporations don't use such things for technical reasons. Their reasons are political. They want control. The "security" they talk about isn't the user's security, it's their own security from the user.
> We just need to raise the profile of GrapheneOS and convince more banking apps to use this API
And until they do, GrapheneOS is permanently at risk of being shut out of the market.
And even if they do, it just means we've become dependent on GrapheneOS. They won't trust our keys, only those of corporations. Our freedom is still compromised.
GNOME OS and KDE Linux are both specialized distros that primarily exist to test GNOME and KDE. They aren't for general users, and both web sites warn you not to rely on them. And they impose limitations on your ability to install arbitrary 3rd party software, whereas Fedora Atomic Desktop lets you customize the system without such limitations. Fedora Atomic lets me install arbitrary RPMs into the base system.
"quite a bit easier to extend" sounds good to me, but the "easier" here refers to the internal system implementation details? I am an end user, not a Linux distro system architect, and I care more about the user experience. I will be interested in test driving a general purpose OS based on this technology, whenever that happens in the future. Since Red Hat is involved in the UAPI project, perhaps Fedora Atomic Desktop will migrate to this technology in the future?
I think that what you are calling "immutable pass by reference" is what the OP is calling "pass by value". See, when used abstractly, "pass by value" means that the argument is passed as a value, hence it is immutable and the callee can't mutate it. One way to implement this is by copying the data that represents the value. In the OP's language, and in many other languages that work this way, instead of copying the data, we implement "pass by value" by incrementing the reference count and passing a pointer to the original data. These differing implementations provide the same abstract semantics, but differ in performance.
I am unable to extract any meaning from your post. You appear to be making a general claim: it is impossible to design a programming language where everything is a value. You at least admit that "data thingies" can be values. Are you claiming that it is not possible for functions to be values? (If we assume that the argument and the result of a function call is a value, then this would mean higher order functions are impossible, for example.) If not that, then what? Please give a specific example of something that can never be a value in any programming language that I care to design.
I think parent means it from a lambda calculus perspective. If you only have values at an AST level, then you only have a tree of.. values, like an XML document.
You can apply meaning to a particular shape of that tree which could be executed, but then you basically just added another layer before you parse your AST that becomes executable.
One, which some people call "phosphenes", is the ability to paint mental images on the field of vision that corresponds mentally to the signals I get from my retina. I can only see these kinds of images with my eyes closed and shielded from light. My ability to do this has waxed and waned over the years, and has never been good enough to create photographic imagery. At one point, I lost the ability to generate any colour, and I trained until I got colour back.
Two, the ability which seems to be called "phantasia". This is photographic mental imagery that runs on a separate channel from my visual channel, so I can consult this channel with my eyes open, and see things like people's faces. I couldn't do this at all a number of years ago, and was unaware that I was missing this ability. Then I discovered I had aphantasia, and I did some training which got me up to the level that the OP calls "hypophantasia", or maybe a bit better than that. I think that ability may have waned over the last few years since I last trained up.
The "afterimage test" is physically working at the phosphene level. It does not provide an accurate subjective experience of phantasia.
Three, the ability to visualize 3D geometric objects. It works great for wireframe polyhedra, and also works for maps that I hold in my head and use to navigate while driving. This ability has always been very strong, and I originally mistook this ability for phantasia. This is the ability I would use for your equilateral triangle example. I can position 3D objects in space relative to my body, rotate them, etc. Because I am strong at this ability, it is my job to efficiently pack luggage into the vehicle for camping trips. My partner is bad at this, but is much better at phantasia, and is a visual artist who can draw realistic faces.
What I wrote is based on personal experience. I am not selling anything. I know from internet forums that different people have different wiring in their brains. Some people have subjective experiences that other people have never encountered. It is impossible to prove the existence of first-person subjective experiences to a determined skeptic. The best you can do is collect field reports from a lot of people, compare them, find patterns, then make your own conclusions. This is called phenomenology.