HNHacker News
TopNewBestAskShowJobs

astrobe_

2,261 karma · joined October 1, 2011

submissionscomments
astrobe_··on France Launches Government Linux Desktop Plan as Windows Exit Begins
There's a negligible amount of "power users" among government employees; I think the majority of them are trained in reading and applying laws, and given the strong scientific/literary divide in the French culture, they usually think of themselves as inapt with computers (and the erratic behavior of MS products didn't help, if you ask me).

But knowing France, what to really worry about is execution, in particular for administrations. Probably people working there who read the TFA already think "oh, big mess incoming" even though they don't know what this "Linux" thing is.

I think standard IT/sysadmin training focuses mainly on Windows server etc., Linux being a second class citizen (because that's what the vast majority of small/mid sized businesses use). So recruiting good Linux sysadmins could be an issue, especially since the wages in government agencies are not exactly attractive.

astrobe_··on Microsoft terminates VeraCrypt account, halting Windows updates
Frankly: that's stupid. In case you didn't figure it out, I work in the field and I can tell you that this is was not the mindset at the places where I worked.
astrobe_··on Microsoft terminates VeraCrypt account, halting Windows updates
Well, that's a different market. What I say is that there are markets in which customers wants to be sure that the firmware is from "us".

And those markets are certainly not IoT gizmos, which I suspect induce some knee-jerk reactions and I understand that cause I'm a consumer too.

But big/serious customers actually look at the wealthiness of the company they buy from, and would certainly consider running their own firmware on someone else's product; they buy off-the-shelf products because it's not their domain of expertise (software development and/or whatever the device does), most of the times.

astrobe_··on Microsoft terminates VeraCrypt account, halting Windows updates
Yes, BIOS is really a PC-thing, AFAIK. Embedded processors have "bootloaders" which often serve a similar purpose of performing the minimal viable hardware initializations in order to load the OS kernel.
astrobe_··on Microsoft terminates VeraCrypt account, halting Windows updates
I don't know about executable signing, but in the embedded world SecureBoot is also used to serve the customer; id est provide guarantees to the customer that the firmware of the device they receive has not been tampered with at some point in the supply chain.
astrobe_··on Neanderthals survived on a knife's edge for 350k years
One thing that confused me in TFA is that it says that "[neanderthals were] maybe a couple of thousand breeding individuals", yet they were enough to inter-breed with sapiens at some point(s) [1]. In my mind, tribes of "far-flung populations of just a few dozen individuals" would be shy and difficult to find.

[1] https://en.wikipedia.org/wiki/Neanderthal_genetics

astrobe_··on French e, è, é, ê, ë – what's the difference?
Ambiguë (ambiguous) and aiguë (acute) [1], but these are "old" spellings.

For instance, this word "ambiguë" was changed in the 1990 spelling reform to "ambigüe" [2] probably to emphasis the fact that the U is not mute (because for most -gue words it is, like for "fatigue" in french and english).

Like with ï and ü, the tréma mark is precisely the mark of an exception.

[1] https://fr.wiktionary.org/wiki/ambigu%C3%AB , https://fr.wiktionary.org/wiki/aigu%C3%AB

[2] https://en.wiktionary.org/wiki/ambig%C3%BCe

astrobe_··on Debunking Zswap and Zram Myths
> It only really makes sense for extremely memory-constrained embedded systems

Even "mildly" memory constrained embedded systems don't use swap because their resources are tailored for their function. And they are typically not fans [1] of compression either because the compression rate is often unpredictable.

[1] Yes, they typically don't need fans because overheating and using a motor for cooling is a double waste of energy.

astrobe_··on France's aircraft carrier located in real time by Le Monde through fitness app
Interesting point. On one hand they probably don't care if everyone knows where the carrier is (actually I'm pretty sure every military power knows where the other powers' military is), on the other hand from a "good practices" perspective, it doesn't look good.

Would it just be virtue signaling, or is there more to it?

astrobe_··on France's aircraft carrier located in real time by Le Monde through fitness app
It's pretty hard to hide it from anything. Its surface is ~17000 m² (a tennis court is ~260 m²), and is 75 m high (~ 25 floors building - probably half of it under water, but still). And that's a mid-sized carrier according to Wikipedia.

It's not built for hiding at all, that's what submarines are for (and that's where our nukes are).

astrobe_··on Rob Pike's Rules of Programming (1989)
Data cache issues is one case of something being surprising slow because of how data is organized. That said, Structure of Arrays vs Array of structures is an example where rule 4 and 5 somewhat contradict each other, if one confuses "simple" and "easy" - Structure of Array style is "harder" because we don't see it often; but then if it's harder, it is is likely more bug-prone.
astrobe_··on Yoghurt delivery women combatting loneliness in Japan
> The only downside was anything you shared with her would be spread in the entire village before dawn

It's a better service than FB or Instagram that depress because people only show their good sides there... As you said, she was an essential part of the community ;-)

astrobe_··on Nobody gets promoted for simplicity
The problem simplicity is facing is mentioned in TFA with the keyword "future-proof", which is the typical instance of FUD in software. It is extremely difficult to fight against it, as, just like fake news, it would take 10 times more effort to debunk it than to make it. Yes, you spell out the cost of the additional layer, but it is invariably answered with "that's not so expensive", and risk aversion does the rest.
astrobe_··on SwiftForth IDE for Windows, Linux, macOS
You're welcome. Actually, Forth doesn't have forward declarations as a "direct" feature, but it has what I would call "function values", which can be used like functions and changed almost like variables [1]. This is used for all kind of things, including forward declarations because otherwise some recursive algorithms would be very painful to write if not impossible. It's still not ideal because it is an unnecessary indirection.

It could have message passing by doing what I described earlier, like you would do in C by having a switch-case function that dispatches messages to dedicated routines. It would even be easier because there's no type checking, and more specifically no function signatures.

That's something one could do in specific cases where it is advantageous, but otherwise I would say it is "anti-idiomatic" for Forth. In particular, although Forth has no problem with variadic functions and multiple returns, including variable number of results [2], it is discouraged.

Forth is generally trying hard to push things from run-time to compile-time, and Chuck Moore was very pleased to find a way to push things from compile-time to edit-time with ColorForth [3]: the user, by switching the colors of tokens, tells the system what it should do with it: compile it, or execute it right now, or do nothing because it is comment.

[1] https://forth-standard.org/standard/core/DEFER

[2] https://forth-standard.org/standard/core/qDUP

[3] https://colorforth.github.io/cf.htm

astrobe_··on SwiftForth IDE for Windows, Linux, macOS
In communication protocols, you typically send a symbol which tells the receiver the meaning and the syntax of the message, and then the data attached to the message. In technical terms, messages belong to different application protocol data units ("APDU"). The receiver typically uses the APDU symbol (which can be just e.g. a byte) to dispatch the message internally to the right processing routine.

Message passing in OOP is the same thing, and it's ultimately about late binding. Late binding has, indeed, as much presence as dynamic typing in Forth, contrary to other scripting languages like Lisp or Lua where they are cornerstones, so to speak. Forth is firmly in the early binding camp, to the point that it does even know forward declarations [1]. Forth programmers won't do anything unnecessary, and so they expect their system won't do anything they don't need.

[1] Many scripting languages realized that skipping declarations to be "user-friendly" was a big design mistake and eventually implemented some sort of "strict" mode that became the de facto default. So they have two language features that cancel each other...

astrobe_··on SwiftForth IDE for Windows, Linux, macOS
> Object-oriented Forth? Far out.

The cost is stupidly high, though. Look at the source code of [1].

The only good page to take from OOP book is the automatic and implicit pseudo-variable "self" or "this", that can reduce stack juggling significantly. I've implemented that in my (yet to be published) dialect and it works like a charm. In my experience, you can have that for cheap and anything more is not worth it from the point of view of a byte-counting Forth programmer.

[1] https://vfxforth.com/flag/swoop/index.html

astrobe_··on SwiftForth IDE for Windows, Linux, macOS
This is made by the company the inventor of the language created. Then he left it because Forth, inc. needed the language to be standardized, which wasn't his idea of Forth and, his point of view is that he solved the software problems and what was left was solving the hardware problems, so he moved to working on stack-based processors.

Swift Forth is literally a professional Forth and is well regarded. The other often recommend Forth is the FOSS GForth. They are good for starting because they are popular and standard, so you'll find help easily.

Other "smaller" Forth are often non-standard dialects and are more-or-less mature experiments.

astrobe_··on Arrays in Forth
There's none. It's kind of like the "hello world" or "empty program" example for arrays.

What this page shows is that the CREATE ... DOES> construct is similar to a closure, except it can only capture one address (or reference in languages that don't want you to dirty your hands with addresses ;-) and it is always a global symbol (like almost always in Forth). It is still useful to encapsulate implementation details, though. Some people have said it is a basis for objects, which is a bit euphoric IMHO. You know, "closures are the poor man's objects, and objects are the poor man's closures".

astrobe_··on Zero-day CSS: CVE-2026-2441 exists in the wild
The CVE itself only lists Chrome as the "affected software configuration", and I missed the line saying other browsers in the blog post, so I had a slight doubt. Other projects could use a drop-in replacement lib for the CSS, that's something one sees sometimes for other things (e.g. crypto libs - some projects have compile-time options ready for this).
astrobe_··on Zero-day CSS: CVE-2026-2441 exists in the wild
This doesn't affect the many browsers based on Chromium?
astrobe_··on planckforth: Bootstrapping a Forth interpreter from hand-written tiny ELF binary
It sounds like OKAD [1].

In my very modest experience, I once wrote a system that I could boot from a floppy, edit, then recompile. For this I needed to make an assembler, or rather I was willing to meet the challenge of writing an assembler for the 8086, which was notoriously difficult (not really for the subset I needed, which did not include the complex addressing modes for one thing).

When it came to writing the changes on the floppy I was very scared to trash my hard disk (writing to HD or floppy was just a value in a register when you use the BIOS API), but fortunately I found an old Toshiba laptop that had an external power-on switch for the hard disk! That thing was running at 10 Mhz in "turbo" mode!

Bottom line: I spent a lot of times reading the ISA specs, write the assembler in Forth, and compare/check its output with an actual assembler. It would have been more efficient to enter directly the instructions in hex, I think, except maybe for the boot sector.

[1] https://www.ultratechnology.com/okad.htm

astrobe_··on The EU moves to kill infinite scrolling
France is considering a ban on certain social media for minors, and parental consent on all social media for minors under 15, pretty much like Australia. They had work around EU laws that prevented them to force service providers to do things, the trick they used is to make it illegal for those services to let minors register on the platform, because EU law acknowledge that local laws on forbidden content apply.

If this law passes and they "blacklist" some of these design-for-addiction (sorry, "engagement") platforms, I believe it should send a strong signal for adults as well. Most adults are pretty much aware that these platforms are bad for everyone; according to some polls, the public opinion is unambiguously in favor of these laws.

astrobe_··on An AI agent published a hit piece on me
One use of AI is classification. A technology which is particularly interesting for e.g. companies that sell targeted ads spots, because this allows them to profile and put tags on their users.

When AI started to evolve from passive classification to active manipulation of users, this was even better. Now you can tell your customers that their ad campaigns will result in even more sales. That's the dark side of advertisement: provoke impulsive spending, so that the company can make profit, grow, etc. A world where people are happy with what they have is a world with a less active economy, a dystopia for certain companies. Perhaps part of the problem is that the decision-makers at those company measure their own value by their power radius or the number of things they have.

Manipulative AI bots like this one are very concerning, because AI can be trained to have deep knowledge of human psychology. Coding AI agents manipulate symbols to have the computer do what they want, other AI agents can manipulate symbols to have people do what someone wants.

It's no use to talk to this bot like they do. AI doesn't not have empathy rooted in real world experience: they are not hungry, they don't need to sleep, they don't need to be loved. They are psychopathic by essence. But it is as inapt as to say that a chainsaw is psychopathic. And it's trivial to conclude that the issue is who wields it for which purpose.

So, I think the use of impostor AI chat bots should be regulated by law, because it is a type of deception that can, and certainly already has been, used against people. People should always been informed that they are talking to a bot.

astrobe_··on FORTH? Really!?
I didn't finish my second sentence: not only the stack is a central element in the design of Forth, it also has 2 of them: data stack and return stack. the return stack is also used directly by programmers.
astrobe_··on FORTH? Really!?
> It has a stack but the stack is an implementation detail, not a robust abstraction.

Not exactly. Not only the stack is central in the design of Forth (see my comment over there [1]).

It seems to me that a point-free language like Forth would be highly problematic for an LLM, because it has to work with things that literally are not in the text. I suppose it has to make a lot of guesses to build a theory of the semantic of the words it can see.

Nearly every time the topic of Forth is discussed on HN, someone points out that the cognitive overload* of full point-free style is not viable.

[1] https://news.ycombinator.com/item?id=46918824#46921815

astrobe_··on Show HN: R3forth, a ColorForth-inspired language with a tiny VM
Forth should be considered a family of languages; Anton Ertl took its picture some time ago [1].

Chuck Moore agrees I think with the idea [2]:

That raises the question of what is Forth? I have hoped for some time that someone would tell me what it was. I keep asking that question. What is Forth?

Forth is highly factored code. I don't know anything else to say except that Forth is definitions. If you have a lot of small definitions you are writing Forth. In order to write a lot of small definitions you have to have a stack. Stacks are not popular. Its strange to me that they are not. [...]

What is a definition? Well classically a definition was colon something, and words, and end of definition somewhere.

    : some ~~~ ;
I always tried to explain this in the sense of this is an abbreviation, whatever this string of words you have here that you use frequently you have here you give it a name and you can use it more conveniently. But its not exactly an abbreviation because it can have a parameter perhaps or two. And that is a problem with programmers, perhaps a problem with all programmers; too many input parameters to a routine. Look at some 'C' programs and it gets ludicrous. Everything in the program is passed through the calling sequence and that is dumb.

[1] https://www.complang.tuwien.ac.at/anton/euroforth/ef04/ertl0...

[2] https://www.ultratechnology.com/1xforth.htm

astrobe_··on 1 kilobyte is precisely 1000 bytes?
... And a hacker is precisely a cyber-criminal.
astrobe_··on CERN accepts $1B in private cash towards Future Circular Collider
Then the mystery is how the CERN "raised" those $1B. Maybe they have an amazing PR department? Or maybe the project is going to be such a huge success that they are acting from the future [1]?

[1] https://en.wikipedia.org/wiki/Steins;Gate_(TV_series)

astrobe_··on CERN accepts $1B in private cash towards Future Circular Collider
Sometimes you get huge value from things you didn't expect ;-)
astrobe_··on Peerweb: Decentralized website hosting via WebTorrent
What were your plans for advertising website updates? Classic RSS feed or something else?
← PreviousPage 4 of 34Next →