MurphyA/hacker-news huggingface dataset:
by frankus | 2025-07-24 18:51:21+00:00
Swift has a typealias keyword but it's not really useful for this since two distinct aliased types with the same underlying type can be freely interchanged. Wrong code may look wrong but it will still compile.

Wrapper structs are the idiomatic way to achieve this, and with ExpressibleByStringLiteral are pretty ergonomic, but I wonder if there's a case for something like a "strong" typealias ("typecopy"?) that indicates e.g. "this is just a String but it's a particular kind of String and shouldn't be mixed with other Strings".
by sokoloff | 2025-07-24 18:52:00+00:00
Our family owned a Mercedes 240D (71 peak horsepower at sea level) for many years. That car's performance was lackluster on a good day and trying to merge onto the Pennsylvania Turnpike (with very short acceleration lanes) was IMO quite unsafe. From that experience, I'm pretty sure that people are dipping into more acceleration than that car could ever muster.

I have no doubt that some people behave as you describe, but I think some of that is driven from a rational position of not wanting to buy a car that is incapable of anything more than their normal daily driving. If you need to accelerate quickly to merge safely into traffic, bringing only 75 [or 71] peak horsepower to the table isn't a comfortable position to be in.
by vitorgrs | 2025-07-24 18:52:26+00:00
I'm not familiar enough with Bancontact, but.... Doesn't Bancontact take up to 3 days to the money to get to business?

Does it support every bank? It feels for me Bancontact feels like a Visa/Master thing?

The point about Pix is how it was created by the Central Bank. Between person, it's 100% free, no fees at all. Between business, they allow banks to charge a fee, but the cost it's super low, so a few banks don't have fees at all.

Pix it's just a way on how you can transfer money from your bank app.

About Google Pay thing, Google Pay here integrated Pix, by using open bank solution. So Google Pay basically becomes a 3rd party client for your bank, and thus, allows you use Pix with Tap to Pay, or... with every website on Chrome's.

As soon as you copy the Pix Code to pay, it invokes Google Pay, and you can pay seamless, without switching to any app.

And because every website, store, supports Pix... This basically delivered Google Pay to everything.
by hombre_fatal | 2025-07-24 18:52:46+00:00
I don't see this having much to do with OOP vs FP but maybe the ease in which a language lets you create nominal types and functions that can nicely fail.

What sucks about OOP is that it also holds your hand into antipatterns you don't necessarily want, like adding behavior to what you really just wanted to be a simple data type because a class is an obvious junk drawer to put things.

And, like your example of a problem in FP, you have to be eternally vigilant with your own patterns to avoid antipatterns like when you accidentally create a system where you have to instantiate and collaborate multiple classes to do what would otherwise be a simple `transform(a: ThingA, b: ThingB, c: ThingC): ThingZ`.

Finally, as "correct by construction" goes, doesn't it all boil down to `createUUID(string): Maybe<UUID>`? Even in an OOP language you probably want `UUID.from(string): Maybe<UUID>`, not `new UUID(string)` that throws.
by aftbit | 2025-07-24 18:52:49+00:00
I do think there's a better than average chance that WW3 starts not with an open nuclear exchange as our parents imagined, but instead with a substantial cyberattack which shuts down power, water treatment, communications, hospitals, public transportation, etc. This might even be deniable / grey zone for a few hours or days while the belligerent parties use the chaos to accomplish some Blitzkrieg style attacks.
by tsimionescu | 2025-07-24 18:52:54+00:00
> under memory pressure those pages are simply dropped, not swapped out

This is just semantics. The pages are evicted from memory, knowing that they are backed by the disk, and can be swapped back in from disk when needed - behavior that I called "swapping out" since it's pretty similar to what happens with other memory pages in the presence of swap.

Regardless of the naming, the important part is what happens when the page is needed again. If your code page was evicted, when your thread gets scheduled again, it will ask for the page to be read back into memory, requiring a disk read; this will cause some other code page to be evicted; then a new thread will be scheduled - worse case, one that uses the exact code page that just got evicted, repeating the process. And since the scheduler will generally try to execute the thread that has been waiting the most, while the VMM will prefer to evict the oldest read pages, there is actually a decent chance that this exact worse case will happen a lot. This whole thing will completely freeze the system to a degree that is extremely unlikely for a system with a decent amount of swap space.
by scottlamb | 2025-07-24 18:52:55+00:00
> For example, there was minimal use of java.lang.String because ain’t nobody got time for a second allocation of a char[] with associated indirection and GC churn.

