HNHacker News
TopNewBestAskShowJobs

rzwitserloot

2,746 karma · joined May 25, 2007

Programmer and Entrepreneur.
submissionscomments
rzwitserloot··on RegEx Crossword
BIG EDIT:

Because it's so trivially unsolvable, I had a quick look at the posted solution.

We're reading it wrong.

Take the first regex on the top row, one you included in your example:

[^X]*(DN|TE|NI)

You're supposed to fill that in from the bottom to the top.

In other words, the first letter goes immediately to the right of [^c]*[^R]*III.* - that square has to be a 'not X'. The hex immediately below it has to be an E, I, or N.

rzwitserloot··on EuroLLM: LLM made in Europe built to support all 24 official EU languages
Not sure what happened there but your link disproves your statement.

Specifically, the link says two things:

1. That 2 parties want to add *limburgish* to the list, not frisian. That's the bottom-right part of The Netherlands, about as far removed from Friesland as you can get (which is the top part of the Netherlands).

2. That one party wants to add Frisian, but, that is a one-day fly party that will cease to exist in a few hours as they will get 0 seats in this election and will presumably call it a day right after. It was a party founded to support one person and that person has quit due to workstress, and is highly unlikely to return as this _was_ his return. Their opinion used to be relevant as they had 13.3% of the seats this past session (and didn't exist before it). But, it isn't here.

rzwitserloot··on A Clausewitzian lens on modern urban warfare
important context: That gas is theoretical/unproduced. You need to dig lots of wells first.

Even there I don't really see it. I agree that it was intended as an easy land grab (and I guess, after Hostomel failed, they should have pulled the plug on the SMO then and there and accept the consequences). But the reasons don't make sense.

In particular, that gas thing:

Gas is on the way out. Clearly so. Even during the cuban missile crisis, with everything that was going on, the flow through the pipelines of russian gas to west germany never stopped. It wasn't even considered.

The west totally distrusted russia for good reason. They spent 20 years being a reliable supplier to build up that trust and they finally managed to get it.

And then they toss it out the window like it was nothing even before the 2022 Ukraine invasion.

I think the reason is clear: EU keeps saying it wants to wean itself off of gas in the next 15 years or so. What possible value does this trust relation have if the EU is no longer interested in buying gas at all?

Then either way Russia's grab is nonsensical:

* Either they understand gas's future (as in, 10 to 30 years from now) is highly limited, and this land grab never made any sense; it won't come online in time and the SMO further incentivises EU to divest. Even if the SMO worked out, there'd be some incentive (it did not work and the EU massively divested. They still buy russian gas but are going at an astronomical pace compared to 1970-2010 reliance on russian gas which increased even in the middle of a cold war and crises!)

* Or they do not believe it'll end, in which case that trust relationship is very important, in which case they screwed up the plan when they used their relationship with the EU as supplier-of-gas a bargaining chip even before the failed SMO.

Either way Russia messed this up badly.

Add to that: The ones essentially paying the bill for this war are the oligarchs. The relative rates of richness between the russian plebs and the oligarchs has swung massively towards the plebians. The government is printing rubles nonstop and the average salary of russians has skyrocketed. That, obviously, 'costs' the oligarchs. Their rubles are worth far, far less. Already today and that won't change anytime soon.

Possibly the oligarchs were assuming the SMO would work out, but, "the russian elites dont care and wanted this" - okay, but that means they are idiots then, as this did not at all work out in their favour.

I think it's a lot simpler: Putin is in control, not the oligarchs. Haven't been for a while. As he ages he wants to leave a mark and thinks his reign was best summarized as "carefully shepherding Russia through its terminal decline, down from the days of the USSR" and didn't like the look of that epitaph... and massively underestimated the difficulty of the SMO.

There's nothing more to it.

rzwitserloot··on Rating 26 years of Java changes
> But ... LocalDate predated records by 6 years?

Yes, exactly - now you're getting it. Or rather I get the feeling I failed to explain it well.

ArrayList predates generics.

However, ArrayList does have generics.

That's because generics were added to the language in a 'culturally backwards compatible' way: Existing libraries (i.e. libraries that predate the introduction of generics, such as ArrayList) could modify themselves to add support for generics in a way that is backwards compatible for the library: Code written before they added it continues to work and compile fine even against the new release that added generics.

The same principle applied to records would mean that LocalDate could have been updated to turn into a record in a way that is backwards compatible.

And it really works that way.. almost. You really can take an existing class (defined with `class`) and change it into a record (defined with `record`) and all existing code continues to work just fine. However, this means all your properties now neccessarily get an accessor function that is named after the property. And that is a problem for LocalDate specifically: It already has accessors and they are named e.g. `getYear()`. Not `year()`. That means if LocalDate were to be rewritten as a record, one of two very nasty options must be chosen:

* Break backwards compatibility: As part of upgrading code you must change all calls to `.getYear()` into calls to `.year()`. It's a total ecosystem split: Every dependency you use comes in 2 flavours, one with calls to getYear and one with year, and you must use the right ones. This is truly catastrophic.

* Have both methods. There's year() and also getYear() and they do the same thing. Which is the lesser evil by far, but it makes very clear that LocalDate predates `record`. Contrast to ArrayList: It is not all that obvious that ArrayList predates generics. It does, but if you were to design ArrayList from scratch after generics are introduced you'd probably make the same code. Maybe the signature of `remove` would have been `remove(T)` instead of the current `remove(Object)`.

Instead, obviously then, the best choice is to not make it a record. And that's my point: The best possible (possibly here perfection is the enemy of good, but, I'd have done it differently) way to deploy records would have included some way for localdate to turn into a record without the above dilemma.

