MurphyA/hacker-news huggingface dataset:
by MrJohz | 2025-09-07 12:01:32+00:00
> I don't want to write my own validation in a CLI, give me a good API already that first validates and then converts the inputs into my declared schema

But that _is_ parsing, at least in the sense of "parse, don't validate". It's about turning inputs into real objects representing the domain code that you're about to be working with. The result is still going to be a DTO of some description, but it will be a DTO with guaranteed invariants that are useful to you. For example, a post request shouldn't be parsed into a user object just because it shares a lot of fields in common with a user. Instead it should become a DTO with the invariants fulfilled that makes sense for a DTO. Some of those invariants are simple (like "dates should be valid" -> the DTO contains Date objects not strings), and some will be more complex like the "if the server is active, then the port also needs to be provided" restriction from the article.

This is one of the key ideas behind Zod - it isn't just trying to validate whether an object matches a certain schema, but it converts the result into a type that accurately expresses the invariants that must be in place if the object is valid.
by fauigerzigerk | 2025-09-07 12:01:35+00:00
All I am saying is that it would be incorrect to _store_ a future date/time such as "13:00 on the 12th Sept 2025 Europe/London" as an instant in time, because the instant it refers to is yet to be determined. This is a very simple and pragmatic argument that matters when you choose data types for your database schema.
by dsiegel2275 | 2025-09-07 12:01:56+00:00
I'm only three weeks into using Claude Code but I'm now seeing impressive results using a structured, "role" or "persona" based approach in a large (500K+ SLOC) Elixir / Phoenix codebase. I'm using the $200 Max plan - so my inference costs are fixed.

