HN user

doug-moen

166 karma
Posts0
Comments47
View on HN
No posts found.
Organic Maps 18 days ago

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

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.

Eat Real Food 7 months ago

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.

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.

If Odin Had Macros 10 months ago

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.

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.

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

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?

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.

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.

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.

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.

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

Graphene completely removes Google services in the default install. There is an option to install a sandboxed version of the Google play store, with enhanced privacy and security, but you don't need to install this or any other Google services if you don't want to, and I have opted to keep my Graphene installation Google-free.

There is a disagreement between the Graphene and CalyxOS community about which is more secure/private: Graphene's sandboxed Google play store, or CalyxOS's MicroG. I've read posts advocating for both sides, but I don't have the expertise to have an opinion, and I decided that I don't want either software on my phone, since I don't want to run google code or play store apps.

Although I'm not expert enough to validate the following claims, here's what I've read.

Graphene people claim that MicroG needs elevated privileges to run, privileges that Graphene doesn't grant to any app. MicroG also loads and runs Google code (in a context where that Google code would presumably have access to those elevated privileges). Graphene's version of the play store emulates some APIs without using Google code (for privacy), and sandboxes the Google code that it does run, running it with reduced privileges. This is a security first posture, keeping in mind that if you don't have security then you can lose privacy via exploits of your security holes.

CalyxOS's MicroG emulates a larger fraction of the google play APIs, making it less reliant on google code to operate, and this is the source of the claim that MicroG offers more privacy.