Perhaps simply a way to explicitly write your accessors with some marker to indicate 'dont generate the default `year()` - THIS is the accessor for it'.

Had that feature been part of record, then LocalDate could have turned into one in a way that you can't really tell.

rzwitserloot··on Rating 26 years of Java changes
> For example they used checked exceptions.

Those are from java 1.0 and thus don't appear to be relevant to the part of the discussion I think this part of the thread is about (namely: "Why doesn't java crib well designed features from other languages?").

> Java went with checked exceptions and nowadays they are almost universally ignored by developers.

They aren't.

Note that other languages invented for example 'Either' which is a different take on the same principle, namely: Explicit mention of all somewhat expectable alternative exit conditions + enforcing callers to deal with them, though also offering a relatively easy way to just throw that responsibility up the call chain.

The general tenet (lets lift plausible alternate exit conditions into the type system) is being done left and right.

rzwitserloot··on Rating 26 years of Java changes
OpenJDK redesigns massive swaths of the compiler every other month.

The true explanation, at least the way OpenJDK says it, is that designing language features is more complex than a casual glancer can fathom, and there's 30 years of "Java is in the top 5 most used languages on the planet, probably #1 especially if focussing on stuff that was meant to be supported for a long time" to think about.

From personal experience, essentially every single last "Just do X to add (some lang feature) to java; languages A and B do it and it works great!" would have been bad for java. Usually because it would cause a 'cultural split' - where you can tell some highly used library in the ecosystem was clearly designed before the feature's introduction.

Even if you introduce a new feature in a way that doesn't break existing code, it's still going to cause maintainability headaches if you've cornered the pillars of the ecosystem into total rewrites if they want to remain up to date with the language. Because they will (or somebody will write an alternative that will) and you've _still_ 'python 2 v python 3'd the language and split the baby in the half.

For what its worth, I think the OpenJDK team doesn't take this seriously enough, and a number of recently introduced features have been deployed too hastily without thinking this through. For example, `LocalDate`, which has 'this should be a record' written all over it, is not a record. Or how the securitymanager is being ditched without replacements for what it is most commonly used for here in the 2020s. (To be clear: Ditching it is a good idea, but having no in-process replacement for "let me stop attempts to access files and shut down the JVM, not for security purposes but simply for 'plan B' style fallback purposes" - that's a bit regrettable).

I'm nitpicking on those points because on the whole OpenJDK is doing a far better job than most languages on trying to keep its ecosystem and sizable existing codebase on board _without_ resorting to the crutch of: "Well, users of this language, get to work refactoring everything or embrace obsoletion".

rzwitserloot··on Rating 26 years of Java changes
That's not how the OpenJDK sees things. They tend to think that the features they deliver are at best mildly informed by other languages. Not out of some sense of hubris, but out of a sense of pragmatics: Simply copy and pasting features from other languages into java - that would produce a frankenstein.

For example, java is somewhat unique in having lambda syntax where the lambda *must* be compile-time interpretable as some sort of 'functional type' (a functional type being any interface that defines precisely 1 unimplemented method). The vast, vast majority of languages out there, including scala which runs on the JVM, instead create a type hierarchy that describe lambdas as functions, and may (in the case of scala for example) compile-time automatically 'box'/'cast' any expression of some functional type to a functional interface type that matches.

Java's approach is, in other words, unique (as far as I know).

There was an alternate proposal available at the time that would have done things more like other languages does them, completely worked out with proof of concept builds readily available (the 'BGGA proposal'). The JVM would autogenerate types such as `java.lang.function.Function2<A, B, R>` (representing a function that takes 2 arguments, first of type A second of type B, and returns a value of type R), would then treat e.g. the expression:

`(String a, List<Integer> b) -> 2.0;`

As a `Function2<String, List<Integer>, Double>`, and would also 'auto-box' this if needed, e.g. if passing that as the sole argument to a function:

``` void foo(MyOperation o) {}

interface MyOperation { Double whatever(String arg1, List<Integer> arg2); } ```

This proposal was seriously considered but rejected.

The core problem with your comment is this:

Define the terms "polished" and "elegant". It sounds so simple, but language features are trying to dance to quite a few extremely different tunes, and one person's 'elegance' is another person's 'frankensteinian monster'.

The same mostly goes for your terms "beauty" and "charm", but, if I may take a wild stab in the dark and assume that most folks have a very rough meeting of the minds as to whatever might be a "charming" language: I know of no mainstream long-term popular languages that qualify for those terms. And I think that's inherent. You can't be a mainstream language unless your language is extremely stable. When you're not just writing some cool new toy stuff in language X - you're writing production code that lots of euros and eyeballs are involved in, and there's real dependence on that software continuing to run, then you __must__ have stability or it becomes extremely pricey to actually maintain it.

