MurphyA/hacker-news huggingface dataset:
Ask HN: How do you stress-test product requirements before writing code?
by SoulLab | 2026-01-04 16:54:29+00:00
Hi HN,

I’m a QA engineer by background and recently started building solo.

Over the years, I kept seeing the same pattern: many production bugs don’t come from bad code, but from unclear or incomplete requirements — edge cases and assumptions that were never made explicit before development started.

To explore this, I ended up building a small product for myself that takes a feature idea or rough spec and stress-tests it from a test/logic perspective: surfacing hidden assumptions, missing acceptance criteria, and edge cases before any code is written.

I’ve been using it while building my own projects, and it’s been useful — but I’m trying to understand whether this is a problem other engineers or founders actually feel, or if it’s just my QA bias.

I’m curious:
- How do you personally validate requirements before coding?
- Have you been bitten by logic gaps that “should have been caught earlier”?
- Do you rely on docs, checklists, reviews, or something else?

Happy to share more details if useful — mostly here to learn how others approach this.
by xnx | 2026-01-04 16:54:40+00:00
Nothing novel, but all true, well expressed, and worth repeating. This should be part of every CS curriculum.

#2 and #14 are tough pills to swallow. It's not enough to be right, or even have a long track record of being right. You usually have to convince others that it was their idea all along, but still advocate for yourself at performance review time.
by Izkata | 2026-01-04 16:55:04+00:00
> That is what OP is saying: HN users, in order to promote their personal politics, are being concerned for a people that don't want and actively reject your concern because they are happy with the outcome.

> (b) claiming they know better than Venezuelans wrt whether this is good or bad for them.

Well, this isn't surprising at all. At least these two points also apply to the right within the US, the HN bubble doesn't even try to understand their actual views either.
by BinaryMachine | 2026-01-04 16:55:05+00:00
Meh, I took a couple Hugging Face courses, I might not take them again.

The grading system forces you to write specifically to pass their LLM grading system, terrible design. Maybe its gotten better I had to constantly look up how to write the correct answer just to pass their automatic grading system. Not a good way to learn and time wasted.

Karpathy videos posted here are GOLD.
by A4ET8a8uTh0_v2 | 2026-01-04 16:55:18+00:00
I don't know about that. Too much is allowed to not endure. I don't want to push on that point too hard, because I get what you are saying: things that are worth something will persist. Still, it would be nice if we didn't have the ridiculous churn of stuff.. that does nothing but gather dust only to be thrown away.
by r721 | 2026-01-04 16:55:23+00:00
"What is Forum Geopolitica?

Forum Geopolitica was founded by Peter Hanseler, a Swiss living in Russia with a sharp eye for geopolitics and geoeconomics. What began as his personal analysis has evolved into a dynamic platform, where a growing team of bold, independent thinkers publish in English, Russian, German, and French. Our articles are regularly republished on numerous outlets including ZeroHedge, Sonar21, GlobalBridge, Weltwoche, and Seniora.org."

https://forumgeopolitica.com/about
by theandrewbailey | 2026-01-04 16:55:34+00:00
> /opt is generally for software distros for which you don't have source; only binaries. Like commercial software packages. More common on Real UNIX(R) because most Linux users outside enterprise aren't running commercial software

Steam says hi.

On Windows, a common Steam library exists in Program Files directory, therefore not user specific. On Linux, each user has a separate Steam installation and library. I'm not sure why there isn't a common Steam library on Linux, but /opt would be a good place for it.
by Scarblac | 2026-01-04 16:55:41+00:00
A colleague recently added a linter rule against nested ternary statements. OK, I can see how those can be confusing, and there's probably a reason why that rule is an option.

Then replaced a pretty simple one with an anonymous immediately invoked function that contained a switch statement with a return for each case.

Um, can I have a linter rule against that?
by benmmurphy | 2026-01-04 16:55:46+00:00
sshuttle as described sounds like a normal CONNECT proxy which this is able to detect: https://sshuttle.readthedocs.io/en/stable/how-it-works.html

