MurphyA/hacker-news huggingface dataset:
by DamnInteresting | 2025-12-18 18:19:51+00:00
Thanks! We had our 20th birthday earlier this year, so we've certainly been around for some vintage devices. Over the years our primary audience moved from desktop web browsers to mostly mobile readers, and now our largest audience is podcast listeners.

Site traffic is indeed down in recent years. The largest decline was when Facebook introduced "boosting," and stopped showing our posts to 90%+ of our Facebook followers overnight. I despise advertising, so I was unwilling to cave to their demand to "boost" our posts into ads. I'd have been happy to pay a reasonable monthly fee to reach our audience there, but that option was never available.

That big dip in traffic came with a big dip in donations, and as a consequence I eventually had to move from a part-time day job to full-time. The sharp reduction in free my time led to a sharp reduction in original content on Damn Interesting, which further shrunk the pool of people willing to donate.

This is a spiral that some would classify as "death," if I were willing to let it die. But it settled into an equilibrium where it pays for itself, makes a modest profit, and remains rewarding. Frankly I'd probably still do it even if donations dried up entirely, the research and writing give me a sense of purpose that would be difficult to replace.

I used to hope that a wealthy benefactor would discover us, and decide to fully fund our project for a few years, giving us space to realize more of the project's potential. But such offers come with strings attached, and I don't have the stomach for most of those. Perhaps I am broken.
by IMTDb | 2025-12-18 18:20:05+00:00
> Our first and default tool should be some form of lightweight automated testing

Manual verification isn't about skipping tests, it's about validating what to test in the first place.

You need to see the code work before you know what "working" even means. Does the screen render correctly? Does the API return sensible data? Does the flow make sense to users? Automated tests can only check what you tell them to check. If you haven't verified the behavior yourself first, you're just encoding your assumptions into test cases.

I'd take "no tests, but I verified it works end-to-end" over "full test coverage, but never checked if it solves the actual problem" every time. The first developer is focused on outcomes. The second is checking boxes.

Tests are crucial: they preserve known-good behavior but you have to establish what "good" looks like first, and that requires human judgment. Automate the verification, not the discovery. So our first and default tool remains manual verification
by jjmarr | 2025-12-18 18:20:11+00:00
Embedded systems that EEs code for are like this. I have to explicitly opt into processes and objects in Keil RTX. I also get to control memory layout.

Abstraction layers are terrible when you need to understand 100% of the code at all times. Doesn't mean they're not useful.

Heck, the language for just implementing mathematical rules about system behaviour into code exists. It's called Matlab Simulink.
by logifail | 2025-12-18 18:20:23+00:00
I suspect the underlying problem is that the gap between legitimate use of gift cards and fraudulent use of gift cards is just not very large...

Years ago I briefly played around with "manufactured spend" (on credit cards, to earn frequent flyer miles).

There was one specific loophole, with one specific gift card provider, and it was a doozy. You could earn credit card points on spend, plus supermarket loyalty points on spend, by buying gift cards from one specific provider which could be cashed out at face value (ie no fee at all) immediately to a specific type of savings account.

So, of course, world+dog was buying these things like it was the end of the world.

As I sat in a hotel room one evening rubbing the security codes off the latest batch of cards before redeeming them one-by-one into my savings account, it dawned on me that what I was doing was basically indistinguishable from money laundering. Of course it was NOT money laundering, but it would take some time to explain exactly why not...

The loophole was closed relatively quickly, and the gift card provider gave up.
by ritvikpandey21 | 2025-12-18 18:20:24+00:00
yeah models are definitely improving, but we've found even the latest ones still hallucinate and infer text rather than doing pure transcription. we carry out very rigorous benchmarks against all of the frontier models. we think the differentiation is in accuracy on truly messy docs (nested tables, degraded scans, handwriting) and being able to deploy on-prem/vpc for regulated industries.
by ritvikpandey21 | 2025-12-18 18:20:52+00:00
yeah models are definitely improving, but we've found even the latest ones still hallucinate and infer text rather than doing pure transcription. we carry out very rigorous benchmarks against all of the frontier models. we think the differentiation is in accuracy on truly messy docs (nested tables, degraded scans, handwriting) and being able to deploy on-prem/vpc for regulated industries.
by fencepost | 2025-12-18 18:21:09+00:00
The solution should be obvious to everyone: Just go back to 2008 and start running a large Apple developer conference in your country. If you do that, it should only take a week or two to get your problem resolved.