With stability comes the handcuffs: You need to use the 'deprecation' hammer extremely sparingly, essentially never. And that has downstream effects: You can't really test new features either. So far I have not seen a language that truly flourishes on the crutches of some `from future import ...` system. That makes some sense: Either the entire ecosystem adopts the future feature and then breaking _that_ brings the same headaches, or folks don't use these features / only for toy stuff, and you don't get nearly the same amount of experience from its deployment.

Said differently: If java is a frankenstein, so is Javascript, C#, Python, Ruby, Scala, and so on. They have to be.

I'd love to see a language whose core design principles are 100% focussed on preventing specifically that. Some sort of extreme take on versioning of a language itself that we haven't seen before. I don't really know what it looks like, but I can't recall any language that put in the kind of effort I'd want to see here. This is just a tiny sliver of what it'd take:

* The language itself is versioned, and all previous versions continue to be part of the lang spec and continue to be maintained by future compilers. At least for a long time, if not forever.

* ALL sources files MUST start with an indication about which version of the language itself they use.

* The core libraries are also versioned, and separately. Newer versions are written against old language versions, or can be used by source on old language versions.

* The system's compilers and tools are fundamentally operating on a 'project' level granularity. You can't compile individual source files. Or if you can, it's because the spec explains how a temporary nameless project is implied by such an act.

* All versions ship with a migrator tool, which automatically 'updates' sources written for lang ver X to lang ver X+1, automatically applying anything that has a near-zero chance of causing issues, and guiding the programmer to explicitly fixing all deprecated usages of things where an automated update is not available.

* The language inherently supports 'facades'; a way for a library at version Y to expose the API it had at version X (X is older than Y), but using the data structures of Y, thus allowing interop between 2 codebases that both use this library, one at version X and one at version Y.

That language might manage the otherwise impossible job of being 'elegant', 'simple', 'mainstream', 'suitable for serious projects', and 'actually good'.

rzwitserloot··on Ohno Type School: A (2020)
This could have easily been a youtube short or whatever 'vine offshoot' is your particular favourite flavour.

On one hand, videos are terrible for accessibility. On the other hand, by being a website, in theory this stands a better shot. And yet, someone on a mobile phone probably has a much worse experience trying to consume this content than the equivalent as a series of shorts, one for each letter.

I don't know what conclusions we are meant to draw. I just found it an interesting realisation.

rzwitserloot··on Nobel Peace Prize 2025: María Corina Machado
She managed to convince a people of a country that has been entrenched in authoritarianism that the vote was rigged without using violence.

Imagine one day we wake up after the usual yawn-inducing sham elections in Russia and Putin won as usual but a large chunk of the country, probably a plurality of it, is utterly convinced that it was completely fake and that Navalny won.

Without anybody using violence to do it.

Those who think there is nothing to be done but to counter authoritarianism without another authoritarian, or violence, or just to give up and suffer it - might be inspired by this.

I'm not the NNC but that seems like a "meaningful accomplishment".

You could ask: "Sure, allright, the populace was convinced that election was a sham. But... Maduro is still in power so she still hasn't done much". Let me flip it around, perhaps: What did Gandi ever actually accomplish? Isn't it the same thing: Show that violence is not a necessary element, get the people to reframe the situation a bit?

Can we prove Gandi sped up the UK's exit? Even if we can, one of those holocaust level holy heck humanity can get extremely dark moments in history that is rarely talked about is the absolute terror that occurred during the split of the Raj into India and Pakistan.

My point is: Judging the eligibility of a person for a peace prize on the basis of 'measurable meaningful accomplishment' is not how it works and probably shouldn't be how it works. It's either a bullshit prize (kissinger got one...) or it is like making a statue of somebody: It takes a person, turns them into a principle or ideal. Even though humans are much more complex than that.

The notion of "one is capable of being in opposition in an autocratic regime and get stuff done without resorting to violence" got a peace prize, but as per the dictat of Alfred Nobel, only people can get it, so, they stuck the label "Maria Corina Machado" on it. And that wasn't a bad labelling: She really did accomplish 'meaningfully' that goal, at least, I'd gather according to most folks' definition of the word 'capable'.

rzwitserloot··on A Clausewitzian lens on modern urban warfare
My comment originally contained something along the lines of "When the invasion of hostomel failed, they should have ended their operation on the spot" but that felt too presumptuous.

But perhaps it did inform my sense that this war is such a shambles. Because of what Moscow must be thinking about what could have been and how close they came.

I disagree with the 'plight of commoners' comment, though.

This war is being paid by the oligarchs. The printers are printing rubles nonstop and sending them to the commoners. It's not like the russian economy is creating that value (quite the opposite; it's bleeding value). That means the massive amounts of rubles that the oligarchs hold are worth way, way less now. Also a bunch of them have flown out windows.

The plight of the oligarchy that has supported this regime for decades doesn't seem "irrelevant to the tsars" to nearly the same level. There's the sense that the regime has shown they can screw over the oligarchy without repercussion and that can be considered 'a success', but I'm guessing there will be repercussions. Just, now right now, the populace presumably likes the situation partly because they are now much richer (at the cost of the oligarchy) than before. But once this war ends, or drags on too long and the economy collapses due to it - I think we're going to be back to this being a total failure of an operation for the tsars.