An example of why I'd prefer to avoid Java for something like that. Java has a reputation for being slow because of JIT compilation and GC, but I also think a lot of it comes down to all non-primitive types being boxed Objects (boxed = in a separate allocation). This means it works that garbage collector so much harder, there's poorer locality, it fills RAM/cache with extra Object stuff like mutexes that no one ever uses. (Apparently now 8 bytes after a lot of effort to reduce it. https://openjdk.org/jeps/450)
by omnicognate | 2025-07-24 18:53:11+00:00
I guess you're not into networking? If so, perhaps what seems obvious to me isn't obvious to you: the network is the toy. Building it is the game. The purpose isn't the things you can do with it, it's how you do them and who you do them with. Two cans and a piece of string is still fun in the age of cellphones, and a treehouse is still fun to be in when you have a nice living room with a telly.

If the idea of setting up one of these doesn't sound like fun in its own right, I wouldn't recommend attempting it.
by petsfed | 2025-07-24 18:53:17+00:00
So, do you live in a country that is notoriously designed almost exclusively for personal automobiles? Whose cities' growth was informed as much by lobbying from the automotive industry as by a desire to use personal automobiles? Do you live in a country where prison sentences are applied in such a way that meaningfully decreases the recidivism rate?

I see by your comment history that you live in Germany. You do understand that even California is considerably less urban than your country, right?

And to be clear, I'm not saying my brother-in-law doesn't need to quit drugs. I'm saying that the in the US's justice system, just putting him in prison until he's clean will just guarantee that he's in and out of prison until he eventually overdoses, all the while dooming his 11-year-old daughter, my children's beloved cousin, to a life of addiction and abuse herself. Moreover, even if he does get himself clean, because of his criminal record, he's doomed to working those same shit jobs, living at the ragged edge of the poverty line, for the rest of his life, because very few will take the risk of hiring an ex-con. Nobody ever relapsed in those conditions, no sir.

Maybe its different in Germany. Maybe getting yourself clean and sober will allow you to live a productive and happy life, and once you've served your time, you're free of the stigma of being an ex-convict. But if the only solution to the drug problem in the US is incarceration, given the current state of prisons in the US, a more humane approach might be mass executions. Which, I recall, Germany has some experience with.
by superfrank | 2025-07-24 18:53:22+00:00
You're mixing up two things here. It doesn't really matter if the recommendation algorithm is good or not.

The advancement isn't that we now have a better recommendation algorithm, it's that we thought that there was a problem that was impossible to solve with current computers and was being used as example of a problem that only quantum computing could solve and we've now learned that that isn't the case.
by dkn | 2025-07-24 18:53:44+00:00
I question your assertion that more commits and releases per week is more productivity. There could be unexpected effects from your commits that create more work for you or for others and that could be hard to quantify.

Doing bad things faster might feel more productive to you, but it doesn’t mean that you are delivering more value. You might be, but the metrics you have shared to not prove that.
by neilv | 2025-07-24 18:54:07+00:00
We shouldn't be using gendered pronouns anyway.

In very few circumstances is gender relevant. And even when it is relevant, we don't need to bake it into every other sentence, like people should be treated differently based on their gender.

If we baked social caste or race into how we referred to people, on the pronoun level, in every other sentence, it would obviously be ridiculous and terrible. So let's stop doing it for gender.
by indigo945 | 2025-07-24 18:55:20+00:00
In Postgres, the main difference between functions and procedures is that procedures can do transaction management (begin/rollback/commit), whereas functions can't. Other than that, functions are not limited in any way, and can be written in SQL, Postgres's PL/SQL knockoff PL/PgSQL, any plugin language such as Java, or even be called via the C ABI. Obviously, Postgres can do nothing about side effects here, and doesn't attempt to.

(PS: Postgres does have a concept of "safe" languages. Safe languages are expected to run programs only with the database permissions of the calling context, and prevent all other IO. However, Postgres does nothing to ensure that they do, that's the language plugin's job. Also, those functions can still perform DML and DDL as long as the calling context has the permissions to do so.)

By the way, you can do the same in SQL Server via what Microsoft ambiguously calls an Assembly. Via Assemblies, SQL Server can load procedures, aggregates and, yes, functions, from a .NET DLL file.
by rufus_foreman | 2025-07-24 18:55:53+00:00
Chicken McNuggets Ingredients: Boneless skinless chicken breast, Water, Liquid vegetable oil shortening (canola oil, corn oil, hydrogenated soybean oil), Wheat flour, Yellow corn flour, Modified corn starch, Rice starch, Salt, Seasoning (wheat starch, yeast extract, salt, natural flavour), Spices, Baking powder, Sodium aluminum phosphate, Canola oil, Baking soda, Sugars (dextrose), Wheat starch, Corn starch. Cooked in vegetable oil (high oleic low linoleic canola oil and/or canola oil, corn oil, soybean oil, hydrogenated soybean oil, citric acid, dimethylpolysiloxane).

-- https://www.mcdonalds.com/ca/en-ca/product/4-chicken-mcnugge...
by mort96 | 2025-07-24 18:56:14+00:00
Itanium is irrelevant to this discussion. x86 works the same as its ARM and RISC-V competitors: a fairly compact, abstract language which describes a program, which depends on an instruction decoder to translate the abstract instructions into microarchitecture-specific instructions. VLIW is a huge departure from that.

When people say "ISA doesn't matter", they mean that the "legacy cruft" in x86 doesn't matter (that much) and that x86 remains competitive with other similar ISAs. It doesn't mean that the difference between VLIW and traditional ISAs doesn't matter. ISA paradigm still matters, just not the "syntax".
by azimafroozeh | 2025-07-24 18:56:22+00:00
I totally agree — the C++ implementations of Parquet aren’t the best they could be. To be fair, though, it’s a tough problem: Parquet supports a broad range of encodings and compression schemes, and to do that, it pulls in a lot of dependencies and requires complex dependency management.

That’s one of the main reasons we built FastLanes from scratch instead of trying to integrate with Parquet.

With FastLanes, we’ve taken a different approach: zero dependencies, no SIMD intrinsics, and a design that’s fully auto-vectorizable. The result is simpler code that still delivers high performance.
by carlesfe | 2025-07-24 18:56:34+00:00
Novels were dictated, that is absolutely correct, but on top of it, the whole plot was developed with a high level of detail before dictation started. There was some editing, of course, but nothing like we do today, where writing books is basically an iterative process. We lean on the written word too much for our thinking (not being critical, just that’s how we are taught)
by fleebee | 2025-07-24 18:56:46+00:00
The analogy is pretty generous towards LLMs. I like Eevee's response to it in her blog post[1]:

>What I do know is that a table saw quickly cuts straight lines. That is the thing it does. It doesn’t do Whatever. It doesn’t sometimes cut wavy lines and sometimes glue pieces together instead. It doesn’t roll some dice and guess what shape of cut you are statistically likely to want based on an extensive database of previous cuts. It cuts a straight f*cking line.

>If I were a carpenter, and my colleagues got really into this new thing where you just chuck 2×4s at a spinning whirling mass of blades until a chair comes out the other side… you know, I just might want to switch careers.

[1]: https://eev.ee/blog/2025/07/03/the-rise-of-whatever/
by fmbb | 2025-07-24 18:56:53+00:00
Copy&paste between apps should work just fine using this window manager.

I have not tried mwm but use my own 100 line C window manager and I can copy and paste without issue.

Wayland will take 20 more years before it can dethrone X11. And even then we will mostly run X11 apps on XWayland.
by nkotov | 2025-07-24 18:57:06+00:00
I feel like there should be two modes - search and answer. It's helpful to get an AI summarize answer like 90% of the time. But the other 10%, I am searching for something specific.

I use Perplexity's Comet browser part-time now. I feel like what makes me annoyed about AI overview summaries is that sometimes I really just need to get the actual site itself and not a summary. For example, I needed to find EC2 pricing information and Perplexity's default search gave me a summary answer. I was looking for Vantage.sh's instance info site.
by godelski | 2025-07-24 18:57:10+00:00
> with cleanup at Fukushima Daichii

To add a small note here: the background level of radiation is fairly safe in most of the region. The danger (including in the Chernobyl region) is more about concern of small radioactive particulate. Things like your vegetables in your garden could become deadly because they formed around a hot material that was buried in the ground. Same can happen with rain runoff.

These are manageable, but expensive and still take care. You'd still want to arm everyone with a detector and get them to be in the habit of testing their food and water (highly manageable for public water or food).
by cassepipe | 2025-07-24 18:57:27+00:00
Eating while actually being hungry is a great sensation. That's why I stopped snacking/sugar treats, it always spoil my hunger for when it's meal time. On the other hand, when I have having my meal, no restriction on veggies/meat/fish, open bar, I eat as much as I want.

I always welcome hunger knowing that I live in a society of calorie abundance. I generally tend to feel annoyed when people that are hungry start treating like an emergency.
by harmmonica | 2025-07-24 18:57:30+00:00
I upvoted you but I literally wanted to reply with "THIS!" because it's such an important point. There is no direct dollar cost to municipalities to doing many of these and many of them would actually save cities money (though I think the direct dollar savings are on the margins). Some of the externalities will have costs, many qualitative and/or subjective (how dare you take away my constitutional right to street parking!), but generally speaking if you went through the list and tried to quantify the externalized costs one by one you'd end up with massive dollar savings, or maybe better put many of the major external costs of enacting these would be voluntarily shouldered by the residents/businesses vs. the municipalities.
by Izkata | 2025-07-24 18:57:40+00:00
There was a post a decade or more ago, I think written with Java, that used variables like "firstname", "lastname", "fullname", and "nickname" in its example, including some functions to convert between them. Does this sound familiar to anyone?

The examples were a bit less contrived than this, encoding business rules where you'd want nickname for most UI but real name for official notifications, and the type system prevented future devs from using the wrong one when adding new UI or emails.
by ajross | 2025-07-24 18:57:48+00:00
ARM is easier than x86, but not really. VLIW instructions also encode the superscalar pipeline assignments (or a reasonable proxy for them) and are required to be constructed without instruction interdependencies (within the single bundle, anyway), which traditional ISAs need to spend hardware to figure out.

Really VLIW is a fine idea. It's just not that great an idea, and in practice it wasn't enough to save ia64. But it's not what killed it, either.
by carlesfe | 2025-07-24 18:58:04+00:00
I’ve read Tolstoy’s diaries and he mentions the thought process he uses to write small novels. First he thinks about what should happen, then he writes (or dictates) the text. Thinking takes a few weeks, sometimes a month, then writing is pretty quick. There is some editing, but nothing like we do nowadays.

Bigger novels such as war and peace were written episodically.
by kube-system | 2025-07-24 18:58:08+00:00
That's a common misconception, but hybrids are almost never as complicated as an ICE powertrain plus an EV powertrain. E.g. most hybrids are able to eliminate many parts that ICE vehicles require, like, starters, drive belts, multi-ratio transmissions, alternators, etc. Because of this, many hybrids surpass ICE-only vehicles in reliability.
by procaryote | 2025-07-24 18:58:08+00:00
I wondered how these things work out in practice, as the difficulty of adhering to a diet or exercise plan is a real factor

I found this https://pmc.ncbi.nlm.nih.gov/articles/PMC3339766/

TL;DR; in that study of 4k people:

"A substantial proportion of obese U.S. adults who attempted to lose weight reported weight loss, at least in the short term. Obese adults were more likely to report achieving meaningful weight loss if they ate less fat, exercised more, used prescription weight loss medications, or participated in commercial weight loss programs."

Also somewhat interesting that eating diet products negatively correlated with weight loss

One could read that as exercising more or eating less both work.
by Mars008 | 2025-07-24 18:58:10+00:00
It's a tool which is like others. It has limits and needs to get used to. From my experience first attempts are overoptimistic. I tried big chunks at once. Then I learned smaller tasks work better. But the most important thing is it can do simple things in languages that I don't know and don't want to learn (due to natural brain's limitations). Just need to have things done, like simple web front end for application running its own server on some microcontroller.
by asveikau | 2025-07-24 18:58:52+00:00
> You have SQLite .db and .db-wal files, but no accompanying .db-shm file. Maybe your friend shared it with you, or you downloaded some data off the internet.