I'd say also that you should never purchase Apple gift cards from anyone except Apple directly, but if the card itself was tampered with (stolen, opened, scraped and code retrieved, re-covered with generically available scratch-off material, re-sealed, returned to the display) there's nothing keeping that from happening in Apple stores as well.

There is a technical measure that gift card providers could put in place to reduce this, specifically they could block activation of any cards with codes for which they've already started receiving activation/balance checks. There'd still be some risk (thieves would need to wait before testing cards and would have to hope for cards that were purchased but not yet redeemed) but it could be reduced somewhat.
by ge96 | 2025-12-18 18:21:21+00:00
For working out what annoys me is if I don't keep doing it, I get weaker and then I reverse in progress so that keeps me going, this in particular regarding benching. Also seeing for fasting/dieting seeing the steady down trend of losing a lb a day is nice and I'll feel guilty if I eat and it goes up 2. Until I hit my target anyway. And yeah it compounds/start doing other things like paying off debt.
by SynthJacques | 2025-12-18 18:21:55+00:00
Core Idea A public, tamper-evident infrastructure that records when authorized state changes occur, without revealing what changed, why it changed, or what value moved.

The system is not money, not a ledger, and not a payment rail. It is transactional infrastructure for private state.

Structural Properties 1. Opaque State Each participant controls one or more sealed "lockboxes." The contents (data, contracts, balances, logic) are private and unreadable to outsiders. Only key-holders can inspect or modify internal state. 2. Public Integrity, Not Public Meaning The system exposes cryptographic commitments to each lockbox. Observers can verify: that a change occurred, that it was authorized, that history was not rewritten. Observers cannot see: what changed, how much changed, or what the change represents. 3. Mutation Visibility Without Legibility The only globally visible signal is activity. Meaning, intent, value, and semantics are strictly off-chain. The system shows that something happened, never what happened. 4. Self-Contained Logic Lockboxes may contain deterministic, self-executing internal rules. Execution triggers are visible as events but opaque in purpose. External observers cannot distinguish real activity from decoy activity. 5. No Native Money The infrastructure does not define: units of account, balances, supply, or settlement. Any notion of "value" exists entirely inside private lockboxes. Enforcement of meaning is external (contracts, reputation, force). What the System Enables (in principle) Private contractual relationships without public balance sheets Shadow financial activity without ledger visibility Coordination without semantic surveillance Resistance to transaction graph analysis Saturation of monitoring systems via indistinguishable activity What the System Deliberately Does Not Do It does not enforce economic correctness globally It does not adjudicate disputes It does not guarantee fairness It does not replace states, courts, or money It does not produce transparency Civilizational Significance It separates integrity from legibility It attacks informational sovereignty, not monetary issuance It shifts power from auditors to key-holders It enables large-scale activity that is observable but uninterpretable One-Sentence Characterization A public, append-only mutation log for private cryptographic state machines, where integrity is global, meaning is local, and visibility does not imply understanding.
by drakonka | 2025-12-18 18:22:24+00:00
Do I have to pick? I moved to a university town last year and started registering for whatever sounds interesting. There are so many fascinating things to learn about! My first ever university course ended up being about nuclear weapons. I just finished the second, about the research front in life sciences. Next term I'm hoping to take a cosmology course. And just unofficially dropping in to some philosophy paper reading sessions. I'm only taking one course per term, always part-time evening classes as I work full time so this is purely a recreational thing. I want to study _everything_.
How do you find early users for an MVP dev tool?
by yashwantphogat | 2025-12-18 18:22:27+00:00
Hi everyone,

