News for hackers. Stuff that matters.

doug-moen

Re:Aphantasia Beginner's Guide on Thursday August 27, 2026 @10:02PM (#49473519)
I have 3 kinds of mental vision.

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.

Re:Donate to GrapheneOS on Tuesday July 28, 2026 @05:45PM (#49090334)
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.

Re:Organic Maps on Sunday July 05, 2026 @04:01PM (#48797473)
One of the routing options in CoMaps is "avoid stairs". Not enabled by default. See ≡ → Settings → Routing Options.

(CoMaps is the open-source, non-profit community fork of Organic Maps.)

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...>

The ability to fake the location on a per-app basis is called "location scopes". It is being worked on, as mentioned here:

https://discuss.grapheneos.org/d/27926-per-profile-location-...

Currently there is a Mock Location feature, but it is globally scoped and not what you asked for.

Re:Zed will require age identification for its services on Tuesday March 03, 2026 @06:08PM (#47240409)
Zed already had terms of use that forbid "reverse engineering" (ie looking at the GPL source code).

Gram is a hard fork that removes the TOS, telemetry and AI, and turns Zed into just a text editor.

https://gram.liten.app/posts/first-release/

Re:Bootc and OSTree: Modernizing Linux System Deployment on Saturday February 28, 2026 @12:28PM (#47197917)
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.
Re:Eat Real Food on Wednesday January 07, 2026 @07:39PM (#46535437)
This is Trump's MAGA diet, a replacement for the lame liberal DEI diet of the Biden administration. Not hyperbole, the web site states all this explicitly if you click through to this link: <https://cdn.realfood.gov/Scientific%20Report.pdf>

The Scientific Report mentions Trump 4 times, so I looked up Trump's diet. Seems he eats a lot of McDonalds takeout and drinks a lot of diet coke. It seems to me that Trump's diet is an exemplary and healthy diet that follows these new recommendations, which prioritizes foods such as beef, oils and animal fat (including full fat dairy) and potatoes. Cheeseburger and fries, and the diet coke avoids added sugar, while promoting hydration. Trump might be prickly about past criticism of his diet; now he can point to these recommendations.

Re:Junk Theorems in Lean on Saturday December 27, 2025 @09:40AM (#46402152)
Yah, I read that and thought "this seems like gibberish: maybe I am reading LLM slop".
Re:Dogalog: A realtime Prolog-based livecoding music environment on Thursday December 18, 2025 @05:05PM (#46319457)
Yes, it was vibe-coded, and the author says they still haven't learned Prolog yet. <https://www.reddit.com/r/livecoding/comments/1pmabwv/dogalog...>
Re:The original ABC language, Python's predecessor (1991) on Friday November 28, 2025 @11:01PM (#46085085)
Lisp has had arbitrary precision arithmetic since the early 1970s. So did dc on Unix, also in the early 1970s. ABC didn't arrive until 1987.
Re:New OS aims to provide (some) compatibility with macOS on Friday November 21, 2025 @08:40AM (#46004498)
no, they are talking about high performance desktops, mostly. They link to the Framework desktop, which has 256 GB/s memory bandwith. For comparison, the Apple Mac Pro has 800 GB/s memory bandwidth. Neither manufacturer is able to achieve these speeds using socketed memory.
Re:If Odin Had Macros on Monday September 29, 2025 @06:26PM (#45419590)
what ginger bill actually said was

> I’d argue that actual closures which are unified everywhere as a single procedure type with non-capturing procedure values require some form of automatic-memory-management. That does not necessarily garbage collection nor ARC, but it could be something akin to RAII. This is all still automatic and against the philosophy of Odin.

C++ doesn't have this feature either. A C++ closure does not have the same type as a regular C-style function with the same argument types and result type. The types of functions and closures are not unified.

And C++ does have RAII, which the author feels is a kind of automatic memory management and against the philosophy of Odin.

So C++ doesn't have the feature G.B. says is impossible. I don't know enough to comment on Ada.

Re:How to draw construction equipment for kids on Tuesday September 23, 2025 @03:40PM (#45351775)
This song and video, Ice Resurfacing Machine, is popular with a young boy I know.

https://www.youtube.com/watch?v=sqci9VCugLs

Re:Bertrand Russell to Oswald Mosley (1962) on Tuesday September 16, 2025 @07:14PM (#45269505)
The long correspondence that you describe (from the 40's to the 60's) was with Gordon Mosley of the BBC, and not with Oswald.

The only letters that Russell personally wrote to Oswald were sent in January 1961.

Re:Titania Programming Language on Sunday September 14, 2025 @09:01PM (#45244974)
from the grammar:

> pointer_type = "^" type.

Didn't Lisp solve this problem in the 1980's with generic functions and multiple dispatch? I'm referring to the Common Lisp Object System (CLOS), and its predecessors, New Flavors and CommonLoops. I see no mention of this prior art in the paper.

CLOS is an object-oriented system, which solves the problem of adding new functions without modifying existing class definitions, by placing generic functions outside of class definitions.

> Netherlands-based Elsevier bans the use of such tools, citing the "risk that the technology will generate incorrect, incomplete or biased conclusions."

That's for peer reviewers, who aren't paid. Elsevier is also reported to be using AI to replace editing staff. Perhaps this risk is less relevant when there is an opportunity to increase profits?

Evolution journal editors resign en masse to protest Elsevier changes. https://retractionwatch.com/2024/12/27/evolution-journal-edi...

discussion. https://news.ycombinator.com/item?id=42528203

If the coyotes breed, then attacks on humans will begin as the coyotes will instinctively defend their cubs from humans who get too close to the den, even unwittingly. It would be better to remove the coyotes before this happens.
The quality of your water varies with the district you live in. My municipal water provider puts chloramine in the water to kill bacteria. Occasionally we get high levels of chloramine, which is disgusting (smell and taste), but the water filter removes it. Occasionally they flush the pipes, which turns the water red, which is mentally disturbing, but the water filter removes the rust.

So while it's important to me that my municipal water is technically safe to drink, I still have a better experience with my drinking water when I use a filter. While it's amusing that this technical expert considers rust-red water to be "delicious", do they have family members, or friends that visit and consume beverages, and do these other people get to have an opinion?

Re:What If We Made Advertising Illegal? on Saturday April 05, 2025 @03:20PM (#43596093)
Advertising was originally illegal on the internet. It was for non-profit activities only (university and industrial research and educational activities). When the world wide web first deployed in 1989, web advertising was illegal. The rules changed some time in the early 1990's.

I do remember a major scandal that occurred in the 1980's when somebody posted an advertisement to usenet. At the time, there was a lot of online discussion about why this was prohibited. I looked this up, and found that the internet backbone (the NSFNET) was funded by the NSF, who enforced an acceptable-use policy, prohibiting Backbone use for purposes “not in support of research and education.” [https://dl.acm.org/doi/pdf/10.1145/253671.253741]

So yes, it's possible, because we already did it once.

Re:Things I Won't Work With: Dioxygen Difluoride (2010) on Monday March 31, 2025 @09:55AM (#43535108)
The page is archived, and it is a fun read: https://web.archive.org/web/20111229065146/http://www.latera...
It's true, there is no absolute direction for which way a wheel spins. It's relative to the observer.

If you are standing on the side of a road, and a bicycle goes by, then you may observe the wheels to rotate clockwise, while an observer on the other side of the road will observe the same wheels to rotate counter-clockwise.

The sun is said to rotate around the centre of the milky way galaxy once every 225 million years. Over that time frame, some of the galaxies we observe will flip between clockwise and counterclockwise rotation as our viewpoint changes.

But that isn't relevant here. The Space article is too vague and handwavy to make any conclusions about the research, and should be ignored. Only the original scientific paper is worth reading: https://academic.oup.com/mnras/article/538/1/76/8019798?logi...

Section 5.2 "Physics of Galaxy Rotation" seems particularly relevant.

> due to the Doppler shift effect galaxies that rotate in the opposite direction relative to the Milky Way are expected to be slightly brighter than galaxies that rotate in the same direction relative to the Milky Way. Therefore, more galaxies that rotate in the opposite direction relative to the Milky Way are expected to be observed from Earth, and the difference should peak at around the Galactic pole. That observation is conceptually aligned with the empirical data of Fig. 10, and the observation using JADES described in Section 3.

You should read the paper for the full argument.

> You surely aren't advocating that hardware predating PDP-11 for a decade are more powerful.

That's correct. The PDP-11 used for the first Unix system had 24KBytes of memory, and no virtual memory. The kernel and the current running process had to both fit in 24KB. This PDP-11 minicomputer was vastly underpowered compared to ten year old mainframes (but was also far less expensive). The ability of Unix to run on such underpowered (and cheap) machines was a factor in its early popularity.

BCPL was first implemented on an IBM 7094 running CTSS at Project Mac at MIT. This was one of the most powerful mainframes of its era. It had 12× the memory of the Unix group’s PDP-11, plus memory protection to separate kernel memory from user memory. One of the historical papers about C noted that a BCPL compiler could not be made to run on the PDP-11 because it needed too much memory. It needed to keep the entire parse tree of a function in memory while generating code for that function. C was designed so that machine code could be generated one statement at a time while parsing a function.

Re:Orbit Spirograph (2019) on Thursday January 23, 2025 @05:56PM (#42808937)
I knew that Venus mostly moves in one direction across the sky, but occasionally has "retrograde" movement where it temporarily moves "backwards". This spirograph model is a wonderful explanation of why that happens.
Re:DivestOS ROM shuts after ten years on Friday December 27, 2024 @10:24PM (#42528307)
I get my apps from F-Droid, which guarantees that the apps are open source, free of most "unwanted features" (ie, not malware), and don't depend on google play APIs. Apps written to the F-Droid standard don't use Google Play APIs for notifications. I acknowledge that most people want to run closed source apps from the google play store, but I consider those apps untrustworthy, and what I do won't work for most people.

The specific privilege that MicroG wants and that GrapheneOS doesn't allow is the ability to spoof the signatures of other apps. GrapheneOS runs the Google Play APIs in a sandbox, and this sandbox allows push notifications to work, so that's not the problem with MicroG from a GrapheneOS perspective.

Re:DivestOS ROM shuts after ten years on Friday December 27, 2024 @07:39PM (#42527478)
You can buy a Pixel 9 with GrapheneOS preinstalled from here: https://shop.nitrokey.com/shop/nitrophone-5-723

I have no relationship with Nitrokey but they seem to be a legit open-source company in Germany, with a github account. I do run GrapheneOS and I recommend it. GrapheneOS is fully open source (from the kernel up) and free of google services in the default install. No "spam" IMO, but it does notify you when a security update is installed (which requires a reboot).

Older »