MurphyA/hacker-news huggingface dataset:
by Uehreka | 2025-06-29 22:58:43+00:00
> “the specific advantages of AI must be obvious and worthwhile to justify the investment.”

I feel like this sums up a lot of what’s going on here. Tons of students immediately saw that ChatGPT could write essays, and bought in. As LLMs and agents have gotten smarter, they’ve become more useful for coding, and developers have started to get into them.

To give a counterexample: Facebook’s rollout of Meta AI was busted and aimless. Their search UI is bloated with suggested prompts for things no one wants to do like “Write a script for a pop culture podcast” or “Imagine dog yoga”. Many posts are followed by suggested prompts for weird questions about the post’s content, like “What are fun activities to do with cats?” and “What do cats like to eat?” after a picture of my friend with her cat.

I’ve started using LLMs a lot more the past couple months, and I can start to see the faint outline of what Meta was trying to do. But after burning their first impression on an underskilled LLM and undercooked product thinking, I don’t know that users will give Meta AI a second chance even if their features do get better.
by fxtentacle | 2025-06-29 22:59:12+00:00
I went Yak shaving.

For my 3D audio project I need an affordable way to make plastic cases. I felt like injection molding services are way overpriced, so I decided to make the molds in-house. Turns out, CNC milling is overpriced, too. As are 5 axis CNC mills. So in the end, we built our own CNC machine.

And like these things always go, I found an EMI issue with my power supply and a USB compliance bug in the off-the-shelf stepper control board. But it all turned out OK in the end so we now have the first mold tool that was designed and machined fully in-house. And I learned so much about tool paths and drill bits. Plus it feels like now that everyone has experienced hands-on how stuff is milled, my team got a lot better at designing things for cheap manufacturing.
by osigurdson | 2025-06-29 22:59:31+00:00
It is generally better just to focus on algorithmic complexity - O(xN^k). The first version of the code should bring code to the lowest possible k (unless N is very small then who cares). Worry about x later. Don't even think about parallelizing until k is minimized. Vectorize before parallelizing.

For parallel code, you basically have to know in advance that it is needed. You can't normally just take a big stateful / mutable codebase and throw some cores at it.
by memset | 2025-06-29 22:59:48+00:00
A simple “ChatGPT for email.” I just want to be able to ask things like “What time is my flight next week” or “Can you pull up the email where I sent John the final documentation for the api?”

I don’t want to auto compose messages or anything. I just want the computer to filter out things I don’t care about and tell me the answer to things without hunting around my inbox.
by 9rx | 2025-06-29 23:00:21+00:00
> shows the author thinks Go has something over other languages.

How so? It is clearly just a story of someone's experience, not a technical evaluation of various languages. The only other language (aside from Lua) mentioned is C, and the C implementation was considered so good that it was to be the direct model for the implementation in the story, so we can assume that writing a Lua interpreter in C also rocks.

> Otherwise it’s like saying “why orange cats are fluffy”