Honestly this sounds out of scope for normal usage of sqlite and not realistic. I had a hard time reading past this. If I read that correctly, they're saying sqlite doesn't work if one of the database files disappears from under it.

I guess if you had filesystem corruption it's possible that .db-shm disappears without notice and that's a problem. But that isn't sqlite's fault.
by hajile | 2025-07-24 18:58:59+00:00
The rumor is that Intel might not offer 18a to external customers rather than getting rid of 18a itself. A lot of this seems to be due to their design libraries still being quite proprietary and not much to do with the viability of the process itself.

It's not about how soon 14a and 10a come out, but rather about how good they are when they arrive. 14a will be competing against TSMC A16 in late 2026 and 10a will be competing with TSMC A14 in late 2027. The measure of Intel's success will be whether they are gaining or losing vs TSMC.

On the customer front, I think customers are probably necessary to offset the ever-increasing R&D costs and an extra year or two to work on making their libraries more standardized may be best for everyone.
by 9rx | 2025-07-24 18:59:05+00:00
> but a bug not being exploitable is still a bug that needs to be fixed.

Do you? Not every bug needs to be fixed. I've never see a data race bug in documented behaviour make it past initial development.

I have seen data races in undocumented behaviour in production, but as it isn't documented, your program doesn't have to do that! It doesn't matter if it fails. It wasn't a concern of your program in the first place.