I’m looking for some perspective from people who’ve been through this.

I’ve been working on a pull request reviewer for the last couple of months and recently got it to an MVP stage. Building it was exciting, but once I launched, I ran into something I didn’t expect: getting even a handful of real users has been surprisingly hard.

Now I’m stuck in a bit of a loop. I want to keep improving the product, but without users it’s hard to know what actually matters or stay motivated. At the same time, I worry that if people do try it, they’ll bounce quickly because it’s still an MVP with limited features.

For those who’ve built developer tools before:

How did you find your first few real users?

Did you focus on distribution early, or keep iterating quietly?

How do you balance “it’s too early” vs “it’ll never be ready without users”?

Curious how others have handled this stage.
by dekhn | 2025-12-18 18:22:47+00:00
Prove is a strong word. There are few cases in real-world programming where you can prove anything.

I prefer to make this probabilistic: use testing to reduce the probability that your code isn't correct, for the situations in which it is expected to be deployed. In this sense, coding and testing is much like doing experimental physics: we never really prove a theory or disprove it, we just invalidate clearly wrong ones.
by thegrim000 | 2025-12-18 18:22:47+00:00
I mean, the real steering force is the fact that somewhere between a quarter and a third of all stories on HN come from the same ~20 power users whose accounts post a dozen stories every single day of every single year to the site. Last time I ran AI sentiment analysis over the stories from those accounts, it classified over a third of them as either breaking HN's posted guidelines or as being "extremely" political in nature. And yet the mods are seemingly fine with the situation.
by dismalaf | 2025-12-18 18:22:52+00:00
The lab leak theory was always credible. Here in Canada there was a big scandal with Chinese scientists who worked for one of our labs who secretly transferred specimens from Winnipeg to Wuhan in 2019 and the subsequent police investigation went public in 2020.

Here's a good article that's basically a summary of events (as well as teaser for a book): https://www.thestar.com/news/insight/from-our-lab-to-theirs-...
by somat | 2025-12-18 18:23:09+00:00
Why does it matter? I mean I guess it did in this case but that is considered a top priority bug and quickly fixed.

I guess my point is the way the internet works is that your traffic goes through a number of unknown and possibly hostile actors on it's way to the final destination. Having a hostile actor presenting a spoofed wifi access point should not affect your security stance in any way. Either the connection works and you have the access you wanted or it does not. If you used secure protocols they are just as secure and if you used insecure protocols they are just as insecure.

Now having said that I will contradict myself, we are used to having our first hop be a high security trusted domain and tend to be a little sloppy there even when it is not. but still in general it does not matter. A secure connection is still a secure connection.
by whinvik | 2025-12-18 18:23:19+00:00
I actually have 0 enthusiasm for this model. When GPT 5 came out it was clearly the best model, but since Opus 4.5, GPT5.x just feels so slow. So, I am going to skip all `thinking` releases from OpenAI and check them again only if they come up with something that does not rely so much on thinking.
by tommica | 2025-12-18 18:23:21+00:00
Not really. Let's reverse the situation on you - why should we take your opinion seriously, we have no idea how much you have shipped, if anything at all, so by your logic, your ragging on the other programmers practices is ridiculous.

I've shipped a few things over the years, but doubt I have strong takes in programming, besides 'the "properness" of a variables name is dependent on the amount of lines between it's definition and usage.' Doubt anyone will take my considerations seriously.
by Perepiska | 2025-12-18 18:23:23+00:00
So I've decided to give it a try. Open installation instructions and went thru "easy install with uvx" / "get and run our sgell script" until get "pip install ty". I do not want use other tools so I started it in pet project directory as "ty check". Is shows me progressbar and "98/99 files" then hang. I restarted it and it hung on "68/99" and started using 100% of cpu core. I waited for 15 min and killed it. Try to get more information about current file but there is no verbose mode but colorful "ty --help" output. Lets wait for a year then try again.

