MurphyA/hacker-news huggingface dataset:
by codebje | 2025-10-28 01:34:15+00:00
CQRS should really only guide you to designing separate query and command interfaces. If your processing is asynchronous then you have no choice but to have state about processing-in-flight, and your commands should return an acknowledgement of successful receipt of valid commands with a unique identifier for querying progress or results. If your processing is synchronous make your life easier by just returning the result. Purity of CQRS void-only commands is presentation fodder, not practicality.

(One might argue that all RPC is asynchronous; all such arguments eventually lead to message buses, at-least-once delivery, and the reply-queue pattern, but maybe that's also just presentation fodder.)
by kragen | 2025-10-28 01:35:20+00:00
Mostly I agree, and I'm sorry I went off on you like that. Cases like ConAgra v. Singleton take acquiescence further than simple laches. But acquiescence certainly didn't lose ConAgra their trademark in that case; it just allowed Singleton to keep using it as well, but only for some of his products.

"Heroin" is "inherently distinctive" in that it's a totally made-up word; it isn't a purely "generic" term like "Windows" or even a "descriptive" term like "Whole Foods". Even in German. The drug isn't literally extracted from heroes, it doesn't contain heroes, nothing like that. The reference here is to the spectrum of https://en.wikipedia.org/wiki/Trademark_distinctiveness. Even if most of the caselaw cited there is anachronistic in this case, many of the principles already existed at the time.
by mothballed | 2025-10-28 01:36:01+00:00
This also works on places like HN. I will often make an argument in my normal, working class low educated redneck hick sort of writing style. People will assume I have an unsophisticated basis for my argument and are way more likely to debate me on it. They like to attack an 'easy' target and even better if they are culturally seen as different.

If I use my pretend upper well-to-do white guy rhetoric with precise and deep vocabulary, I can make claims with a lower likelihood someone will challenge it, even if they are equally well backed.
by TheDong | 2025-10-28 01:36:44+00:00
> so is still a bug and should still get a CVE

It's a bug, sure. The V in CVE is for "vulnerability", which is why people treat CVEs as more than just bugs.

If every bug got a CVE, practically every commit would get one and they'd be even less useful than they are now.

At that point, why not just use commit hashes for CVEs and get rid of the system entirely if we're going to say every bug should get a CVE?

> Re: Harassment - Can't the project release a statement saying that the bug writeup is low quality and unable to be reproduced?

If your suggested response to a human DoS is "why can't the humans just do more work and write more difficult-to-word-correctly communication", then you're not understanding the problem.
by skissane | 2025-10-28 01:37:08+00:00
Well, if you run this Javascript:

Intl.DateTimeFormat([],{"timeStyle":"medium"}).format(new Date())

It should return the current time, formatted according to your locale and user preferences.

By contrast, this should return it formatted with the defaults for your locale, ignoring your user preferences:

Intl.DateTimeFormat(navigator.language,{"timeStyle":"medium"}).format(new Date())

For me, the first returns 24 hour time and the second returns 12 hour time. Because 12 hour time is default for my primary locale (en-AU), but I override it to 24 hour time in my macOS settings.

I know the same works on Windows, and I’m sure it works on Linux too, just the way you configure it is different for each OS.
by lmm | 2025-10-28 01:37:34+00:00
The Orient Express stopped running in 2009 (after it had already been successively cut back to just Strasbourg-Vienna), although it was a "normal train" in most senses (it was a regular EuroNight service, not really any different to ride from less famous ones like the Cassiopeia or Jan Kiepura).

The train you may be thinking of, a luxury train that imitates a historic one, is mimicing the the Simplon Orient Express which did not run through Vienna (and also it rarely goes beyond Venice).
by TheDong | 2025-10-28 01:39:00+00:00
> blindly take CVSS scoring as input without evaluating the vulnerability.

Evaluating the CVSS score in your own context is the work I'm talking about.

It does no one any good to have a CVE that says "may lead to remote code execution", when in fact it cannot, and if the reporter did more work, then you wouldn't need hundreds of people to independently do that work to determine this is garbage.
by Lerc | 2025-10-28 01:39:13+00:00
I agree that this can be a method that can provide insight. It's also one of the areas where journalistic ethics are most strongly considered.

A journalist has done good work if they report on their ability to smuggle a replica bomb onto a plane. It's a bit hazier if they smuggle a real bomb on board because it puts people at risk. They shouldn't blow up a plane to show how easy it is.

I didn't offer any judgement in my comment as to the ethics of this particular reporter, just noting that was the style that they do.

The claims she purported to represent Meta in public statements would, if true, count as unethical journalism. I don't know of the accuracy of those claims, so at this stage I would remain undecided but wary.
by astrange | 2025-10-28 01:40:07+00:00
Garbage disposal is also remarkably hard in Japan, maybe understandable since they don't have anywhere to put it.

Instead of the famous Japanese customer service, residential garbage requires you to sort it, put it in transparent bags, put it out on specific days etc. so your neighbors can personally shame you if you do any of it wrong.

Commercial garbage in Tokyo gets left out on the street (like NYC up until this year) and occasionally attracts rats.
by StarterPro | 2025-10-28 01:40:49+00:00
HA!

I've worked at MULTIPLE million dollar firms whose entire business relies on 10 Excel workbooks that were created 30 years ago by a person who is either passed on or retired.

Give users who aren't intimately knowledgeable with their source material ai, and you're asking for trouble.

The undo function has a history limit.

The real issue is: at what point are we going to stop chasing efficiency and profit at the sake of humanity?

Claude and OpenAI are built on stretched truths, stolen creativity and what-if statements.
by 4uazeT17 | 2025-10-28 01:41:27+00:00
Of course. DEI is for "community" members from the right families to get jobs through PyCon networks regardless of qualifications.

The leadership is generally white affluent virtue signaling male. A PSF fellow was canceled for pointing exactly that out (at the same time as Tim Peters was canceled).

So it is understandable why they want to preserve DEI but do not go after other economic or corruption or foreign policy failures of this administration --- after all, they have to preserve the same corporate sponsors who also sponsor Trump.
by b_fiive | 2025-10-28 01:43:54+00:00
delighted to hear! iroh-blobs is Rüdiger's love letter to BLAKE3, and hot dang has he taken this piece of machinery quite far. Much of this is covered in the post, but some highlights:

* fetch any sub-sequence of bytes, verified on send & receive * fetch sub-sequences of bytes in collections (sets of blobs / directories) * store on disk, inlining small blobs into the database for faster lookups * fan in from disk & the network * "multi-provider" fan in that can re-plan a fetch on the fly * should land support for WASM compilation (browsers) soon! https://github.com/n0-computer/iroh-blobs/pull/187

We're hard at work on making the API more ergonomic, but as a foundational protocol it's truly impressive. Rudi has been working with the BLAKE3 authors on both perf testing & the hazmat API.

disclosure: I work on iroh
by OgsyedIE | 2025-10-28 01:44:00+00:00
Surprised it's so low. There are 800 million users and the typical developed country has around 5±3% of the population[1] reporting at least one notable instance of suicidal feelings per year.

.

[1] Anybody concerned by such figures (as one justifiably should be without further context) should note that suicidality in the population is typically the result of their best approximation of the rational mind attempting to figure out an escape from a consistently negative situation under conditions of very limited information about alternatives, as is famously expressed in the David Foster Wallace quote on the topic.

The phenomenon usually vanishes after gaining new, previously inaccessible information about potential opportunities and strategies.
by adriand | 2025-10-28 01:44:40+00:00
DEI is not standardized. Organizations can seek various outcomes using various means. Redacting the names of job applicants, so as to eliminate discrimination based on gender and ethnicity, is an example of DEI that does not afford special privileges to any group at all. It simply removes the special, unearned privileges from certain groups.

I agree that not every unequal outcome is the result of discrimination. But we have plentiful examples of major inequities that are not explicable by “preference, ability, or other uncontrollable factors”. In 2021, the median Black household in the US had $27k in net worth compared to $250k for White households [1]. What uncontrollable factor accounts for this? It is not a preference, that’s for sure!

DEI is an attempt to try and address this inequity. If you’re not in favour of it, then what is your proposed solution? Would you support reparations, as Ta-Nehisi Coates has advocated? [2] This is my biggest issue with opponents of DEI: they don’t seem to have any ideas for what to do. They seem to prefer the status quo, which just so happens to benefit them.

1: https://www.pewresearch.org/2023/12/04/wealth-gaps-across-ra...

2: https://www.theatlantic.com/magazine/archive/2014/06/the-cas...
by moron4hire | 2025-10-28 01:45:33+00:00
Yeah, this is the main problem. Writing of code just isn't the bottle neck. It's the discovery of the business case that is the hard part. And if you don't know what it is, you can't prompt your way out of it.

We've been having a go around with corporate leadership at my company about "AI is going to solve our problems". Dude, you don't even know what our problems are. How are you going to prompt the AI to analyze a 300 page PDF on budget policy when you can't even tell me how you read a 300 page PDF with your eyes to analyze the budget policy.

I'm tempted to give them what they want: just a chatter box they can ask, "analyze this budget policy for me", just so I can see the looks on their faces when it spits out five poorly written paragraphs full of niceties that talk its way around ever doing any analysis.

I don't know, maybe I'm too much of a perfectionist. Maybe I'm the problem because I value getting the right answer rather than just spitting out reams of text nobody is ever going to read anyway. Maybe it's better to send the client a bill and hope they are using their own AIs to evaluate the work rather than reading it themselves? Who would ever think we were intentionally engaging in Fraud, Waste, and Abuse if it was the AI that did it?
by spiritplumber | 2025-10-28 01:46:07+00:00
Missed opportunity to call it TRON.

ALAN It's called Tron. It's a security program itself, actually. Monitors all the contacts between our system and other systems... If it finds anything going on that's not scheduled, it shuts it down. I sent you a memo on it. DILLINGER Mmm. Part of the Master Control Program? ALAN No, it'll run independently. It can watchdog the MCP as well. DILLINGER Ah. Sounds good. Well, we should have you running again in a couple of days, I hope.
by StarterPro | 2025-10-28 01:46:33+00:00
Anti-AI bias is motivated by the waste of natural resources due to a handful of non-technical douchebag tech bros.

Everything isn't about money, I know that status and power are all you ai narcissists dream about. But you'll never be Bill Gates, nor will you be Elon Musk.

Once ai has gone the way of "Web3", "NFTs", "blockchain", "3D tvs", etc; You'll find a new grift to latch your life savings onto.
by furyofantares | 2025-10-28 01:47:15+00:00
And on the way out of the LLM. Token savings nice on the way out too, and then also I have to imagine it's better for the LLM to see one format in all of it's context instead of two.

It seems like a nice idea to me if restricted to that. Although I guess I am not sure if it's really intended that way - the array count for example is probably pretty bad for LLM output.
by simonw | 2025-10-28 01:47:25+00:00
Funny you should use role/permissions as an example here, I spent the weekend using Claude Code to rewrite my own permissions engine to a new design that uses SQL queries to solve the problem "list all of the resources that this actor can perform this action on".

My previous design required looping through all known resources asking "can actor X action Y on this?". The new design gets to generate a very complex by thoroughly tested SQL query instead.

Applying that new design and updating the hundred of related tests would have taken me weeks. I got it done in two days.

Here's a diff that captures most of the work: https://github.com/simonw/datasette/compare/e951f7e81f038e43...
by mindcrime | 2025-10-28 01:47:59+00:00
I have never heard of anyone using Go for realtime systems because of its GC and preemptive scheduler.

I don't know. I've seen "realtime" used quite often in a sort of colloquial sense, where it means something fairly different from "hard realtime system" as an embedded systems person might use the term. I think there's a pretty large base of people who use "realtime" to mean something that others might call "near real-time" or just "continually updating" or something along those lines, where's there's no implication of needing nanosecond level predictable scheduling and what-not.

That's not to say that the article isn't AI generated, or whatever. Just that I wouldn't necessarily see the use of the "realtime" nomenclature as strong support for that possibility.
by ray_v | 2025-10-28 01:48:21+00:00
My fist reaction was that it would be immediately rejected, but the more I thought about it, it seems like it could work if you moved clocks BACK 5 minutes at the START of each MONTH from July 1st to December 1st, and then FORWARD 5 minutes starting from January 1st to June 1st.

No, the more I think about this, PROGRAMMERS will HATE this.
by jerlam | 2025-10-28 01:48:32+00:00
Sure, if you have specific information about the people polled and the general makeup of the population, you can extrapolate these results. I didn't see that it's happening here, it's just the results of a specific group who bothered to answer the poll.

Having 3000 responses doesn't automatically mean the results are meaningful. I can poll 5000 Facebook employees and get results that say 100% of them have a vacation plan and 90% of them have taken a day off in the past year.
by keyle | 2025-10-28 01:49:17+00:00
It's fairly easy to know how to poke around these businesses. Look up the people, the business, and the product. It's less fun when it involves linkedin. Every country has a database of business numbers to name and rough documentation. Dns look up can reveal some information. Social media typically finish the rest. These "founders" are often serial founders, with a ton of abandoned projects and a trail on product hunt, and other websites.

In this case, what really gets to me is the basic template website they're using; with image carousel but only one image... and the fact that they appeared to have paid influencers on youtube to shill their product.

It feels rushed, and not in a good way.
by jiggawatts | 2025-10-28 01:51:45+00:00
It’s DNS far too often in large part because Linux has the default behaviour of having a singular (“the”) name server.

If you configure multiple, this is not the same as in Windows, MacOS, iOS, or even Android. It’s not a pair of redundant servers, it’s a sequential list of logically layered configurations, like an override.

An outage of the primary will cause repeated timeouts until it comes back up. Contrast this with every other operating system that does not seek to emulate forever and ever the specific network setup of some computer lab at Berkeley in the 1970s, where failover is near instant (sub-second in Windows Vista and later) and persists, so that a small failure doesn’t become a big one.

To compound things, thanks to response caching and the relatively good stability of typical DNS servers, this failure mode is rare enough that most admins have never encountered it and probably don’t even recognise the problem. Or worse, they’ll handwave it away saying things starting with “You can…” or “You should…”. Who’s this “You” person? It’s not me! It’s not most admins, none I’ve met are named You. None have changed this default in my experience. Not one. That would be a design decision requiring sign off, testing, rollout, etc…

I’ve seen this take down corporations for a day.

Defaults matter.
by kujjerl7 | 2025-10-28 01:52:32+00:00
>it can't make movies

Humans are sharply declining in this ability at the same time. Most of what Hollywood churns out now is superhero slop, forced-diversity spin-offs, awful remakes of classics, and awkward comebacks for yesteryear's leading men.

I know it's not a movie but I could've happily watched "Nothing, Forever" for the rest of my life. That was creative, chaotic, hilarious, and wildly entertaining.

Meanwhile I watched the human-created War Of The Worlds (2025) last weekend... The less said, the better.
by ranger_danger | 2025-10-28 01:52:36+00:00
I don't think that's what it is.

> Low-intelligence people are masters of black-and-white thinking. It's also part of a psychological defense mechanism called "splitting."

> They only seem to think in terms of opposites, ignoring the grey areas in between. Reality is too complex to be interpreted only in opposites.

> As a result, they tend to simplify everything. While simplification is useful sometimes, not everything can, or should be, simplified. Knowing what does and doesn’t require simplification signals high intelligence.

The problem is when you speak in absolutes while simultaneously "not meaning it" that way, is that this is not conveyed to the people you are speaking to, so we can only assume that you did mean it, and now we think you're being unreasonably generalizing.

And I think it's pretty hard to have a useful conversation if we cannot use agreed upon terms to convey what we mean. If you know that not everyone will understand your intention by saying it that way, then why do it?
by stephen_g | 2025-10-28 01:53:10+00:00
Self driving cars won’t fix the real problem - cars take up too much space for the number of people they carry in any reasonably dense city. I’d be quite confident bike lanes should be improving traffic by taking cars off the road more than they are causing “headaches” for traffic.

There are well studied effects that show good bike infrastructure gets more people (especially the young, old, women etc.) cycling who would be too fearful to cycle in traffic, because separate cycle lanes are both in reality far safer but also feel far more safe.

And bike lanes are actually really good for mobility scooters and other kinds of ways for elderly and disabled to get around!
by windex | 2025-10-28 01:53:14+00:00
Hey, this is very useful. I worked in a couple of large consulting firms and this type of entity search was a deal blocker in some cases because the research teams would be busy trying to find the ultimate identity of parent for conflict checks. As a result, sales teams were wasting times engaging customers they didn't need to, contracts were delayed as discovery took too long etc. Reputational/compliance risk is something we used to try to avoid.

Also commenting so I can come back.
by harrall | 2025-10-28 01:56:04+00:00
There’s actually different classes of errors though. There’s errors in the process itself versus errors that happen when performing the process.

For example, if I ask you to tabulate orders via a query but you forgot to include an entire table, this is a major error of process but the query itself actually is consistently error-free.

Reducing error and mistakes is very much modeling where error can happen. I never trust an LLM to interpret data from a spreadsheet because I cannot verify every individual result, but I am willing to ask an LLM to write a macro that tabulates the data because I can verify the algorithm and the macro result will always be consistent.

Using Claude to interpret the data directly for me is scary because those kinds of errors are neither verifiable nor consistent. At least with the “missing table” example, that error may make the analysis completely bunk but once it is corrected, it is always correct.
by fukka42 | 2025-10-28 01:56:07+00:00
I have a "server" at home. It's just an old desktop. I use a PiKVM (similar to JetKVM) to manage it remotely when the kernel crashes or I fuck up the boot. It happens rarely, but it's nice I can just fix things remotely.

The PiKVM runs wireguard so it's reasonably secure. I assume JetKVM can do the same.
by rileymat2 | 2025-10-28 01:56:31+00:00
I am not arguing because I am ignorant and curious, but if "if (isOwner(userMail, resource.ownerMail)) { // grant access }" is on the client side, and the code for isOwner is async on server side as described, returning a promise waiting on the network call, isn't that trivial to hack?
by CharlieDigital | 2025-10-28 01:57:01+00:00
I wrote our AI agents code with a functional core + imperative shell and I have to agree: this approach yields much faster cycle times because you can run pure unit tests and it makes testing a lot easier.

We have tens of thousands of lines of code for the platform and millions of workflow runs through them with no production errors coming from the core agent runtime which manages workflow state, variables, rehydration (suspend + resume). All of the errors and fragility are at the imperative shell (usually integrations).

Some of the examples in this thread I think get it wrong.

db.getUsers() |> filter(User.isExpired(Date.now()) |> map(generateExpiryEmail) |> email.bulkSend

This is already wrong because the call already starts with I/O; flip it and it makes a lot more sense.

What you really want is (in TS, as an example):

bulkSend( userFn: () => user[], filterFn: (user: User) => bool, expiryEmailProducerFn: (user: User) => Email, senderFn: (email: Email) => string )

The effect of this is that the inner logic of `bulkSend` is completely decoupled from I/O and external logic. Now there's no need for mocking or integration tests because it is possible to use pure unit tests by simply swapping out the functions. I can easily unit test `bulkSend` because I don't need to mock anything or know about the inner behavior.

I chose this approach because writing integration tests with LLM calls would make the testing run too slowly (and costly!) so most of the interaction with the LLM is simply a function passed into our core where there's a lot of logic of parsing and moving variables and state around. You can see here that you no longer need mocks and no longer need to spy on calls because in the unit test, you can pass in whatever function you need and you can simply observe if the function was called correctly without a spy.

It is easier than most folks think to adopt -- even in imperative languages -- by simply getting comfortable working with functions at the interfaces of your core API. Wherever you have I/O or a parameter that would be obtained from I/O (database call), replace it with a function that returns the data instead. Now you can write a pure unit test by just passing in a function in the test.

I am very surprised how many of the devs on the team never write code that passes a function down.