That is still a problem if an attacker uses undocumented behaviour to find an exploit, but when it is benign... Oh well. Who cares?
by paldepind2 | 2025-07-24 18:59:05+00:00
I never understood why people are so keen to do that in TypeScript. With that definition a `UserID` can still be silently "coerced" to a `string` everywhere. So you only get halfway there to an encapsulated type.

I think it's a much better idea to do:

type UserID = { readonly __tag: unique symbol }

Now clients of `UserID` no longer knows anything about the representation. Like with the original approach you need a bit of casting, but that can be neatly encapsulated as it would be in the original approach anyway.
by LordDragonfang | 2025-07-24 18:59:20+00:00
That's not a meaningful percentage.

Project 2025 is a comprehensive conservative wish list. It's only scary because of the outrageous items mixed in with all the unremarkable ones that any conservative would put forth. You would expect any conservative, even a "good" one, to knock off a huge portion of the list just by virtue of being conservative; that tells us almost nothing about the likelihood of most of the rest of the list (especially from an administration that has at least claimed to disavow it)

Project 2025 is scary because of what it tells us about the American voters that support it, not because it has some sort of prognosticative power over what the Trump admin will actually do. It's about the Overton Window, not the Oval Office.
by roelschroeven | 2025-07-24 18:59:22+00:00
The post you commented on was talking about Toyota hybrids though, who don't use a CVT in the sense you're talking about.

They use a series-parallel hybrid transmission which is sometimes called eCVT, but works completely different from a classic CVT. There are no pullies, belts, chains, none of that. What they do have is a couple of motor-generators and a differential to link the system up with the engine and the drive shaft. No friction losses like CTVs have.

See https://prius.ecrostech.com/original/PriusFrames.htm, or look up "Hybrid Synergy Drive" on Wikipedia or Youtube or your favorite search engine.
by giraffe_lady | 2025-07-24 18:59:33+00:00
Typescript's type system is turing complete, so you can do basically anything with it if this sort of thing is fun to you. Which is pretty much my problem with it: this sort of thing can be fun, feels intellectually stimulating. But the added power doesn't make coding easier or make the code more sound. I've heard this sort of thing called the "type puzzle trap" and I agree with that.

I'll take a modern hindley milner variant any day. Sophisticated enough to model nearly any type information you'll have need of, without blurring the lines or admitting the temptation of encoding complex logic in it.