skysight-inc/HackerNews huggingface dataset:
Only skimmed through, so might be wrong, but got the impression that the mystery is never really solved… If transactions are batched, then MySQL will sometimes have to return OK before the transaction is on disk, no? But it’s stated that the configuration is fully ACID. Seems like a contradiction.
ah, thanks, I couldn't find any link from the main page
The US have not become hostile. So far it has made two demands of Europe, and both of them are reasonable:

1. Europe should not rely entirely on the US for its defense (stated by Trump numerous times).

2. Europe should stop its mad self-destruction and descent into totalitarianism (stated by Vance on several occasions).

Were they incorrect? Were they unreasonable? Sometimes you need a friend to tell you a harsh truth. Hearing that truth does not make that friend into an enemy; quite the contrary.
> Factories are not a good thing. They usually imply that globals need to hold references.

No. Your statements are fundamentally wrong at many levels. Factories are tools to instantiate objects of a specific type a certain way. They are constructors that don't suffer from the limitations of constructors. A factory does not impose any requirement on object life cycle.
re: tools, see my reply to a peer comment.

Our scale isn't ginormous. Fewer than two dozen microservices and we sometimes fudge the 'microservice' definition somewhat to allow some of those services (such as pure lookups) to host their isolated tables in the same database schemas/instances. We always mock external web service calls in the test env since a Fedora update either will or will not screw up the ability to hit an endpoint via HTTP (has never happened) -- in other words, hitting a real, live service would add nothing to the results of the dev test outcomes.
I don't quite understand the point of litigating businesses in civil court if existential threats are excluded from judgement. What is the reasoning behind a fine being sufficient to incentivize following the law when you can make so much more money not following the law? I also don't understand what the point of shareholders and board members are if they can't be personally held liable for their investments violating civil laws.

What is the fucking rationale behind that? Why must we baby shareholders and be cruel to workers despite the latter providing 100% of society's value?
Wow! Your notes look like a treasure trove on the topic(s)!. I will definitely read them. Ironically, my heat pump just failed yesterday and now I am going through the service manual, so the resistance heater proponents may have some merit :)
Lol indeed... I also still love PHP. For most small apps that's my go to backend, because who needs to worry about keeping Node running on some server you forgot about 2 years ago? And it's a fully modern language.

I'm delighted that there's some kind of desktop API here. On the one hand, the fact that it's talking with an Electron shell seems sort of magical. But it begs questions like, why wouldn't I just use a fully JS stack? And... since I've never created a graphical app in PHP before, would this be the right time to start?
you are just describing a function. Not a type.

And as others replied, the issue of naming a type exists in all languages.
My main concern is the lack of interest in the security problems being raised and the constant attempt at silencing of people raising issues or silence itself. Not just this bug but other links were provided on and the developers deliberate attempt at ignoring or or shutting down discussion. This isnt just about one bug. Dont be so naive. The developer is selling a product on a given feature, privacy and they neither care about it or have the ability to implement privacy properly.

What about the people who believe them that the browser is private when its not? What if genuinely someone relied on its privacy for their important work but in reality its not? This isnt about the developer. Its bigger than that and your ignorance on this is kind of part of the problem.
I like how US’s lack of automatic transit visas is being described as a good thing here. It is an absolutely nightmare in practice.
No, this mentality is the parable of the lazy, and delusional, who won't be convinced of anything regardless of objective reality.

The thing can be standing with a knee on their neck and they'd still be clueless.

You'll find a lot of material if you go looking with the right questions.
Why don't you start with looking at what happened with George Floyd.
I don't know where you got this idea but this is wrong.

> you use the item longer, you have a longer implicit lifetime. The memory it references will also be claimed for longer

This is only true at the stack frame level, you cannot extend a variable beyond that, and there's no difference with a GC in that particular case (a GC will never remove an element for which there's a variable on the stack pointing towards it)