For certain, the results are better when I use it to build new features into our platform - as opposed to making complicated refactors or other deep changes to existing parts of the system. But even in the latter case, if we have good technical documentation capturing the design and how parts of the system work (which we don't in many places), Claude Code can make good progress.

At first I was seeing a fair amount of what I would consider "bad code" - implementation and code that either didn't follow accepted coding style and patterns or that simply wasn't structured for reusability, maintainability. But after strengthening the CLAUDE.md file and adding an "elixir-code-reviewer" subagent which the "developer" persona had to use - the quality of code improved significantly.

Our platform is open source, you can see our current Claude commands and subagents here: https://github.com/Simon-Initiative/oli-torus/tree/master/.c...
by simonw | 2025-09-07 12:02:10+00:00
The mundane examples were the point. I'm not picking things to show it in the best possible light, I picked a representative sample of the ways I've been using it.

I called out the terrible scatter plot of the latitude/longitude points because it helped show that this thing has its own flaws.

I know so many people who are convinced that ChatGPT's search feature is entirely useless. This post is mainly for them.
by jmull | 2025-09-07 12:02:23+00:00
"Being good isn’t enough"

I agree with that. I've seen people get frustrated with this where they and their employer (as embodied by their manager or colleges) are talking past each other, in a sense.

Employee is very good at X, and wants their job to be about X and be judged on X. But to their manager and colleges, the job they want them to do is only partially about X; they'd also like a lot of Y and some Z in there as well.

Anyway, I generally agree with sentiment of the article, though it's too self-helpy for me.

Also: A lot of stuff happens in life that has no regard for your hard work, skill and diligence. Learning to roll with the punches is one of those soft skills everyone tends to need sooner or later, sometimes too frequently.
by sunscream89 | 2025-09-07 12:02:35+00:00
Holy f* I said a simpler version of this and got karma negged.

I didn’t say “developers routinely mis-estimate their projections by ~25% because they do not anticipate admin overhead sich as emails, phone calls, or other non technical back and fourth.” So if projections are regularly skewed hedge the projections and refine the process.
by mooreds | 2025-09-07 12:03:24+00:00
I think it did start out as a tweet. Here it is in 2022: https://x.com/jlengstorf/status/1483803682206466049

I also think that he digs in a bit more:

> Whether or not that’s a good thing depends on whether or not you enjoy the work.

But I agree, he could have does a lot more analysis.

The metaphor is striking, though.
by qcnguy | 2025-09-07 12:03:44+00:00
People who work more get more done. Yes, there are limits. It's not obvious 45 hours a week is that limit.

Observe that the two places in the world with cutting edge AI startups are America and China. Europe has none. Maybe Mistral if you're generous, or DeepMind if you ignore that they got bought by Google, which IMO is OK because a lot of US startups have no plausible future outside of being bought and nobody claims that makes them not an AI startup.

But US and China lead. Americans work way more hours than Europeans do, mostly through taking fewer holidays rather than working Saturdays. And the Chinese have caught up to the cutting edge of AI very fast, despite facing trade sanctions, Great Firewalls and other obstacles. It is reasonable to infer that they did this by working really, really hard.

I was once told by a US executive that the rule of thumb is people in America (vs "Americans") work ~20% more than people in Europe. Skill level is the same, but Europeans both get more vacation time, have more national holidays, and are harder to fire for low performance. It adds up to a big difference, especially compounded over time. If 996 adds another 20% for China over America, then the Chinese will take the lead. They might burn out a lot of devs along the way (in fact they will), but maybe not as many as you think - after all America has not suffered mass burnout from having 15 days of vacation a year instead of 25 - and success will continue to accrue.

This is a painful truth. I myself work part time and get European vacations. It is pleasant. Yet I know it cannot last. Europe has become a vassal continent, in which Trump dictates terms and the EU accepts them without negotiation, because of the decisions its society has made; one of the biggest being to take life easy.
by latexr | 2025-09-07 12:04:43+00:00
It’s interesting, I’ll give you that, but feels entirely like the wrong approach.

I opened the page before reading your post, and what immediately jumped out at me is that you say you’re a graphic designer but then you’re copying someone else’s old design which isn’t even that good.

The second thing I noticed was the obvious AI icon for the login, and that hovering on it makes it move weirdly. I haven’t used Windows XP in over two decades but don’t remember it doing that. It looks like an error.

At that point, I started losing confidence. You are supposed to be a graphic designer but are obviously using AI to design graphics and I assumed you would be doing the same for the code.

The resume as a fake PDF is cramped and zooming in feels like a poor solution.

Same thing with your projects, I can’t view them properly because they’re shoved in a tiny window for no reason. Plus, two of them are just loading animations, and it’s hard to understand if they’re broken or will ever load.

Then I finally read your post. You say you had no coding experience and used AI agents and “every decision was human”, but if you don’t know how to code, most of the decisions will have been made by the LLM even if you instructed it in particular ways. Do you feel confident regarding what you ostensibly learned and that you’d be able to reimplement most of the project yourself from scratch?

Again, it is interesting and a cool project, but it’s not particularly well-made or original¹ and I feel that as a portfolio actually does you a disservice by showcasing your skills in the worst possible light.

¹ https://win32.run
by JRPdata | 2025-09-07 12:05:48+00:00
; EDE: 9 (DNSKEY Missing): (no SEP matching the DS found for nasa.gov.)

currently broken DNSSEC setup on NASA's end

Temporarily you can add this line to /etc/hosts if you need to access it: 192.0.66.108 nasa.gov www.nasa.gov

Or reference dnshistory for any other subdomain and add similarly: https://www.dnshistory.org/dns-records/nasa.gov
by etempleton | 2025-09-07 12:05:57+00:00
My experience is similar. Modern enthusiast CPUs and hardware compatibility is going backwards. I have a 5900x that randomly crashes on idle, but not under load. My 285K has so far been rock solid and generally feels snappier. I feel like both Intel and AMD are really trying to push the envelope to look good on benchmarks and this is the end result.
by dcminter | 2025-09-07 12:05:58+00:00
If you were expecting it to appear on the front page, that isn't guaranteed. It will be on the "new" page, but won't appear on the front (default) page unless it gets sufficient upvotes.

I, uh, may have been confused by this the first time I posted a submission.

New posts: https://news.ycombinator.com/newest
by qcnguy | 2025-09-07 12:06:06+00:00
Er, we're posting this on a website run by a VC firm that routinely gives out investments to huge numbers of tiny teams from around the world. Literally anyone can apply. And we're supposedly in an AI bubble caused by investors ploughing hundreds of millions into any company with .ai in the name. It can't be true that getting investment is hard and requires connections.
by bayesnet | 2025-09-07 12:06:51+00:00
When I was starting out in rust, replacing my IDE’s `cargo check` invocation with pedantic clippy (which has a lint for this use of `into_iter` [0]) was very useful in learning these parts of the language.

[0]: https://rust-lang.github.io/rust-clippy/master/index.html#ex...
by 3np | 2025-09-07 12:07:06+00:00
And I am saying that storing it verbatim as the string "13:00 on the 12th Sept 2025 Europe/London" is an instant in time as much as any other formats and types you can come up with. Just not very parsable by your typical stdlib.

It all boils down to picking the appropriate reference frame, which varies by context. I believe your point should be that there is no single universally applicable reference frame for mapping all future events to future cultural time (and/or that in any case it's not UTC).
by lock1 | 2025-09-07 12:07:34+00:00
Unrelated with GP post: What's wrong with Java's Optional?

IIRC it doesn't fulfill monad axiom, but I don't think there's a huge problem with it. By the time you're using Option<>-like, I don't think you should use bare `null` at all in your project. Mixing Option<>-like and bare `null` sounds like playing with fire.

Also, if you're using Java 17+ (`record` in your example), you're probably better off writing your own Option<T> to support sum-type matching & product-type destructuring.
by MrJohz | 2025-09-07 12:08:44+00:00
Can you give some examples of this working well? It certainly goes against all of my experience working with CLIs and with parsing inputs in general (e.g. web APIs etc). In general, I've found that the quicker I can convert strings into rich types, the easier that code is to work with and the less likely I am to have troubles with invalid data.
by immibis | 2025-09-07 12:09:08+00:00
Most people think ads don't make them buy things, but they still do. It's just not as direct as seeing the ad so you click on the ad and buy the thing. (Sometimes it's that direct and advertisers love it, but not usually)

You're thirsty. Do you want a Coke or an Africola? Coke obviously - what the heck is Africola? Why do you want a Coke? Because you saw the Coke logo everywhere since birth.
by jeanlucas | 2025-09-07 12:09:54+00:00
Impossible to truly know. Writing may well have started with doodles, notes, even jokes on materials like leaves or wood that didn’t survive.

What survives are the "important" texts because you would deliberately put them on durable material. That creates a bias where early writing looks purely transactional.

Same reason we think of pyramids when we think of ancient architecture: stone lasts, wood doesn’t.
by isThereClarity | 2025-09-07 12:10:20+00:00
Daniel Karrenberg, co-author of RFC1918, said this 2017-10-06 on the NANOG mailing list:

> On 05/10/2017 07:40, Jay R. Ashworth wrote: > > Does anyone have a pointer to an *authoritative* source on why > > > > 10/8 > > 172.16/12 and > > 192.168/16 > > > > were the ranges chosen to enshrine in the RFC? ... > > The RFC explains the reason why we chose three ranges from "Class A,B & > C" respectively: CIDR had been specified but had not been widely > implemented. There was a significant amount of equipment out there that > still was "classful". > > As far as I recall the choice of the particular ranges were as follows: > > 10/8: the ARPANET had just been turned off. One of us suggested it and > Jon considered this a good re-use of this "historical" address block. We > also suspected that "net 10" might have been hard coded in some places, > so re-using it for private address space rather than in inter-AS routing > might have the slight advantage of keeping such silliness local. > > 172.16/12: the lowest unallocated /12 in class B space. > > 192.168/16: the lowest unallocated /16 in class C block 192/8. > > In summary: IANA allocated this space just as it would have for any > other purpose. As the IANA, Jon was very consistent unless there was a > really good reason to be creative. > > Daniel (co-author of RFC1918)

https://web.archive.org/web/20190308152212/https://mailman.n...
by corimaith | 2025-09-07 12:11:39+00:00
The causality between missiles in Turkey causing the Cuban Missile Crisis is unsubstantiated by historical facts from the Soviets own perspectives.

It's more that Cuba requested nukes first, the USSR opportunistically took, then they to resolve the crisis they took that opportunity to remove Turkish missiles. It wasn't really a tit for tat on part of the USSR's intentions, Cuba was the primary agent here.

Not that it really mattered later on once ICBMs are developed.
by enronmusk | 2025-09-07 12:11:54+00:00
If OP's CPU cooler (Noctua NH-D15 G2) wasn't able to cool down his CPU below 100C, he must have been (intentionally or unintentionally with Asus multi core enhancement) overclocked his CPU. Or he didn't apply thermal paste properly or didn't remove the cooler plastic sticker?

I have followed his blog for years and hold him in high respect so I am surprised he has done that and expected stability at 100C regardless of what Intel claim is okay.

Not to mention that you rapidly hit diminishing returns pass 200W with current gen Intel CPUs, although he mentions caring able idle power usage. Why go from 150W to 300W for a 20% performance increase?
by zarzavat | 2025-09-07 12:13:35+00:00
Agreed, offsets are an anti-pattern. Any time you have a nonzero offset you almost certainly want either a tz name (e.g. Europe/Paris), a local datetime, an instant, or a formatted string.

Datetime + tz name: a point in time and space that is responsive to time zone changes. E.g. Our zoom meeting is on 3 Feb 2026 17:40 in Moscow time.

Local date time: a calendar date that is independent of time zones.

Instant: an exact point in time. e.g. the rocket will launch at 123456789 seconds from the Unix Epoch TAI.

Formatted string: an exact point in time rendered for the human user in their local timezone and calendar, taking into account leap seconds. E.g. The rocket will launch on 7 Ramadan 1447 AH, Saudi time.
by gausswho | 2025-09-07 12:13:45+00:00
While I've got some eyeballs on the subject, I'm tiring of mistyping this across my local network devices. How many of you folks alias this, and in what way? /etc/hosts works for my *nix machines, but not my phones, I think?

I'm also tired of remembering ports, if there's a way of mapping those. Should I run a local proxy?
Ask HN: Data integrity in a decentralized trustless system
by ah1508 | 2025-09-07 12:15:18+00:00
Hi,

I am working on a voting system for a local community, people will vote with their smartphone, tablet or computer. They previously receive a link to the vote form with an access key in the url.

Once someone has voted he cannot see is vote (like in real world polling station), which partly avoid the "cash for vote" problem. "Partly" because someone can still force someone else to vote like he wants. For this, my idea was to allow to vote multiple times but with idem-potency: only the first or the last vote is recorded in the database. "you can give me 5$ to vote like you want, once back home I vote for the one I want".

But since voters cannot check if their vote has been properly recorded they must trust the system.

Block chain that involves several parties (an NGO, an university, etc...) could be an idea but nothing prevent the API that receives the votes and insert records in the blockchain to insert fake data. Code audit (+ CI/CD audit + DNS records audit) can help.

My idea: each party (NGO 1, NGO 2, university 1, university 2, etc...) deploy the API and its database. The source code is obviously open.

Then, a proxy receives the HTTP request and forward them to each API. The goal is to reach eventual consistency.

Outages may occur, if API deployed at university 1 is unreachable some data will be missing in its database. A retry policy at the proxy level can help but only for short time network failure, not for several minutes or hours outage.

So differences between databases at the end of the election will probably happen and should be corrected. If consensus is met on chunks of data (example: 2/3 of the databases have the same data for each 1 hour period) then we can get reach eventual consistency.

The proxy becomes the weak link. Each party should must have access to its configuration for audit purpose and must also have access to the DNS records.

At the ends the voters don't have to understand all these details, they trust the system because they trust the parties who participates.

What do you think ?

Thanks !
by latexr | 2025-09-07 12:16:53+00:00
The whole post is the same short thought repeated over and over.

My recommendation to the author is to read and reflect on “Atomic blog posts”¹, by Mike Crittenden. I’ll reproduce it here in its entirety:

> There’s no law that says a blog post needs more than one idea or more than one sentence.

¹ https://critter.blog/2021/01/06/atomic-blog-posts/
by bell-cot | 2025-09-07 12:17:30+00:00
I'd ask an old chemical engineer about that. In general, "it'd be easy to scale up process X" is very different from "we would not lose $millions every week if we did that". And every "valuable" product of your reaction has to be separated, purified, packaged, sold, & shipped. Into a market with its own supply-demand price curve.
by CuriouslyC | 2025-09-07 12:17:49+00:00
HN is very cult-of-personality based. People see SimonW they upvote without reading, while at the same time a much better article could be posted on the same topic and get zero traction. Not trying to single Simon out here, I generally find his posts good, just a statement of the herdthink and cognitive laziness of this community (and humans in general, to be fair).
by microtonal | 2025-09-07 12:18:15+00:00
Target display mode on the old iMac 27" was nice. But why not get a Studio Display now? It's pretty much the same thing, but not burdened by having an old Mac inside and having to fiddle with target display mode.

They are overpriced for 2025 (especially because the height-adjustable stand costs quite a bit extra). But they wake very fast from sleep and work fantastically with a Mac.
by Eddy_Viscosity2 | 2025-09-07 12:18:20+00:00
> windows designed from the ground up for maximum performance

They are fundamentally incapable of doing this. The senior management are incapable of even imagining in a dream of a windows that didn't spy on its users while also forcing them to use the software managers want in the way managers want.

Even if some dev team managed to make one (it would have to be on the sly), and guerrilla marketed it, and it was a giant hit, the managers would just force all the spyware and bloat and restrictions over time. They can't help but do it.
Show HN: VDPR – I mine YouTube to find product ideas (great for digital too)
by j-sp4 | 2025-09-07 12:18:37+00:00
I built VDPR. You give it a niche and a video limit. It pulls transcripts, finds repeated problems and actions, and turns them into ranked product ideas with links back to the videos.

I made it for physical products (FBA-style), but it’s also good at digital ideas. Comments like “where is this?” often point to a missing directory. “What app/template is that?” suggests a template, plugin, or small SaaS. “Any step-by-step?” → course or guide.

Example: in a “home/pets” pass, interactive cat toys surfaced (100+ mentions across 23 videos) due to indoor boredom, night noise, and toy fatigue. Physical angles: quiet/night-mode, modular tracks. Digital angles: an apartment-safe gear directory with noise ratings, or an “indoor enrichment” guide.

What it does now (v1) • Search a niche, fetch transcripts, extract Problems and Actions • Propose ideas (physical + digital) and rank them • Show why an idea scored (provenance)

What’s next • Comment analysis • Advanced search filters (view ranges, include/exclude) • Light enrichment (Trends/SEO/Amazon signals)

Feedback welcome: which signals would you trust most? If you share a niche, I’ll reply with a tiny mini-report (2 problems, 3 ideas).
by emacsen | 2025-09-07 12:18:43+00:00
I'm not the OP or author, but the argument against private network addresses is that such addresses break the Internet in some fundamental ways. Before I elaborate on the argument, I want to say that I have mixed feelings on the topic myself.

Let's start with a simple assertion: Every computer on the Internet has an Internet address.

If it has an Internet Address, it should be able to send packets to any computer on the Internet, and any other computer on the Internet should be able to send packets to it.

Private networks break this assumption. Now we have machines which can send packets out, but can't receive packets, not without either making firewall rule exceptions or else doing other firewall tricks to try to make it work. Even then, about 10-25% of the time, it doesn't work.

But it goes beyond firewall rules... with IP addresses being tied to a device, every ISP would be giving every customer a block of addresses, both commercial and residential customers.

We'd also have seen fast adoption of IPv6 when IPv4 ran out. Instead we seem to be stuck in perpetual limbo.

On team anti-private networking addresses:

- Worse service from ISPs - IPv4 still in use past when it should have been replaced - Complex work around overcoming firewalls

I'm sure we all know the benefits of private networks, so I don't need to reiterate it.
by kelnos | 2025-09-07 12:19:33+00:00
> The timezone is implicit in the appointment, it's the timezone of the place you're making the appointment at.

That's not necessarily the case, though. The location is implicit (or explicit, I guess) in the appointment, but the timezone may have changed by the time the appointment arrives. Say for example, your region decides to stop doing daylight saving time changes. But it's just your region, not the entire existing time zone, so a new zone is created to reflect that.