rzwitserloot··on A Clausewitzian lens on modern urban warfare
> Debatable

This war either ends eventually or we move back to 'there are clear questions about what is going to happen to the stability of the regime' territory.

And when it ends we... also move back to that.

Probably, anyway. I have no crystal ball and you make a good point; the regime has enjoyed nearly 4 years out of stability out of this, that's a win of some sorts.

rzwitserloot··on A Clausewitzian lens on modern urban warfare
That sounds like "the leg amputation operation was a success, other than the fact that the patient died on the operating table". That "except" is doing rather a lot of heavy lifting.

I have absolutely no idea what Russia was expecting from their three day special military operation, currently on 3 years, 7 months, and 2 weeks. But surely whatever they were thinking, if I could go back in time and paint them a picture of how the situation is today, they'd jump out the window (or be 'helped' out of them, as appears to be a popular pastime in Moscow this decade). This has to be on the levels quite near 'worst than our worst case scenario'.

I think Von clausewitz's revenge on the russian plan for Ukraine hasn't even begun yet. If Russia ends up wanting to turn lands they currently occupy in lands they annexed (a land that is productive and well on its way to just being culturally subsumed), the cost of that operation will be even larger than the astronomical cost they are paying to gain them: Their utter disregard for Clausewitzian planning means it'll be one heck of an insurgency.

Unfortunately, Russia is one of the most ruthless countries in this regard and will simply massively replace the population, starve it out, or otherwise eliminate any odds of low morale amongst the populace or active insurgency by simply replacing the entire population.

But that also destroys all inherent economic productivity other than natural resources. Russia already has plenty of land and plenty of resources; what they need is more people in general and productive, creative members of society in particular, neither of which you can make happen by starving a population that hates you for how you fought that war and still holds out hope they can drive you out.

rzwitserloot··on Synology reverses policy banning third-party HDDs
It's an interesting lesson.

I think I do get it. This is one of those rare cases where:

* This interpreation is understandable: 'this is a ridiculous cash grab, this single act says so much about the attitude of this company that the right answer for consumers is to run for the hills, and for those who work there to start looking for the exit'.

* ... but perhaps not: I can totally see it; the cost of the process is much higher than the hardware here. Adding a tiny extra cost with the aim of allowing synology to offer more integration is presumably worth it. Also, scams with harddisks are rife (written-off heavily used old disks being resold as brand new) and synology is trying to protect their customers. I think it's a bit misguided, but there is an explanation available that has little to with 'cash grab / enshittification' principles.

Giving them the benefit of the doubt: Even if you know you're right, if you're dependent on others understanding that you're right, then you either [A] do a fantastic job on explaining the necessity of your actions and keep plugging away at it until you're sure you got that right or [B] you. can't. do. it.

So they still messed up, and the damage is now done.

If indeed this is the explanation (they messed up on communication but they had honest intentions so to speak) I'd hope they can now fix it, take their lumps, and survive.

But if not, yes, the well respected staff will leave and they'll end up being another crappy company that primarily serves as a reference for the dictionary definition of "enterprise software". Expensive and shit.

rzwitserloot··on Oh no, not again a meditation on NPM supply chain attacks
I see two ways to fight supply chain attacks:

* The endless arms race.

But, nevermind. It's been 2 years since Jia Tan and the amount of such 'occurrences' in the npm ecosystem in the past 10 years are bordering on uncountable at this point.

And yet this hack got through? This amateuristic and extremely obvious attempt? The injected function was literally named something like 'raidBitcoinEthWallet' or whatnot.

npm has clearly done absolutely nothing in this regard.

We haven't even gotten to the argument of '... but then hackers will simply use the automated tools themselves and only release stuff that doesn't get flagged'. There's nothing to talk about; npm has done nothing.

Which gets us to:

* Web of trust

This seems to me to be a near perfect way for the big companies that have earned so, so much money using the free FOSS they rely on, to contribute.