Sure. That seems like a reasonably fair title for a story about your fluffy orange cat, even if other cats (and other animals, not to mention other things that aren't animals) are also fluffy. You could call it "Fluffy" instead, I suppose, but then someone would complain about the lack of details. You can never please everyone.

But, regardless of how you want to interpret the title, it remains that there isn't a competition. There never has been, never will be. A poorly written title wouldn't magically create a competition. Where does the bizarre idea that there is one stemming from?
by dzhiurgis | 2025-06-29 23:00:23+00:00
While I generally support Ryanair, there's something to be said about their boarding passes.

If you book their flights via agent (I had because of somewhat complex flight and I didn't want to enter details 4 times) then you can't really access their checkin page since agent uses their email address and Ryanair doesn't let you just use PNR + Name anymore (increasingly popular with other airlines too). My agency was still sleeping at the time of flight and badaboom badabing I had to pay €200+ for checking in 6 people.
by senko | 2025-06-29 23:00:31+00:00
* https://cijene.dev (HR, open source) - recently, Croatian retail chains were mandated to start publishing grocery prices online, but not how, so they made a mess of it; I've been building a crawler + unified API to avoid people duplicating the crawl/parse/cleanup effort (open source)

* https://trosko.hr (HR, Android/iOS app) - super-simple receipt/bill tracker (snap a photo of the receipt, reads it using Gemini, categorizes and stores locally - no accounts, no data gathering)

* https://github.com/senko/think (open source) - Python client library for LLMs (multiple providers, RAG, etc). I dislike the usual suspects (LangChain, LLamaIndex) but also don't want to tie myself to a specific provider, so chugging on my on lib for this.
by int_19h | 2025-06-29 23:00:39+00:00
Partisans were kinda notorious for their actions against civilians - sometimes to punish collaborators (although in practice it would often be the entire village deemed collectively responsible if e.g. some partisans were betrayed there, and burned down), but often just targeting the infrastructure to deny it to the Germans even if that meant that civilians would starve to death etc. Here's one famous partisan hero-martyr: https://en.wikipedia.org/wiki/Zoya_Kosmodemyanskaya
by zahlman | 2025-06-29 23:00:47+00:00
> For instance, if schizophrenia risk genes were not under positive selection, we would expect them to be purged from the gene pool over thousands of years.... Let’s say schizophrenia is associated with a 50% loss of reproductive fitness in 1% of the population (and there is no offsetting benefit in the rest of the population), then it would take roughly 180 generations to cut the rate in half and about 560 generations to reduce it to one-tenth of its original value (Mitteroecker & Merola, 2024). We’ve had a comparable number of generations since the Neolithic era, but as far as we know, the prevalence of schizophrenia has not decreased in the manner anticipated.

... Okay, but you already acknowledged that

> The process will be slow, but it will happen (this is not the same as saying schizophrenia itself can be eliminated, since it is highly polygenic and the pool of risk genes is not static).

So how do we know that modern-day schizophrenia isn't caused by a different set of genes? Maybe the Neolithic ones have been dying out from the gene pool, but new ones have consistently managed to keep replacing them. New genes can start contributing to the incidence of schizophrenia right away; even if they're otherwise neutral, they but won't die out due to the marginal effect on schizophrenia incidence for a very long time (much longer than the calculation above - since each one is, as we already established, causing only part of the loss in reproductive fitness). They don't need to be under positive selection, unless I've misunderstood something.
by noname120 | 2025-06-29 23:00:55+00:00
I'm not entirely sure if you realize that people here are highly technical yet don't get the point.

The problem isn't that you need to “make it easier to understand for business people” (which many here would take as an offense), the problem is that you're name dropping technologies and concepts without articulating exactly what problem your product solves, and what your exact value proposition is.

Something that does everything usually does nothing well, or at least doesn't provide a coherent dev experience with a sane mental model.
by ozim | 2025-06-29 23:00:57+00:00
Don’t want to be too negative.

Hope to point something from experience But.

It never is “one time”, amount of ways people mess up is huge. Even just when you make submit and 5x confirmation there will be once a week a new user that happens to acknowledge 5x they filled in all they needed and know it will not be possible to fill in again but… they really need to fix that one thing they messed up when filling in.
by zeroq | 2025-06-29 23:01:48+00:00
I'm really glad it found it way to top of HN, probably not for the first time. Well deserved.

Between Fabians dissections and Indigos trove of wisdom it's one of my favourite personal website.

It strikes perfect balance between "let me show you my kung-fu" and being simply a personal notepad.

I wish more people, myself included, would grow such gardens instead of trying to sound smart on blog posts.
by AKluge | 2025-06-29 23:02:35+00:00
Updating a treatment of a finite difference approach to Schrodinger's equation from WebGL to WebGPU, using WebGPU compute shaders. Having actual arrays for data storage is so much cleaner than the older approach with textures for data storage and fragment shaders for computations. https://www.vizitsolutions.com/portfolio/webgpu/compute/ Once this is caught up with the earlier version, I'll be extending it in terms of additional numerical issues and techniques and use it to build explorable educational content in 1-D quantum mechanics. Eventually, on to 2-D quantum mechanics.

I welcome feedback, just keep in mind that this is a work in progress, and I haven't even reviewed it for clarity and typos.
by baobun | 2025-06-29 23:03:03+00:00
Looked into Octelium recently and it looks like it depends on or at least assumes a kubernetes kluster for setup. Is this true? If so it makes it a bit of a non-starter for many - we want our nodes on the overlay network, not the other way around. It's a complex dependency for something low-level where we want mininal or no dependencies on other infrastructure or internal services. (Of course there are valid use-cases for SDN on top of the cluster and I guess that's what you're targeting initially but curious if that's also the end of it)

Or put another way, I hope that Kubernetes integration is an option, not a prerequisite and the only supported deployment.

In case there's already material on Octelium sans k8s that I missed, pointers would be appreciated!
by cube00 | 2025-06-29 23:03:15+00:00
> I would argue most malware comes down to uneducated users doing the wrong thing

This feels unnecessarily harsh. Those users are the victims of criminal activity. The protective controls could be a lot better.

Windows doesn't offer immutable local file versions to protect against ransomware running as a non-privileged user. It doesn't offer any protection if a single application suddenly starts to overwrite huge amounts of data.

Instead they choose to try and shove OneDrive down our throats as the only answer to ransomware protection.
by atombender | 2025-06-29 23:03:25+00:00
With that scheme, what about propagating errors upwards? It seems like you have to wrap all "foreign" error types that happen during execution with an explicit enum type.

For example, let's say the function frobnicate() writes to a file and might get all sorts of file errors (disk full, no permissions, etc.). It seems like those have to be wrapped or embedded, as the article suggests.

But then you can't use the "?" macro, I think? Because wrapping or embedding requires constructing a new error value from the original one. Every single downstream error coming from places like the standard library has to go through a transformation with map_err() or similar.
by ryandrake | 2025-06-29 23:03:27+00:00
The ultimate test will be if any future Democrat president (assuming we have fair elections after 2025) is able to use the same powers, justified by the same rulings. I think most people believe that SCOTUS will do a 180 turn and come to entirely opposite legal/Constitutional conclusions if a Dem president tries to argue the same things in front of them.
by GianFabien | 2025-06-29 23:03:51+00:00
I have been writing software for decades in areas ranging from industrial control to large business systems. I almost never use floats or doubles. In almost all cases 32 bit integers (and sometimes U64int) with some scaling suffices.

Perhaps it is the FORTRAN overhang of engineering education that predisposes folks to using floats when Int32/64 would be fine.

I shudder as to why in JavaScript they made Number a float/double instead of an integer. I constantly struggle to coerce JS to work with integers.
by ashdnazg | 2025-06-29 23:04:15+00:00
I'm writing a decompiler for Turbo Pascal 3.0, to reverse engineer an educational game from the 80s.

Since TP 3.0 does no optimisations, and looking at the progress so far (~25% decompiled), it seems like matching decompilation should be achievable.

If/when I get to 100%, I hope to make the process of annotating the result (Func13_var_2_2 is hardly an informative variable name) into a community project.
by david927 | 2025-06-29 23:04:17+00:00
I always wanted to do a keyboard/tablet combo (maybe they make these, I don't know).

The idea is a fully weighted hammer action keyboard with nothing else, such as the Arturia KeyLab 88 MkII, and add to that tiny LED lights above each key. And have a tablet computer which has a tutor, and it shows the notes but also a guitar hero like display of the coming notes, where the LED lights shine for where to press, and correction for timing and heaviness of press, etc.
by wat10000 | 2025-06-29 23:04:25+00:00
Am I understanding you correctly that there’s is one specific finite integer which equals BB(748), but that some models of ZFC will say it’s a different one, and it’s just not correct?

And since we can find a four-state Turing machine that runs for more than 100 steps before halting, ZFC’’ is just not correct when it says that BB(4) = 100, but we still say that 100 is the value in that model?
by iancmceachern | 2025-06-29 23:04:32+00:00
>>"absolutely prat"

Why the personal insult? Mods is this ok per HN policy?

I use and need it for work, yes big heavy things also need to be done in cities too. I noted this in my original comment. It's very tacky to personally insult a working person for the tools of their trade. You don't like the fact that a plumber needs a plumbing truck? How would a window installer get the windows to the jobsite? How do you bring diesel engines to install in their final locations?

And you are absolutely wrong on the repair of BMWs and especially Audis. Just look at used cars for those brands from a few years ago. You are right on maintenance, but I'm talking about repairs. Things breaking and needing replacement or repair. Anyone who has owned those brands will tell you. Also part prices are a big difference.

If you want a small car buy a Carolla, Camry or a Lexus. I'm not saying buy a big truck.

I'm saying it makes no sense to buy a vehicle over $50k that isn't a diesel pickup, except for "comfort" or "status".

If you don't need one for work, then buy a Camry. They're really nice.
by thaumasiotes | 2025-06-29 23:04:34+00:00
> That map you spend a week or two creating? It'll be a messy blur in a kindle.

There's a funny thing going on with maps in books.

Fantasy novels frequently include maps, and some people are pretty vocal about how much they appreciate those maps. But the maps are never relevant to the story at all; you'd lose absolutely nothing by leaving them out of the book.

History books also tend to include maps. The maps are much less detailed, and it's rare for people to make appreciative comments. But the maps are in there, even though the authors appear not to really care for them, because they're necessary to understanding most of what's going on. As far as relevance to the text is concerned, history books have a much more severe undersupply of maps than fantasy novels have an oversupply, and the fantasy oversupply is considerable.

And yet, somehow, all of the popular demand is for fantasy novels to have more maps and for history books to have fewer.
by jppittma | 2025-06-29 23:05:16+00:00
I don’t really agree with this. The vast majority of the time, if you encounter an error at runtime, there’s not much you can do about it, but log it and try again. From there, it becomes about bubbling the error up until you have the context to do that. Having to handle bespoke error type from different libraries is actually infuriating, and people thinking this is a good idea makes anyhow mandatory for development in the language.
by anal_reactor | 2025-06-29 23:05:32+00:00
That's true but it's just difficult to find people whose perspectives are valuable. At some point I decided to be more approachable in order to have more friends. While the skills I gained from that are useful, I also discovered that most people are just not worth my time and energy.

Having said that, I absolutely love the moments when I'm talking to someone and the other person tells me something that is indeed valuable. That's why I do put effort into maintaining friendships with people who aren't NPCs.
by saurik | 2025-06-29 23:05:49+00:00
> ...people who get used to "everything is an expression" languages tend to prefer it, I've found.

This feels awkward as my mental model is that in "everything is an expression" languages you simply DO NOT offer "return" (and, if you do, it must be mapped to bottom and do something insane like throw an exception... but, like, if you are really used to using such a language, you'd never let yourself type a "return", as the entire concept feels icky and wrong in such a language).
by ofjcihen | 2025-06-29 23:06:03+00:00
To be fair the vast, vast majority of exploitation that we see (especially in the news) comes from sub-par security setups and poor training/architecture. That’s no even going into security monitoring which most companies don’t or barely have.

Zero days account for very small amount of exploitation in comparison and by definition are unpatched so I think the commenter was right to point out the basics.
by devnullbrain | 2025-06-29 23:06:22+00:00
>This means, that a function will return an error enum, containing error variants that the function cannot even produce. If you match on this error enum, you will have to manually distinguish which of those variants are not applicable in your current scope

You have to anyway.

The return type isn't to define what error variants the function can return. We already have something for that, it's called the function body. If we only wanted to specify the variants that could be returned, we wouldn't need to specify anything at all: the compiler could work it out.

No. The point of the function signature is the interface for the calling function. If that function sees an error type with foo and bar and baz variants, it should have code paths for all of them.

It's not right to say that the function cannot produce them, only that it doesn't currently produce them.
by kazinator | 2025-06-29 23:07:25+00:00
Working on tail calls for TXR Lisp. Current release provides self tail calls only; and certain cases don't work, like applying in tail position. Plus there is a shadowing bug. These issues are addressed already.

Tail calls between different VM functions are the next challenge. I'm going to somehow have it allocate the VM instance in the same space (if the frame size of the target is larger than the source, "alloca" the difference). The arguments have to be smuggled somehow while we are reinitializing the frame in-place.

I might have a prefix instruction called tail which immediately precedes a call, apply, gcall or gapply. The vm dispatch loop will terminate when it encounters tail similarly to the end instructions. The caller will notice that a tail instruction had been executed, and then precipitate into the tail call logic which will interpret the prefixed instruction in a special way. The calling instruction has to pull out the argument values from whatever registers it refers to. They have to survive the in-place execution somehow.
by martin-t | 2025-06-29 23:07:48+00:00
Votes influence where you comment appears and therefore how many people see it.

If there is systematic manipulation going on, we should look for ways to fight against it.

If people have incorrect opinions (yes, there is such a thing - e.g. an opinion that is based either on false information or on correct information and a faulty chain of reasoning), we should try to correct their mistake.
by TimorousBestie | 2025-06-29 23:08:09+00:00
> At some point, the consequences of actions are felt.

“The market can stay irrational longer than you can stay solvent,” is a truism from before the Trump era, but it still rings true.

That the administration might eventually realize that one of their policies is hurting small business owners, well, that’s cold comfort to someone whose business is struggling or failing now due to unpredictable tariff rates.
by mananaysiempre | 2025-06-29 23:08:41+00:00
The difference is that Java does not have polymorphism for exception sets (I think? certainly it didn’t for anything back then), so you couldn’t even type e.g. a callback-invoking function properly. Otherwise, yes, as well as the discussions about monad transformers in Haskell from 15 years ago. Effects are effects are effects.
by andrewmcwatters | 2025-06-29 23:09:19+00:00
Go got this right. Lua also has a nice error mechanism that I haven't seen elsewhere where you can explicitly state where in the call stack the error is occurring (did I error from the caller? or the callee?).

Similarly, JavaScript seems to do OK, but I miss error levels. And C seems to also have OK error conventions that aren't too bad. There's a handful of them, and they're pretty uncontroversial.

Macros seem to be wrong in every language they're used, because people can't help themselves.

It's like a red flag that the language designers were OK giving you enough rope to hang yourself with, but also actively encourage you to kill yourself because why else would you use the rope for anything else?
by heavyset_go | 2025-06-29 23:09:31+00:00
I can identify with the guilt. In my case with my friend, their behavior lead to me distancing myself from them, not knowing what was going on, and I was his main source of socializing. Same thing happened with several of his other friends. The isolation definitely was something that amplified the progression of his illness to detachment with reality. Didn't help that the people he sought friendship from in lieu of us were scammers who fed into his delusions to take what little he had even when he became homeless.

If I could go back in time, I would do things differently, but at the same time I can't blame myself for not understanding what was happening and doing what was, at the time, the healthiest thing for myself.

Sorry to hear about your friend.
by martinald | 2025-06-29 23:11:02+00:00
Yeah but this very much intentional, because Ryanair (especially) do not want to be sold via agents. They have went to pretty extreme lengths to stop it. They do not want to be disintermediated (rightly or wrongly).

FWIW they do now have a page where you can verify with just email + PNR https://onlineform.ryanair.com/gb/en/customer-verification
by BugsJustFindMe | 2025-06-29 23:11:03+00:00
People don't bathe because everyone does it. People bathe because not bathing leads to personal loss from ostracization due to unpleasant odor. There's a huge difference. Calling it mindlessly following a social trend is weirdly misguided and not well thought through. You might have more to learn from the people you mindlessly call NPCs than you think.