like its similar to connect or socks proxy except it is using SSH as a transport layer instead of TCP as a transport layer and its doing it transparently without having applications to be written to use the proxy. but if you are just converting TCP packets into a datastream and then sending them somewhere else where you convert them back to TCP packets then this is what this TCP RTT strategy is fundamentally meant to detect. i suspect the TCP only RTT thing works because of the delayed ack behaviour of most operating systems and this will still happen with sshuttle unless you are explicitly using quick-ack. also, quick-ack just works around the TCP-RTT issue and not the differences in timing between TCP and TLS or other higher protocols. i think if you are testing for other RTT differences then quick-ack would make them more obvious.

on the server side sshuttle just uses normal tcp sockets and nothing magic (https://github.com/sshuttle/sshuttle/blob/master/sshuttle/ss...)

also, if you have an sshuttle proxy this site cannot detect it may be due to how close the server is to the client. i have a CONNECT based proxy it is able to detect around 5% of the time (maybe only that often due to a bug) but this is because there is probably less than 10ms latency between the proxy and the client and probably around 50ms latency between the proxy and the server for some reason (?).
by qcnguy | 2026-01-04 16:55:47+00:00
https://x.com/MillennialWoes/status/1893134391322308918

"Because the party groups negotiated with the heads of states comprising the European Council to find a suitable candidate?"

What negotiations? We have no proof any negotiations took place. We don't even know if there was a vote, or if there were discussions, what was discussed, or who the candidates were. The entire process is secret. Think about how mad that is.

"You know, like how all parliamentary systems works?"

No parliamentary system works this way.

"After the election someone has the task of proposing an executive government to the parliament."

There was no election.

"The European Parliament has also rejected commissioners from being appointed. How is that literally being a rubber stamp?"

The head of the Commission before vdL said that both national and Europarl vetos on commissioners are meaningless. They just suggest a replacement who is ideologically identical.

"What most people miss is that the EU functionally has both an upper and lower house, with the upper house being selected from the national elections and lower house from EU wide elections."

You just said it has a single chamber! It really has none because the Europarl can't pass its own laws so it's not a house of representatives, just a room full of theatre kids playacting democracy. The EU doesn't have an upper and lower house by any definition used anywhere in the world. Stop pretending to not understand things.
by oliwarner | 2026-01-04 16:56:03+00:00
> I feel like I can manage the entire stack again - with confidence.

By not managing anything? Ignorance is bliss, I guess.

I understand it. I've found myself looking at new stacks and tech, not knowing what I didn't know, and wondering where to start. But if you skip these fundamentals of the modern dev cycle, what happens when the LLM fails?
by api | 2026-01-04 16:56:04+00:00
The biggest one that resonates with me is that cleverness is overhead.

My #1 issue with mid level engineers is that they like complexity and find complexity fun and interesting.

An experienced engineer knows that complexity is irritating and frustrating and that a simple solution is harder and superior.

A solution that simultaneously solves the problem and reduces complexity is almost the definition of genius. If you are good you will do this a few times in your whole career.
by geodel | 2026-01-04 16:57:02+00:00
Seems reasonable. Many points maybe more applicable Google/Google-like companies. With layoffs and overall job shortages a lot of workplaces are having a cake and eating it too. They demand fast delivery and taking shortcuts (calling it creative thinking) and once things blow up directly due to shortcuts put blame on developers / testers for taking shortcuts and compromising quality in the process.
by simonw | 2026-01-04 16:57:11+00:00
All these JavaScript engines and it's still remarkably hard to find a robust solution for executing JavaScript from untrusted sources inside my own server-side applications.

Every time I look I find repos that look promising at first but are either unmaintained or have a team or just one or two maintainers running them as a side project.

I want my sandbox to be backed by a large, well funded security team working for a product with real money on the line if there are any holes!

(Playing with Cloudflare workers this morning, which seems like it should cover my organizational requirements at least.)
by wolttam | 2026-01-04 16:57:30+00:00
I suggest updating the login form's "query" to:

SELECT token, user_id FROM users
WHERE username = '____'
AND password = HASH('____')
-- Or maybe: AND password_verify(password, '____')
LIMIT 1;

I assume you are already hashing passwords, but the current login form's 'UI query' is enough to raise questions
by yomismoaqui | 2026-01-04 16:57:37+00:00
It's a little shameful but I still struggle when centering divs on a page. Yes, I know about flexbox for more than a decade but always have to search to remember how it is done.

So instead of refreshing that less used knowledge I just ask the AI to do it for me. The implications of this vs searching MDN Docs is another conversation to have.
by utopiah | 2026-01-04 16:58:08+00:00
Another way to put, that I thought of few weeks ago :

- embrace liminal spaces

We tend to see such spaces as waste. We tend to skip them. We use any trick possible, from rushing to having a mobile phone with a podcast. We find ways to avoid being alone with our thoughts.

Guess where ideas come from? Shower? Waiting for the bus? ... they come from our running minds NOT being entertained.

Embrace liminal spaces. Make your own liminal spaces. They are liberating.
by JumpinJack_Cash | 2026-01-04 16:58:59+00:00
> > So let's say they take out Kim jong Un...

It will never happen because Kim has nukes. All these regime changes starting from the Afghaninstan, through Saddam, through Gaddafi....now Maduro they are just teaching strongmen to get nukes as the only way to be safe from U.S. (or others) regime change
by konaraddi | 2026-01-04 16:59:04+00:00
HPBN is really well written, chapter 4 helped me understand TLS enough to debug a high latency issue at a previous job. There was an issue where a particularly incomplete TLS frame received and no subsequent bits for it led to a server waiting 30 min for the rest of the bits to arrive. HPBN was a huge help. I haven’t finished reading it but I remember there’s part of it that goes over the trade offs of increasing vs decreasing TLS frame sizes which is a low level knob I now know exists because of HPBN. Not sure if I’ll ever use it but it’s fascinating.
by nunobrito | 2026-01-04 16:59:09+00:00
Yes, you got it.

The structure tends to become "simpler" as it matures and you realize which parts can be made reusable (reality tends to be different from plans) and which "laws" you enforce across the project structure to ensure the architecture fits the goal and not the other way around.

Good luck and keep up sharing your progress. Very good article.
by TZubiri | 2026-01-04 16:59:17+00:00
Might be a stretch, but have you tried climbing or similar social sports?

Climbing is a bit more for young adults, but since the wall is a shared resource, you have a lot of these social interactions, and it's mostly strangers as well, you just walk up, pay for a couple of hours and start climbing.

I'm sure there's social sports more appropriate for adults and elderly as well.
by spacecadet | 2026-01-04 16:59:24+00:00
I agree with this... having lived in all of the major cities in the US and worked in "tech" /research- I find places like Pittsburgh, or Portland(Maine), to be much much more inspiring and to contain more interesting people. The major hubs having become monocultural sycophantic symbols of extreme capitalism and greed, advancing only the science of advertising. 12 years in NYC now and jeez, people here are just boring AF. Its the same conversations on repeat, platitudes, rhetoric... express an original thought or unorthodox idea and you are looked at like you are unwell.
by susam | 2026-01-04 17:00:08+00:00
Thank you. My current home page has about 70 entries. The size of the HTML is about 7 kB and the compressed transfer size is about 3 kB.

I created a test page with 2000 randomly generated entries here: <https://susam.net/code/test/2k.html>. Its actual size is about 240 kB and the compressed transfer size is about 140 kB.

It doesn't seem too bad, so I'll likely not introduce pagination, in the unlikely event that I manage to write over a thousand posts. One benefit of having everything listed on the same page that is I can easily do a string search to find my old posts and visit them.
by accidentallfact | 2026-01-04 17:00:25+00:00
It doesn't talk about neurodivergent people, but about non-brain damaged people, whose brains can still do dimensionality reduction, which allows them to deal with problems efficiently.

The so called neurotypical people are people brain damaged from something, who slowly took over the society over the 20th century. Without dimensionality reduction, virtually everything they encounter is an overwhelming, highly dimemsional problem so they can't deal with anything, except for a narrow set of problems they specifically trained to deal with.
by JodieBenitez | 2026-01-04 17:00:36+00:00
And funnily enough, only one file there.

battlestation : tree /opt/local
/opt/local
└── lib
└── libgeos_c.dylib -> /opt/homebrew/lib/libgeos_c.dylib

2 directories, 1 file

Why ? I don't know. But I do need libgeos.
by VLM | 2026-01-04 17:00:45+00:00
Its a social class thing. Homeless people sit alone, especially the crazy ones.

No brand new iphone or new macbook means poverty which is usually not cool.

It blows peoples minds if you read a book. Not a college textbook but something for fun. Homeless people don't read so they get confused.

Its like riding the bus. There's nothing wrong with public transit, its just that its somewhere warm for poor homeless people to sit all winter, so its not very cool.
by Rastonbury | 2026-01-04 17:00:47+00:00
When I ask for an evaluation or issue I want the LLM to tell me when and how I'm wrong and me not having to worry about phrasing before I take the LLMs word and update my own beliefs/knowledge (especially for subjects I have zero knowledge about), I'm aware of this so when it isn't throw away queries, I tend to ask multiple times and ask for strawmans. I am aware they do this, but with the number of people walking around quoting 'chatgpt said' in real life and on forums, I don't think many people bother to stress test or are aware they phrasing may induce biased responses. It's akin to reading the news only from one source

By now I have somewhat stopped relying on LLMs for point of view on latest academic stuff. I don't believe LLMs are able to evaluate paradigm shifting new studies against their massive training corpus. Thinking traces filled with 'tried to open this study, but it's paywalled, I'll use another' does not fill me with confidence that it can articulate a 2025 scientific consensus well. Based on how they work this definitely isn't an easy fix!
by jacquesm | 2026-01-04 17:00:49+00:00
This is a very impressive piece of work, it must have taken a lot of trials to get it to the point where it functions so well, these mechanisms are really hard to reproduce without using a lot of metal and very high level mechanical engineering skills. Doing it in plastic helps with dimensional stability but it increases friction and compared to say brass the surface finish is much worse. I wonder how long it will last before parts will need replacing due to wear.
by imiric | 2026-01-04 17:01:17+00:00
Eh, sure.

But at the same time lessons aren't learned by reading what someone else has to say. They're learned by experience, and everyone's is different. An engineer with 14 years of experience hardly makes them an expert at giving career advice, but they sure like to write like it does.

This type of article reads more like a promotion piece from self-involved people, than heartfelt advice from someone knowledgeable. This is evident from the author's "bio" page, written in 3rd person, and full of aggrandizing claims of their accomplishments, and photos with famous people they've met. I'm conditioned to tune out most of what these characters have to say.
by zahlman | 2026-01-04 17:01:22+00:00
> This (question being incorrectly closed) is a common complaint, and the situation has not changed for a very long time.

The problem is that people come and say "this question is incorrectly closed", but the question is correctly closed.

Yes, the complaints are common, here and in many other places. That doesn't make them correct. I have been involved in this process for years and what I see is a constant stream of people expecting the site to be something completely different from what it is (and designed and intended to be). People will ask, with a straight face, "why was my question that says 'What is the best...' in the title, closed as 'opinion-based'?" (it's bad enough that I ended up attempting my own explainer on the meta site). Or "how is my question a duplicate when actually I asked two questions in one and only one of them is a duplicate?" (n.b. the question is required to be focused in the first place, such that it doesn't clearly break down into two separate issues like that)
by malco_2001 | 2026-01-04 17:02:02+00:00
That was not intentional but just a coincidence actually. I came up with Gershwin as something to be comparable to "Darwin" as a core OS. I originally wanted to combine the Linux kernel with a Userland "familiar to switchers" more like a BSD and build on that. I also decided early on it was best to focus on being a DE that could run on anything and make the underlying OS not matter as much. Everyone involved really liked the name, so I went with it.
by biglyburrito | 2026-01-04 17:04:10+00:00
"Over time, Zero Hedge expanded into non-financial political content, including conspiracy theories and fringe rhetoric, and has advanced radical right, alt-right, and pro-Russia positions. Zero Hedge's non-financial commentary has led to multiple site bans by global social media platforms, although a 2019 Facebook ban and a 2020 Twitter ban were later reversed."

https://en.wikipedia.org/wiki/Zero_Hedge
by MMAFRAZ | 2026-01-04 17:05:09+00:00
Hi HN,

This started as a personal project to reduce marketing tool sprawl.

Instead of juggling separate tools for copy, landing pages, visuals, SEO, analysis, and optimization, I consolidated the most-used workflows into one platform. The goal was not novelty, but simplicity: fewer tools, fewer handoffs, faster execution.

The product is live and in use. I’m now exploring acquisition because I want it in the hands of someone who can scale it further or integrate it into a larger product.

Happy to discuss:

What workflows people actually used

Where consolidation worked and where it didn’t

Trade-offs of building an all-in-one vs specialized tools

Why I chose to list instead of continuing solo

Flippa listing:
https://flippa.com/12205760-vect-ai-is-an-autonomous-marketi...

Posting in the spirit of sharing the build and lessons learned.
by immibis | 2026-01-04 17:05:15+00:00
I understand /usr/local to be for anything not managed by your distribution but following the standard system layout (e.g. Python that you compiled yourself) while /opt is used for things that are (relatively) self-contained and don't integrate with the system, similar to Program Files on Windows (e.g. a lot of Java software).

Regarding "that's a Linux-ism" - well yeah? Linux is the main OS this is about. FreeBSD can do what it wants, too.
by william_uk | 2026-01-04 17:05:19+00:00
Snippets.dev is a PWA that stores everything locally in the browser (IndexedDB), with export/import to JSON for backups.

I can't install apps or use cloud-based solutions at work so I built this primarily for my own usage, but hopefully others might also find it useful.

Source: https://github.com/wrlannen/snippets

Any feedback gratefully received.
by eichin | 2026-01-04 17:05:58+00:00
I ended up separating out a "plumbing" blog, from the "real" blogs, with no discussion of the tinkering allowed on the real ones - so the plumbing blog grew in details but didn't "count" for the non-meta blogging I was trying to accomplish. A little bit of sleight-of-hand but it worked for me...
by sublimefire | 2026-01-04 17:05:58+00:00
I’d agree on most of these but the biggest value in such a list is for the writer to actually put it on paper. You have to reflect on multiple aspects in your career and synthesise those. Reading them is close to useless, like scanning a page full of news, it all just evaporates once you start your daily work routine.

The best suggestion would probably be to try and write such a list yourself IMO.
by unsungNovelty | 2026-01-04 17:06:02+00:00
Too many negative comments here. This is just someone discovering something new and sharing it very excitedly.

Almost 6-7 years ago, I read about a 30min challenge to sit upright without doing anything in a chair challenge. That changed how I think about distractions. If I had written about it, there surely will be people who would just like here say... What is so crazy about it? I do that all the time...

To me, this post is someone's joy and curiosity shared through a well written piece. Everybody discover certain things at different stages of their lives. What's so bad about that?

Was able to bring a smile on my face. A good post. :)
by raddan | 2026-01-04 17:06:13+00:00
I agree. This was evidently a new experience for this person, and maybe the reason is that they’re… a new adult? Anyway, even old people have new experiences all the time. At least this person is putting themselves out there and doing something active. Good for them.

Except the dog thing. PLEASE do not bring your dog into a cafe. Somehow people like me are in the minority though so I will stop here.
by kayo_20211030 | 2026-01-04 17:06:32+00:00
Love it. Particularly the "correct" refactoring at the end. The future maintainer will thank you. (BTW: that future maintainer might be you). To a first approximation one should write "local" code i.e. the bits that are important should be right in front of you in the editor. It shouldn't need too much navigation, with all the overhead of context switches, to understand what you're looking at.

Of course, be sensible and use good judgement :-)

But, that's what we're paid for, right?