Edit: +"then try again"
by vladsh | 2025-12-18 18:23:57+00:00
We should get back to the basic definition of the engineering job. An engineer understands requirements, translates them into logical flows that can be automated, communicates tradeoffs across the organization, and makes tradeoff calls on maintainability, extensibility, readability, and security. Most importantly, they’re accountable for the outcome, because many tradeoffs only reveal their cost once they hit reality

None of this is covered by code generation, nor by juniors submitting random PRs. Those are symptoms of juniors (not only) missing fundamentals. When we forget what the job actually is, we create misalignment with junior engineers and end up with weird ideas like "spec-driven development"

If anything, coding agents are a wake-up call that clarify what engineering profession is really about
by cess11 | 2025-12-18 18:24:02+00:00
You're leaving out a lot of detail. Yes, Mossadegh stopped counting votes, claiming the election was corrupted by foreign influence, which it to some extent was. Less than half the members of the majlis that had thus been elected belonged to his own party, so that wasn't exactly a power grab for himself.

In the events that followed his popularity rose and he tried to gather a government but was blocked by the shah, which made him even more popular, to the extent that the armed forces backed off from containing the demonstrations. It's against this background he sent a bill to the majlis that would give him six months of emergency powers to push through with his political program and the nationalisation, which was approved.

After those six months he asked for another twelve months and got it, but his base had started to wither away and allies switched sides because the reforms didn't have enough effect fast enough in the international climate they were in. I.e. trade boycott and foreign influence operations and so on, which of course hurt his constituents. Some of his allies were also afraid that he might turn against them, hence they turned on him.

Churchill convinced Eisenhower that Mossadegh were going to deport the shah, and then they launched the coup.
by seneca | 2025-12-18 18:24:03+00:00
I hope this makes a big jump forward for them. I used to be a heavy Codex user, but it has just been so much worse than Claude Code both in UX and in actual results that I've completely given up on it. Anthropic needs a real competitor to keep them motivated and they just don't have one right now, so I'd really like to see OpenAI get back in the game.
by jijijijij | 2025-12-18 18:24:14+00:00
> because Apple has been so thoroughly not-invested in gaming

Is Apple invested in anything at all right now? Seems like they are only ever iterating over the same products in their idiotically domain separated legacy zoo of devices. Lately even fucking that up with UI "innovation" literally everyone hates. I mean, who's talking about Apple VR anymore? Apple AI is a meme. What are they cooking with all that cash?

I don't think Valve has to even consider Apple.
by Levitz | 2025-12-18 18:24:22+00:00
>By "political correctness" people often mean "the basic requirement to treat your fellow humans respectfully", and that's an incredibly low bar.

I've gotta disagree. By "political correctness" people generally mean to not saying or doing anything that could be perceived as offensive. Especially against collectives perceived to be vulnerable.

For example, in the tiny paragraph above I've absolutely respected my fellow humans, but it can be considered offensive because you can suppose I might be looking to justify prejudiced attitudes.

For an even more evident example, political correctness has to do with the political climate and identity (as you mention: sexism, racism, homophobia, transphobia, or anything else, as well as referring to "those groups"). That is very much detached from treating fellow humans respectfully.
by codeviking | 2025-12-18 18:24:23+00:00
I'm a big fan of lightweight, automated tests. Despite that, I still default to manual verification. Usually I do both.

Automated tests omit a certain type of feedback that I think remains important to the development loop. Automation doesn't care about a poor UX; it only verifies what you tell it to.

For instance, I regularly contribute to a CLI that's widely used at $WORK. I can easily write tests to verify the I/O of a command I'm working on that assert correctness. Yet if I actually try to use the command I'm changing, usually as part of verifying my changes, I tend to discover usability issues that make the program more pleasant to use and the tests would happily ignore.

Also, there's certainly cases where automation isn't worth the cost. Maybe because the resulting tests are complex, or brittle. I've often found UI tests to lie in this category (but maybe I'm doing them wrong).