They spend the cash to hire a team that reviews FOSS stuff. Entire libraries, sure, but also updates. I think most of them _already do this_, and many will even openly publish issues they found. But they do not publish negative results (they do not publish 'our internal team had a quick look at update XYZ of project ABC and didn't see anything immediately suspicious').

They should start doing that. And repos like npm, maven, CPAN, etcetera should allow either the official maintainer of a library, or anybody, to attach 'assertments of no malicious intent'.

Imagine that npm hosts the following blob of text for NPM hosted projects in addition to the javascript artefacts:

> "I, google dev/security team, hereby vouch for this update in the senses: not-malicious. We have looked at it and did not see anything that we think is suspicious or worse. We make absolutely no promises whatsoever that this library is any good or that this update's changelog accurately represents the changes in it; we merely vouch for the fact that we do not think it was written with malicious intent. We explicitly disavow any legal or financial liability with this statement; we merely stake our good name. We have done this analysis on 2025-09-17 and did it for the artefact with SHA512 hash 1238498123abac. Signed, [public/private key infrastructure based signature, google.com].

And a general rule that google.com/.well-known/vouch-public-key or whatever contains the public key so anybody can check.

Aside from Jia Tan/xz (which always stops any attempt; Jia Tan/xz was so legendary, exactly how the fuck THIS still happens given that massive wakeup call boggles my mind!), every supply chain attack was pretty dang easy to spot; the problem was: Nobody was looking, and everybody configures their build scripts to pick up point updates immediately.

We should update these to 'pick them up after a certain 'vouch' score is reached'. Where everybody can mess with their scoring tables (don't trust google? reduce the value of their vouch to 0).

I think security-crucial 0day fixing updates will not be significantly hampered by this; generally big 0-days are big news and any update that comes out gets analysed to pieces. The vouch signatures would roll in within the hour after posting them.

rzwitserloot··on Control shopping cart wheels with your phone (2021)
For context, in The Netherlands, supermarkets are in urban areas and have no parking lot at all or a relatively tiny one.

The usual USian aspect of schlepping a shopping cart waay out to your car and then not wanting to schlep it back or to one of those bays is thus far less relevant.

Also, buying all groceries for the next week is rare here. In other words, you just pack your stuff in bags and walk off, no need to bring the shopping cart.

It's a somewhat unique situation (in NL it is not legal to have a store open to the general public except in a commercial zone, i.e. a supermarket cannot open its business in an industrial zone which means the stores kinda have to be in the middle of population centers, which then opens the door to just buying what you need every day. This then in turn means you can go by bicycle and you don't need a massive freezer either).

Interesting how such a relatively innocuous butterfly flap (the zoning laws) result in such an utter change in culture (bicycle, urbanisation, shop-for-the-day instead of for-the-week, etc).

rzwitserloot··on Is air travel getting worse?
I don't think so.

Even a villain is the hero in their own story.

For the vast majority of folks who are or would be a nuisance in flight, I'm pretty sure:

* If they hear about stories where folks got punished for being obnoxious, they'd think "I would never be that obnoxious - that is not meant for people like me". In other words, they'be oblivious to their own predilections.

* If they are placed in a situation where their instincts would lead them to being obnoxious, they.. will be obnoxious. Even if they 'know' what the consequence are. There are a few reasons for that:

* It's a crime of passion; they can't help themselves. That's the general problem with trying to use rationality to tamper down crime: Most crimes are fundamentally not rational. You don't decide that it is in your best interest to murder someone (outside of an infinitesemal % of the population that are high functioning total psychopaths). No, you do so in the heat of the moment. At which point "Rational brain telling the id to cut it the fuck out because you might be ejected from the plane" is obviously going to have absolutely no tempering effect whatsoever.

* They honestly think it doesn't apply to them. Usually because 'yes of course obnoxious behaviour should be punished by ejecting the obnoxian from the plane. But I'm not obnoxious, you don't understand! That kid is crying and driving me nuts, I had a bad night's sleep, and I have an important meeting right out of the plane so I need my rest so I have to yell at that mom to shut their kid up, see, my intentions are good!'

Ref: Bit of a stretch, but: Similar (in culture, size, average wage, etc) locations with wildly different takes on how important it is to punish crime in order to serve as a 'warning' / to disincentivise crime by making clear that it will be heavily punished. The best place in my experience to look for this is the US where it appears to be culturally in vogue to act as some sort of wild west sheriff trope. The results? Not one iota of difference in crime rates. Or, if anything, the places that punish it more have _more_ crime, not less. And, of course, a million-and-one psych papers.

If you want to make flight less of a nuisance, the rest of this thread has the right idea I think: Given that it's so ubiquitously available and intentionally designed in that way, it's inevitable that the experience sucks. If you want the experience to be less bad, it inherently comes with a reduction in accessibility.

And on top of that, 'travel stress' is real and not something the airline industry can easily tackle. Try to imagine that travel just stresses you out. That it just does. For those who don't suffer from travel stress this can be hard to do. Maybe you have a light fear of heights; channel that. It's easy to see how the experience just kinda sucks if half the people trying to enjoy the view from some high vantage point are lightly freaking out, and they kinda have to be there for other reasons.

rzwitserloot··on Return of wolves to Yellowstone has led to a surge in aspen trees
That does have the slight disadvantage that a glassed parking lot, utterly uniform and totally devoid of all life, is quite stable.

I agree that it'd be lovely to have a definition that is devoid of subjective (human) judgement, but I don't think "stable" is a useful direction to go for such a definition. It's way too easy to reach stability by ending up at some hellhole ecosystem that is lifeless or exceedingly uniform with nothing interesting. Which, yes, is entirely subjective. That's my point.

Alternative ways to go that seem more suitable to end up at a worthwhile definition that most ought to be happy with:

* Diversity. An ecosystem with more lifeforms is better than less, and complex lifeforms count extra. How much extra is for somebody to write down in detail at some point.

* Utility to humans. An ecological system that constantly causes issues to humans, for example by flooding out a town, spawning plagues that ruin crops, and so on is 'bad'. An ecosystem that humans like spending time in is 'good'.

We are humans and ought to be able to come together and find definitions close enough to what we want without falling into smashing each other's heads in because our definitions of 'nice to walk through' differ slightly. Part of what annoys me about 'modern' political thought is that it presupposes: Everybody hates everybody and we're all infantile morons who are utterly incapable of finding any common ground (and thus only solutions that work despite that state of affairs are worthwhile to think about). This isn't hard to determine. We don't need to eliminate human subjectivity from it.

rzwitserloot··on Tariffs in American History
What a weird end to a fascinating article.

It's like I'm reading the words of a political prisoner. Everything in the first ~80% of it sets up for a conclusion of 'one-sidedly slapping a ton of tariffs on all the things and expecting this to lead to prosperity and the closing of deficits is sheer lunacy', and then ends with: "Well, what an interesting and possibly smart move, lets see how it works out!".

rzwitserloot··on Tariffs in American History
Near the end, the post jumps to conclusions. It starts with 'there is a tariff difference - 2.5% vs 10%, on car imports from europe to the US vs the opposite direction' and then jumps to '... and this explains why there are way more european cars on the road in the US than vice versa'.

This jump is not a reasonable one to make. Car imports and exports are vastly more complicated than this. At best, the tariff situation is one small part of a multi-factor explanation for observed phenomenon, such as how US carmakers do not appear to care about european market demands for cars at all (they do not make many cars that are clearly targeted at the needs of european car buyers), whereas european carmakers make quite a few models specifically engineered for the US market, or at least, there is a real demand for them in the US. But I'm just guessing here - possibly the situation is explained much more simply:

US carmakers make cars that US consumers want to buy and which US culture wants to make. These cars so happen to be designs that almost nobody in the EU wants.

EU carmakers make cars that EU consumers want to buy and which EU culture wants to make. These cars so happen to be designs that a significant fraction of the US also wants to buy.

'fix' the tariff imbalance and I bet almost nothing happens to the relative amount of 'flow' of cars across the atlantic.

rzwitserloot··on Git Bug: Distributed, Offline-First Bug Tracker Embedded in Git, with Bridges
I've been yelling 'omg why doesnt someone build a ticketing system on the basis of git, having a separate 'root' (no-parent git commit that is at the bottom of a git tree; technically a git repo can have more than one), with most of the conversation happening in git commit form' - for YEARS.

This is wildly exciting.

rzwitserloot··on JEP 515: Ahead-of-Time Method Profiling
I assume you meant with the AOT argument: "The initial few minutes of a JVM's existence, which would be the entire lifetime if you're using java the way you use e.g. your average executable in your `/usr/bin` dir".

Saying "java programs will be faster" is perhaps a bit misleading to those who don't know how java works. This will speed up only the first moments of a JVM execution, nothing more. Or, I misread the JEP, in which case I'd owe you one if you can explain what I missed.

As a java developer this will be lightly convenient when developing. We go through JVM warmup a lot more than your average user ever does. Personally I think I'm on the low end (I like debuggers, and I don't use TDD-style "what I work on is dictated by a unit test run and thus I rerun the tests a lot during development". But still it excites me somewhat, so that should mean your average java dev should be excited quite a bit by this.

I am not all that experienced in it, but I gather that lambda-style java deployments (self contained simple apps that run on demand and could in theory be operating on a 'lets boot up a JVM to run this tiny job which won't last more than half a second') have looong ago moved on from actually booting JVMs for every job, such as by using Graal, an existing AOT tool. But if you weren't using those, hoo boy. This gives every java app 'graal level bootup' for as far as I can tell effectively free (a smidge of disk space to store the profile).

For the kinds of java deployments I'm more familiar with (a server that boots as the box boots and stays running until a reboot is needed to update deps or the app itself), this probably won't cause a noticable performance boost.

rzwitserloot··on US vs. Google amicus curiae brief of Y Combinator in support of plaintiffs [pdf]
I think it was Heinlein who came up with it, but it's a principle that basic logic dictates is obvious:

Power and Responsibility - those must be 2 sides of the same coin, or very very bad things happen.

The mindset of 'too big to fail', i.e. if things go badly wrong there, government must bail it out for the sake of avoiding seriously deleterious effects on the wider populace, more or less nixes out the responsibility part of the chain there, at least for 'the company' as a whole. At least, the way bailouts have so far been done with banks, which is basically: Give em money, _possibly_ require some sacrifices amongst the board or c-level execs, but the company continues effectively independently.

And, wouldn'tcha know it, bad things happen when you do that.

"Too big to fail" is, to me anyway, all I need to hear. If that's true: Kill that company. Right now. And do a governmental post mortem on how government could have failed so badly as to have just let it happen without writing out laws and regulations to stop it. Too big to fail is a really, really bad thing to ever happen. The only thing that should ever be too big to fail is the government itself. Where there certainly _is_ a balance between power and responsibility: If government fucks up badly enough, very bad things happen to what it represents, namely, the people.

Therefore then, if the consequences are indeed as gigantic as you say they are, then there are only two options:

1. Bite the bullet, split up google, suffer the consequences, and then find ways to break up any other companies that are 'too big to fail', and find out ways to write laws to avoid it from happening again.

2. Government writes some laws to eminent-domain it, so that it becomes part of government, so that bailouts can be done without breaking the balance between power and responbility.

Of course, given the current political climate in the US, that will never happen. But logic dictates that it should.

At any rate: Yeah, it's going to hurt. And it should be done.

Your final 3 paragraphs are missing the mark entirely. They just do not make any logical sense.

If google gets completely asploded by law, you think they all move to apple and apple will turn itself into a monopoly? After it just saw government make a meal out of google? That seems epically stupid, but then a judge just more or less literally called Tim Cook epically stupid for deciding to just flaunt a court judgement, so, sure, let's say Tim Cook did not learn his lesson and remains blind to this. Then.. government will make a meal of apple just the same. Once the first 'tech company too big to fail breaking monopoly laws gets thrown through a meat grinder' has concluded, the meat grinder is built and functional, so (threatening to) toss apple through it is easy at that point, relatively speaking.

I also think you're underestimating the viability of the web and the pernicious brokenness of where we are at today. If google ads just collapses overnight, however will people find stores? That's your argument? That it will simply be impossible to find the online presence of some store or other? I.. doubt that.

A whole company will just disappear because gmail failed? Proton costs 3.50 a seat a month, and that's just to make the point that the most gold plated alternative I know about does not seem like a company killer. Everything google does has an alternative. If a company cannot deal with the fallout of inventorying the services that it uses and making a decision on which alternative to employ plus the costs associated with updating their employees and policies to deal with it, that company was operating on a highly risky precipice already, if the margins are that low. Something was going to unbalance that company and it would fall into the abyss sooner rather than later. Might as well be this.

rzwitserloot··on What Happens When There Are No Deals? – Paul Krugman
That's judging a book by its cover territory.

You can do that: Life is too short to do a whole bunch of research just to check anything you hear, so you have to judge statements using known imprecise and dangerously oversimplified mechanisms such as 'well, this guy has been wrong so often, lets just assume also wrong here'. But _if_ you do that, you should know you're using really bad guidelines, and you should definitely NOT spread that around and start using it as a logical argument. You, personally, aren't going to bother checking the truth of a statement if it comes from a source you consider exceedingly dubious. Fine. But don't tell others it's a load of horsepuckey because X said it. At best, state that X's personal assurances it is true aren't worth anything.

The right move would be to not click it on HN and not comment on it. If you care enough to comment, why not just check the statements or argue based on them?

rzwitserloot··on What Happens When There Are No Deals? – Paul Krugman
This is an ad hominem attack in the sense that PK has laid out the logic underlying his statement here. He is not asking that you are to trust his point based solely on his say-so.

The right approach is: "This argument is dubious / incorrect / however you might want to refer to 'wrong' because X" where X could be "there's this and that proof that there -are- deals being made" or "Here is proof the Japanese DID drop bowling balls" or even a more esoteric "I don't think grousing about one-party rule and the death of US democracy is reasonable; these concerns are overblown", which feels more like a slugfest between 2 'vibes' which seems kinda silly, but, by all means, share your opinion here.

But, "Paul Krugman said it therefore what the fuck who cares?" is a logical fallacy and it should have no place here on HN.

rzwitserloot··on Apple and Meta fined millions for breaching EU law
I don't understand what you're on about. The only laws that the USA has on the books that says anything about this are either [A] recently written state laws written as vehicles to virtue signal, particularly by DeSantis in Florida, or [B] the exact opposite.

For example, the first amendment indicates that apple doesn't just have the right to tell its users of its app store to say nothing about alternate payment methods. It goes further than that: The government must not tell Apple anything else. That's stretching 1A a bit; more likely 1A says nothing at all about what Apple is doing here.

"Free Speech" is a thing americans are fond of saying, but unfortunately, considering that 1A is often called 'the free speech amendment', what that actually means is usually unclear, and in this day and age, that means it gets weaponized: Folks start harping on about free speech and pick whatever of the many conflicting definitions so happens to suit their needs at that exact moment.

Evelyn Beatrice Hall was british, not american. She's the author of "I disapprove of what you say, but I will defend to the death your right to say it".

The thing about 1A and free speech in general: Forcing somebody to say something is just as bad as forcing somebody not to say something. And, once you start talking about non-governmental entities and 'free speech', those two things are at odds. After all, if the government tells some social network that they MUST NOT ban some user or delete some posting, that is compelled speech, and that's what I meant with '1A means the opposite of what you / this case / most americans think it means'. 1A protects the right of private companies to restrict your speech. It does not protect your right to have your speech protected from being suppressed, deleted, or otherwise restrained by private actors.

rzwitserloot··on Apple and Meta fined millions for breaching EU law
> Technically, the first amendment applies only to state actors, not private entities.

That's probably not what the person you're responding to is talking about.

Americans have this unfortunate tendency to harp on and on about 'free speech' in contexts where the first amendment obviously does not apply, or, even more intriguingly/ironically, where the first amendment pretty clearly states the exact opposite.

For example, if some non-government-owned platform (such as a social network) bans a user, and that user says "My free speech rights are being infringed".

Whereas what the 1A actually states is the exact opposite: That platform has the right to ban that user, and the government is constitutionally restrained: If the government were to make a law that forces this social network to unban this user, that'd be the 1A violation.

Then there are only 3 options:

1. That user wildly misunderstands free speech. And given how common this is, 'most americans' is perhaps [citation needed] but the sentiment is understandable. It's not just that "My free speech!" is so common, it's also that articles about some incident pretty much never talk about this. Lawyers, legal wonks, legal podcasts that sort of thing - they talk about it, but, niche audience.

2. The meaning of 'free speech' in the sentence 'this social network has banned me; my free speech is being infringed' is not referring to 1A but to the concept as a general principle; a principle that is orthogonal, or even mutually exclusive with, the definition of 'free speech' the way 1A intends it.

3. They know exactly what 1A means but they are lying through their teeth in order to get some internet group ragin' going on.

If we make a habit of assuming good intentions, the nicest choice is option 2.

The somewhat famous "Section 230" covers part of this, and explains some of the pragmatic reasoning behind MCAC v Halleck: If you hold private companies responsible for having infringed free speech rights, then private companies are going to bend over backwards making clear they are not going to moderate. Anything. For any reason. Legal reasons, you see.

rzwitserloot··on The Guardian flourishes without a paywall
I pay sales tax when I buy something with money I have. That was already taxed.

Huffing and Puffing about paying taxes when you do a thing _just_ because the thing you are doing, you do with money you already paid taxes on - is a crazy idea. So crazy, nobody does it even though that happens all the time. Except, apparently, inheritance tax.

You must really hate taxes on fuel or cigarettes too, and sales tax of course.

Similarly, this:

> but you decide that you have more of a right to direct those assets for them.

Is quite the statement. That is what governments do all the time. You want to do a thing, they tell you: No, you cannot do that. If you fail to comply, we will punish you. For some countries, all the way up to and including murdering you.

Government dictates and you agree. That whole 'monopoly on violence' thing.

In this case, government has some thoughts on how you should spend your money as you are shuffling off your mortal coil. It suggests you spend some of that on general things the country as a whole wants funded. It very strongly suggests it. Insists, really. Kinda like how it insists you wear a seatbelt.

rzwitserloot··on The Guardian flourishes without a paywall
"Death Tax"? What the heck are you on about? The dead aren't taxed, they can't, they are dead. What are you going to do to them as punishment if they fail to comply? Shoot the corpse?

It's a tax levied on those who get a completely free/undeserved sudden windfall; in the sense that they did not do anything to obtain it and didn't even have to expose risk or pay for a chance.

Most nations put pretty serious taxes on earnings from lotteries, and an inheritance is like a lottery where you didn't even have to pay for a ticket.

There's no obvious objective truth about the idea of taxing inheritance. But calling it "silly death tax" is, oof. Idiotic. Cut it out.

rzwitserloot··on I genuinely don't understand why some people are still bullish about LLMs
It mostly says that one of the seriously difficult challenges with LLMs is a meta-challenge:

* LLMs are dangerously useless for certain domains.

* ... but can be quite useful for others.

* The real problem is: They make it real tricky to tell, because most of all they are trained to sound professional and authoritative. They hallucinate papers because that's what authoritative answers look like.

That already means I think LLMs are far less useful than they appear to be. It doesn't matter how amazing a technology is: If it has failure modes and it is very difficult to know what they are, it's dangerous technology no matter how awesome it is when it is working well. It's far simpler to deal with tech that has failure modes but you know about them / once things start failing it's easy to notice.

Add to it the incessant hype, and, oh boy. I am not at all surprised that LLMs have a ridiculously wide range as to detractors/supporters. Supporters of it hype the everloving fuck out of it, and that hype can easily seem justified due to how LLMs can produce conversational, authoritative sounding answers that are explicitly designed to make your human brain go: Wow, this is a great answer!

... but experts read it and can see the problems there. Which lots of tech suffers from: as a random example: Plenty of highly upvoted apparently fantastically written Stack Overflow answers have problems. For example, it's a great answer... for 10 years ago; it is a bad idea today because the answer has been obsoleted.

But between the fact that it's overhyped and particularly complex to determine an LLM answer is hallucinated drivel, it's logical to me that experts are hyperbolic when highlighting the problems. That's a natural reaction when you have a thing that SEEMS amazing but actually isn't.

rzwitserloot··on I genuinely don't understand why some people are still bullish about LLMs
The thing LLMs are really really good at, is sounding authoritative.

If you ask it random things the output looks amazing, yes. At least at first glance. That's what they do. It's indeed magical, a true marvel that should make you go: Woooow, this is amazing tech: Coming across as convincing, even if based on hallucinations, is in itself a neat trick!

But is it actually useful? The things they come up with are untrustworthy and on the whole far less good than previously available systems. In many ways, insidiously worse: It's much harder to identify bad information than it was before.

It's almost like we designed a system to pass turing tests with flying colours but forgetting that usefulness is what we actually wanted, not authoritative, human sounding bullshit.

I don't think the LLM naysayers are 'unimpressed', or that they demand perfection. I think they are trying to make statements aimed at balancing things:

Both the LLMs themselves, and the humans parroting the hype, are severely overstating the quality of what such systems produce. Hence, and this is a natural phenomenon you can observe in all walks of life, the more skeptical folks tend to swing the pendulum the other way, and thus it may come across to you as them being overly skeptical instead.

← PreviousPage 2 of 12Next →