> You only fix that by explicitly considering lifetimes as you write your code

Lifetime parameters don't alter the the behavior, and their are either mandatory if the situation is ambiguous or entirely redundant. And it only works at the function boundaries, where lifetime extension cannot happen anyway. (See above)

Please stop spreading bullshit criticism that have no grounding in reality (Rust has real defects like everything else, but spreading nonesense isn't OK).
what if I or someone wrote a bot / script that searches across github for every shell script file that it can find and converts all short options into long options and opens a PR? Think dependabot but lets call it longabot or readabot?
Clearly it does, as we now have a system highly maladaptive for what it delivers; and that is the legacy you refer to built from 18th century intentions.
> The whole point of static typing is to ensure that runtime behavior is consistent with what gets passed. Right?

More or less. While the whole point of object-oriented programming is that behaviour is defined at runtime through the passage of messages. The messages may originate from the very same codebase, but not necessarily. Consider something like NeXT's Interface Builder, which relied heavily on injecting messages into the program externally.

> But in pure form, a well typed OO language should never run into undefined behaviour at runtime.

It is not known until runtime what kind of messages will appear. You can define what should happen when an "unknown" message shows up (ignore it, for example), but you cannot statically prove that it won't occur. –– If you could, what do you need OO for?
I genuinely don't understand why this is the top comment, as it is almost complete BS and the author confuses the behavior of the borrow checker with the one of a GC (and ironically claim a GC would solve the problem when in fact the problem doesn't exist outside of a GC's world)
The term to search for this is barratry and there are laws against it in some jurisdictions.

Realistically, you will not win a judgment on this to compensate you for your time dealing with a single cease and desist letter. If someone shows a really excessive pattern of it, perhaps a judge or a bar association could be convinced to make an example of them.
It seems that are used books

This is the new design:
https://www.amazon.com/-/de/gp/aw/d/1621050521/
I'd also say ...patterns like this that return the object you modified in PHP weird me out, even though they're common in JS going back to JQuery:

>>
Dialog::new()
->title('Select a file')
->open();

It's an interesting "modern"-ish design choice, but it doesn't feel very PHP-ish. $dialog = new Dialog('title') followed by $dialog->open() would feel more sane.
A big part was being brave enough to make players put a little mental effort in.

In Morrowind, a big part of gameplay was figuring out where you needed to go to progress in a quest. A NPC might say to go to a town, take the East road out, turn left at the lake, and proceed until you see a certain kind of tree. You actually needed to do all that just to find the next step of the quest. It felt incredibly immersive. In Skyrim and a lot of post-Skyrim games, you just take a direct path to the quest marker without even thinking about it.

Quests in Skyrim often feel shallow because you put in almost no effort. It's a little skippable dialogue, a run across the mountains to a quest marker, kill something, loot something, and run to another quest marker for more optional dialogue. The dialogue in these quests often didn't even explain how you know where to go. Maybe the NPC puts a mark on your map, or maybe you're just psychic! Writers no longer had to care about giving directions, so they often didn't.

Bethesda probably did this because players were complaining about getting lost in Morrowind. If a quest isn't carefully written and the world carefully designed, it is often easy for players to miss the mark. After Skyrim, quest makers became the norm in all sorts of RPG's. It reduced effort for developers and ensured players don't get lost. However, it may be the case that the frustration of getting lost and the triumph of finding your way are parts of a compelling role-playing experience.

BG1 and Fallout 1/2 were both games where you could get badly lost and wander into areas that were way too tough for your character at the stage of the game you were currently in. Getting a little bit lost, a little bit in over your head, and stumbling upon something hidden was actually a lot of fun.
You seem to treat this topic with a strange lightness.
You can make cheese from regular pasteurized milk.

You cannot make cheese from HTST or UHT pasteurized milk. The temperatures degrade the proteins. Most Milk today in the US is HTST or UHT, this was not always the case.

All have pasteurized in the name, but they are very different processes.
Just listing the ones from my short life so far: Afganistan, Iraq, Syria, Libya, Palestine & Lebanon (indirectly through massive support to Israel). I'm sure I missed a few since there are so many.
this was a battle not the war, they will come back sooner or later.
> but they should also not have no clue at all.

they usually talk to experts in those areas. Who those experts are can vary quite a lot though.
There's nothing stopping Oracle from selling us Oracle Linux for a nice subscription price either. The GPL is explicitly not meant to prevent commercialisation of software.
Don't like the term; there really was no new term needed, and like everything, people are now simply saying any AI assisted coding is 'vibe coding'. They have to as solely AI coding isn't working yet except for hello world level stuff.
It's funny how HN/forums seem to turn everybody to Dutch directness mode :p
Are you actually trying to say that understanding cryptography is a prerequisite for intelligence?
Thanks for the info! Now it is much easier to understand your concerns. It is a rather big installation that you have here, in the range around 100kW (if both space heating and DHW are considered). Such systems (aka chillers) are usually installed away from buildings or on the rooftop if local regulations allow it.
Leaks are as hard to do in Rust as with a GC though.

That is, they aren't impossible and you'll eventually have to fight against one nasty one in your job, but it's far better than without a GC or borrowck.
I’ve seen this sentiment be expressed often but I don’t see any merit behind the argument.

It boils down “this language may have merit but I don’t like the way people advocate for it”. That’s just tone policing. And the thing about tone police is that the standard they set is vague/nebulous and therefore impossible to satisfy.

You have some “right way to advocate” in mind. Other tone police have some other “right way”. But advocates aren’t mind readers, nor can they satisfy all your demands simultaneously.

> push the language everywhere, regardless of it’s appropriate

Where is the language inappropriate? Notice you don’t say, so while it sounds like you’re making a technical argument it sounds like a pensioner whining about kids on his lawn.

That’s all this really boils down to. The whiners don’t have any technical arguments, they’re just old conservatives who like the way things have always been and want to keep it that way. In place of technical arguments they say silly things like “of the millions of rust developers out there, I didn’t like a few comments made by some of them”. Cool.
For decent time it really has not been about budget or time. Certainly not after say Skyrim and maybe including that. It is more so their game design philosophy and lack of talent in making more interesting things. In the end Bethesda makes worlds filled with small pastiches. And well with Starfield they even failed the filling part.
Zig comptime is a C++ template done better. It also suffers from similar issues as C++ templates. You can't know function is comptime unless you put it in comptime and it passes.

See https://typesanitizer.com/blog/zig-generics.html
And tariffs are the the act of a friend too? Let's not be silly. Trump's is America first: the upshot of which is everyone else can be a subordinate or a rival. Europe is wisely choosing not to subordinate itself to the US quite so much. It'll be interesting to see if it becomes a real rival.
For sure, all Xerox PARC famous OSes are kind of VM based for example.

The compilers generated bytecode, and the CPUs were microcoded.

So the first boot phase was to load the microcode into the CPU, and then boot into Smalltalk, Interlisp-D, Mesa, Cedar environments.

There was a project that tried to be a future Amiga OS replacement that was also bytecode based with JIT,

https://news.ycombinator.com/item?id=9806607

Inferno with Limbo, another example, get wasm to replace disVM role.

Or like ART on Android, and so on.

Ah, IBM i (née AS/400) is also bytecode based with a JIT on the kernel.

Lots of examples out there, UNIX is not the only way.
Conversely, do you also consider the downsides and consequences of not having types? If you don't, then you're blind to whole categories of issues. As a good engineer, you need to be able to reason both ways to come to a reasonable solution, not just one that conforms to your particular ideology.
Yes, and IMHO this is one of the biggest design wart of Rust. T: 'unbounded would be much better.
Agree.

I try hard to push the validation to static checks, but it can't always be done. For example:

- a "probability" represented as a double must always be between 0 and 1

- A vector of values given to some group of functions must always be sorted (by some given order)

But even in those cases, using types allows me to ensure that this validation always happens (when the type instance is created). It also let's me avoid having to explicitly validate this inefficiently (e.g. redundantly in preconditions in functions that receive these values).

This doesn't change the fact that static validation is a better approach, but compliments it.

I wrote a bit about it here: https://github.com/alefore/weblog/blob/master/edge/correctne...
I only just discovered that he didn't invent or at least own the company that made the grill. Not being American, I had no real idea who he was outside of it.
Show HN: I created an open-source browser extension (GitOak) similar to Octotree
Gitoak is a free file tree extension for GitHub, available on Chrome, Firefox and Edge.
> That’s what the type system is for: a means of grouping similar bits of information into an easy-to-use whole.

While types can be used for that, they are a much broader concept.

I would say the general purpose of types is to tell apples from oranges.
I was once co-head of a tech company that had an "i" in the title. Like a bajillion other companies our logo was basically just the company's name in a particular font and we turned the dot above the "i" into a little circle in a different colour. So far so not very surprising.

A few months in we got a cease-and-desist from a company who claimed (and I'm not making this up) to have a trademark on the idea of making the dot of an "i" into a little circle in a different colour, and said that the trade dress of our logo was infringing because their logo was just their company name in a (different) font with the dot on the "i" being a circle in a different colour.

I wrote back and asked them to clarify that it was their contention that that was a trademark and making it very clear I would fight it and we had no intention of changing anything. They disappeared.

It's really important not to feed this nonsense by caving to the trolls.
It's definitely more porous going out. So yeah, UBI needs to be not so bad that people can do better elsewhere that's easy enough to immigrate into. The same is true of basically any policy though, that's not really a unique thing to UBI.
Probably closer to 50 than 500, assuming you've done something similar before and you have "native" proficiency with another germanic language. Honestly, just read the Dover First German Reader, watch a few TV shows end to end with captions a couple times, turning them off and on and rewinding whenever. Read some german-language forums, and watch some German language talks. That won't get you anywhere near conversational proficiency nor develop any speaking skills, but more than enough to get great value out of written text and a lot of talks, especially with some tools to help.
Understanding R1-Zero-Like Training: A Critical Perspective [pdf]
This is beautiful.

I would really like to know how his father's trip influenced the author's life. He mentions this several times, but does not explain.
It shows that message passing and types get along just fine.
A bit over my head - but can't Prolog achieve similar results?
From: https://x.com/zzlccc/status/1903162768083259703

DeepSeek-V3-Base already exhibits "Aha moment" before RL-tuning

The ever-increasing output length in RL-tuning might be due to a BIAS in GRPO
The author announced a previous version of this crate a couple of weeks ago and this new version two days ago. So there might not be that many users.

That said I did replace a declarative macro with it. Supposedly I wrote the declarative macro according to git blame but I only have a vague idea how it works. I replaced it with crabtime and I got something that I can understand and maintain.

Overall I’d say I’m very pleased with crabtime. Previously I would have avoided Rust metaprogramming as much as possible, but now I’d feel confident to use it where appropriate.
That and the historical illiteracy the industry suffers from.
That's entirely true. I just like to point out that the marginal cost is an impractical concept in most cases.

The only thing that matters IRL is the average cost, and as you point out, it is always monotonically decreasing for software and other IP-based businesses, which isn't the case doe for other kinds of industries.
"Defense" is not a monolith that you think it is
Disney+ for me, but it might differ per country
> If you are willing to type this up for karma

If I cared about HN karma, I'd just post "why not Rust?" on every Go post, and "why not Go?" on every Rust post.

> why wouldn't you just tell the lawyer this or contact the current webmaster

Because the lawyer was trying to scare me with nonsensical legal threats. I'm not interested in helping people who threaten me with legal action.

> your retelling just seems really petty.

It was supposed to – I was replying to someone who wrote, "I wish all companies took such an approach. You catch more flies with honey" – they tried to "catch" me with vinegar, and I don't have a taste for it.
It is not like they are sworn enemies, but as messages can originate from outside the program, they cannot be typed statically. It is impossible to know what types will appear before runtime. For messages that originate from within the same codebase, you can, perhaps, start to layer static typing on top, but it can only be a partial solution as it remains that messages can come from other sources.
https://ciq.com/legal/eula/rocky-linux-from-ciq/

" .... The license granted in this Section 4 is conditioned upon Customer’s and its Authorized Users ’compliance with this Agreement. To the extent that the Software provided to you is not under an open source license, ...."

missed that part?

Now check the RHEL EULA wrt distributing the SOURCES of the FOSS based binaries.
I also dislike Bethesda scaling content and loved Zelda BOTW - I wish there was a way to disable enemy scaling there. For those who didn’t notice - https://zeldamods.org/wiki/Difficulty_scaling

For anyone looking for an alternative, Bethesda’s Morrowind has it all, an open world and no scaling enemies.
Since everyone is plugging their favourite alternatives, I am still a big fan of Project Oberon, it may be not fit for purpose on 2025 computing, however it is a tiny graphical based OS, written in a memory safe systems language, with enough content to learn about OS development.

https://www.projectoberon.net/
1. And made it clear by threatening to take land from a European country by force.

2. That's funny coming from a person who is building a totalitarian system. He was supporting parties that would make a similar development in Europe possible.
Portland callin. Great article. My friend has canoed the entire Willammette River a few times, solo and with friends, and loves it... he makes it almost sound like a Huck Finn adventure, stopping in at weird private landings, dive bars, river parties, sleeping in the parks, making friends with strangers. Personally, I'd be terrified to embark on a trip like this. I wish I had the confidence that I would be able to survive a bad day or two of food poisoning with nowhere to go.
Sonehow I doubt it. China was from time immemorial a nation of merchants. They excel in trade. Even their communist experiment, from a historical perspective, quickly gave in for them to revert to what they do best.

The US has a history of fucking over other countries for their own benefit instead.

I am not saying that EU should align with China or any such thing. There is no reason to not rely in them for trading however.
Then we are talking about distributed computing, and nothing will help you understand that glob of undefined bytes.

This has nothing to do with OOP.
> Don't all types need names, regardless of what language you use?

No.

- In very dynamic languages (like javascript), most types arguably don't have names at all. For example, I can make a function to add 2d vectors together. Even though I can use 2d vectors in my program, there doesn't have to be a 2d vector type. (Eg, const vecAdd = (a, b) => ({x: a.x+b.x, y: a.y+b.y}) ).

- Most modern languages have tuples. And tuples are usually anonymous. For example, in rust I could pass around 2d vectors by simply using tuples of (f64, f64). I can even give my implicit vector type functions via the trait system.

- In typescript you can have whole struct definitions be anonymous if you want to. Eg: const MyComponent(props: {x: number, y: string, ...}) {...}.

- There's also lots of types in languages like typescript and rust which are unfortunately impossible to name. For example, if I have this code:

#[derive(Eq, PartialEq)]
enum Color { Red, Green, Blue }

fn foo(c: Color) {
if c == Color::Red { return; }

// What is the type of 'c' here?
}

Arguably, c is a Color object. But actually, c must be either Color::Green or Color::Blue. The compiler understands this and uses it in lots of little ways. But unfortunately we can't actually name the restricted type in the program.

Rust can do the same thing with integers - even though (weirdly) it has no way to name an integer in a restricted range. For example, in this code the compiler knows that y must be less than 256 - so the if statement is always false, and it skips the if statement entirely:

https://rust.godbolt.org/z/3nTrabnYz

But - its impossible to write a function that takes as input an integer that must be within some arbitrary range.