Because of these things I think manual testing is the right default. Automated tests should also exist; but manual tests should _always_ be part of the process.
by dang | 2025-12-18 18:24:36+00:00
Show HN: Hacker News em dash user leaderboard pre-ChatGPT - https://news.ycombinator.com/item?id=45071722 - Aug 2025 (266 comments)

+ honorary mentions:

https://news.ycombinator.com/item?id=45053933 (Aug 2025)

https://news.ycombinator.com/item?id=27787448 (July 2021)
by runtimepanic | 2025-12-18 18:24:55+00:00
Interesting move. One thing I’m curious about is how opinionated the standard is supposed to be. In practice, agent “skills” tend to blur the line between capabilities, tools, and workflows, especially once statefulness and retries enter the picture. Is the goal here mostly interoperability between agent frameworks, or do you see this evolving into something closer to a contract for agent behavior over time? I can imagine standardization helping a lot, but only if it stays flexible enough to avoid freezing today’s agent design assumptions.
by sodapopcan | 2025-12-18 18:25:00+00:00
> It does not eliminate code reviews.

Yes it does. There are many ways to do things, of course, and you can institute that there must be an independent reviewer, but I see this is a colossal waste of time and takes away one of the many benefits of pairing. Switch pairs frequently, and by frequently I really mean "daily," and there is no need for review. This also covers "no fixed responsibilities" you mentioned (which I absolutely agree with).

Again, there are no rules for how things must be done, but this is my experience of three straight years working this way and it was highly effective.
by klik99 | 2025-12-18 18:25:03+00:00
Yes, I agree with this - as an expression of learning by wordless doing it was a really profound experience. The ending video of real life was great, reminded me of when I played a lot of Katamari and started seeing the whole world as things to roll up. I share the sentiment in these comments about Blow himself, but The Witness is a great game - though I get why people don’t like it: it’s a slow burn and requires a tolerance for pretentiousness. I don’t feel it was too long, it was as long as it needed to be, it’s just a big game
by mal-2 | 2025-12-18 18:25:39+00:00
This is what doesn't get discussed enough around htmx, in my opinion. So much of the difficult steps are left for the templating system, and template systems aren't great in general. You need to track a lot of identifiers for htmx to work properly, and your template and view logic needs to make that make sense. For the templating systems I've seen, that's not so simple to do.
by yencabulator | 2025-12-18 18:25:43+00:00
> "this program should not crash on any input" [...] though I expect those will be the last to be amenable to formal verification,

In the world of Rust, this is actually the easiest to achieve level of formal proofs.

Simple lints can eliminate panics and potentially-panicking operations (forcing you/LLM to use variants with runtime error handling, e.g. `s[i]` can become `s.get(i).unwrap_or(MyError::RuhRoh)?`, or more purpose-specific handling; same thing for e.g. enforcing that arithmetic never underflows/overflows).

Kani symbolically evaluates simple Rust functions and ensures that the function does not panic on any possible value on it's input, and on top of that you can add invariants to be enforced (e.g. search for an item in an array always returns either None or a valid index, and the value at that index fulfills the search criteria).

(The real challenge with e.g. Kani is structuring a codebase such that it has those simple-enough subparts where formal methods are feasible.)
by pksebben | 2025-12-18 18:25:59+00:00
This cuts to one of the critical issues with governance globally in this era. For a really long time, we relied on social norms and mores to keep governments in check - and astonishingly it worked at least a little. Embarrassment was a good proxy for well constituted rules of representation.

What right-wing institutions have noticed all around the world is that you can just kind of ignore all that shit now. Centrists are flailing around begging for an explanation for "how this could happen" and folks on the left, marginalized for years in favor of free markets, are just kind of facepalming and saying we told you so.

You need to put it in writing somewhere that there's a limit on governmental authority and enforce the hell out of it. You need to do the same to clamp down on the power of special interests and corporations. More than anything, you need robust mechanisms that make government representatives vulnerable to the voting public. The people need to be the ones that they scramble to please and when we get mad that should be dangerous and difficult for those holding the reins of government. Their existence needs to depend on the mandate of the public.