MurphyA/hacker-news huggingface dataset:
by pjmlp | 2025-10-28 08:18:24+00:00
Thing is, they are also the common workaround solution for savy office workers that don't want to wait for the IT department if it exists, or some outsourced consultancy, to finally deliver something that only does half the job they need.

So far no one has managed to deliver an alternative to spreedsheets that fix this issue, doesn't matter if we can do much better in Python, Java, C# whatever, if it is always over budget and only covers half of the work.

I know, I have taken part in such project, and it run over budget because there was always that little workflow super easy to do in Excel and they would refuse to adopt the tool if it didn't cover that workflow as well.
by sirwhinesalot | 2025-10-28 08:18:35+00:00
Both are severely underused for sure. But it didn't help that for a long time open source MILP solvers were pretty mediocre.

HiGHS didn't exist, SCIP was "non-commercial", CBC was ok but they've been having development struggles for awhile, GLPK was never even remotely close to commercial offerings.

I think if something like Gurobi or Hexaly were open source, you'd see a lot more use since both their capabilities and performance are way ahead of the open source solutions, but it was the commercial revenue that made them possible in the first place.

Using CP-SAT from Google OR-Tools as a fake MILP solver by scaling the real variables is pretty funny though and works unreasonably well (specially if the problem is highly combinatorial since there's a SAT solver powering the whole thing)
by fainpul | 2025-10-28 08:18:52+00:00
No.

TDD combined with vibe-coding can create code that has unwanted side-effects, because your tests only check the result. It can also have various security vulnerabilities, which you don't test for, because how would you know what to test. It can also lead to massive duplication and code bloat, while tests still pass. It can lead to software which wastes a lot of resources (memory, cpu, inefficient network requests and the like) due to bad algorithms. If you try to keep that in check by writing performance tests, how do you know what acceptable performance is, if you have no idea how your program works?
by FarmerPotato | 2025-10-28 08:19:52+00:00
I'm old-young enough to be aware of the evolution of minicomputers implemented in MSI TTL with wire-wrap (1970) to VLSI integration (1975). Examples are the LSI-11 and TMS9900.

My first home-brew micro was done in 1987 using the Radio Shack hand-tool and an OK Industries' motorized wrap gun.

Now, I add CPLD to my wire-wrap designs! Just like on an iterated PCB, you must lock the physical pins to functions.
by pkphilip | 2025-10-28 08:20:14+00:00
One of my favourite lock pickers is Marc Tobias. He was also sued by a number of lock companies.

https://www.youtube.com/watch?v=NadPAE6BDbA

It is interesting to see that these companies still don't know about the Streisand Effect or they choose to think that it won't happen to them.
by Twisol | 2025-10-28 08:20:27+00:00
I disagree that these two pieces of advice are opposed. I think they are orthogonal at worst, and in agreement at best.

"Functional core, imperative shell" (FCIS) is a matter of implementing individual software components that need to engage with side-effects --- that is, they have some impact on some external resources. Rather than threading representations of the external resources throughout the implementation, FCIS tells us to expel those concerns to the boundary. This makes the bulk of the component easier to reason about, being concerned with pure values and mere descriptions of effects, and minimizes the amount of code that must deal with actual effects (i.e. turning descriptions of effects into actual effects). It's a matter of comprehensibility and testability, which I'll clumsily categorize as "verification": "Does it do what it's supposed to do?"

"Generic core, specific shell" (GCSS) is a matter of addressing needs in context. The problems we need solved will shift over time; rather than throwing away a solution and re-solving the new problem from scratch, we'd prefer to only change the parts that need changing. GCSS tells us we shouldn't simply solve the one and only problem in front of us; we should use our eyes and ears and human brains to understand the context in which that problem exists. We should produce a generic core that can be applied to a family of related problems, and adapt that to our specific problem at any specific time using a, yes, specific shell. It's a matter of adaptability and solving the right problem, which I'll clumsily categorize as "validation": "Is what it's supposed to do what we actually need it to do?"

Ideally, GCSS is applied recursively: a specific shell may adapt an only slightly more generic core, which then decomposes into a smaller handful of problems that are themselves implemented with GCSS. When business needs change in a way that the outermost "generic core" can't cover, odds are still good that some (or all) of its components can still be applied in solving the new top-level problem. FCIS isn't really amenable to the same recursion.

Both verification and validation activities are necessary. One is a matter of internal consistency within the component; the other is a matter of external consistency relative to the context the component is being used in. FCIS and GCSS advise on how to address each concern in turn.
by lloeki | 2025-10-28 08:20:37+00:00
> just a file or two

I don't have to remember which to copy

> rsync or scp

I don't have to remember which is most recent, nir even assume that "most recent" is a thing (i.e nonlinear)

It's all just:

- a git fetch --all away to get

- a git log --oneline --decorate --graph --all to find out who's where and when

- diff and whatchanged for contents if needed

- a cherry-pick / rebase away to get what I want, complete with automatic conflict resolution

I can also have local experiments in local topic branches, things I want to try out but not necessarily commit to across all of my machines yet.
by rob_c | 2025-10-28 08:21:19+00:00
> The problem is — nobody commits code that fails tests.

Hah, if that were true the industry would be a better place. Or a worse place. Or a slower place but exactly the same. I should build a test for that...

I've worked on many projects where tests get disabled as nobody can tell why it's failing (or why it was even written in some cases).

I've rewritten test systems from scratch in the past to drag projects out of the dumpster fire by getting them into a state of passing simple startup/shutdown safely routines and then watched as I pass the project onto others how it rots until some "genius" young coder comes along and "removes the slow test-suite because it takes 2hr+ to run on my way out of spec laptop".
by econ | 2025-10-28 08:21:51+00:00
I believe the biggest performance hit lives in je inability to force reload a cached file with js (or even html(!)).

Setting a header only works if you know exactly when you are going to update the file. Except from highly dynamic or sensitive things this is never correct.

You can add ?v=2 to each and every instance of an url on your website. Then you update all pages which is preposterous and exactly what we didn't want. As a bonus ?v=1 is not erased which might also be just what you didn't want.

I never want to reload something until I do.
by didibus | 2025-10-28 08:22:04+00:00
These do seem like things that could be solved eventually. But really I'd say my take is that you're not putting the same effort, and probably since you have more knowledge of the digital side, have a bias, towards seeing its flaws while not putting the same effort in seeing the flaws in the current process.

Trade offs, that's the known answer to all comp sci problems :p. Here too it applies.
by bjoli | 2025-10-28 08:22:10+00:00
Urbit is just another example of many that people will fall for fascist ideas if you make it esoteric enough. Whether it is through stupid names or lying about what you are actually doing doesn't really matter.

Curtis Yarvin made little effort to hide his disgusting ideas and it should be pretty clear to anyone who spent five minutes understanding urbit that it is just encoding those ideas into feudalist system.
by Al-Khwarizmi | 2025-10-28 08:23:09+00:00
This is a good point.

A few days ago I heard about a man who attempted suicide. It's not even an extreme case of disease or anything like that. It's just that he is over 70 (around 72, I think), with his wife in the process of divorcing him, and no children.

Even though I am lucky to be a happy person that enjoys life, I find it difficult to argue that he shouldn't suicide. At that age he's going to see his health declining, it's not going to get better in that respect. He is losing his wife who was probably what gave his life meaning. It's too late for most people to meet someone new. Is life really going to give him more joy than suffering? Very unlikely. I suppose he should still hang on if he loves his wife because his suicide would be a trauma for her, but if the divorce is bitter and he doesn't care... honestly I don't know if I could sincerely argue for him not to do it.
by camillomiller | 2025-10-28 08:23:41+00:00
As a Texas Hold'em enthusiast, some of the hands are moronic. Just checked one where grok wins with A3s because Gemini folds K10 with an Ace and a King on the board, without Grok betting anything. Gemini just folds instead of checking. It's not even GTO, it's just pure hallucination. Meaning: I wouldn't read anything into the fact that Grok leads. These machines are not made to play games like online poker deterministically and would be CRUSHED in GTO. It would be more interesting instead to understand if they could play exploitatively.
by dbt00 | 2025-10-28 08:25:30+00:00
People exercise coordination ability like this all the time.

I got stuck getting out of shoreline after a large concert with abnormal parking conditions, and when we didn't move for 30 minutes I got out of the car and directed traffic so both lots could empty equally. Took another 45 minutes for my family to catch up to me, which was good because that's when someone in a safety vest showed up and told me to stop.
by atoav | 2025-10-28 08:25:34+00:00
I mean theoretically ever the hardest encryption just buys you time. That time may be long past the lifetime of our own sun, but it just buys you time.

The same is true for locks and safes as well.

Being one of the few people who never had their bicycle stolen in a city where this is common, the trick that always works is: Just make your lock harder to attack than other locks that safeguard comparable things.

Good lock + old looking bicycle = no theft

Unless your stuff is unique and high stakes that means regular criminals won't pick you since the surrounding stuff looks more intersting and is the easier target.
by koakuma-chan | 2025-10-28 08:25:41+00:00
> it's not "for the sake of talking", it's for the sake of socializing, meeting new people, building connections, which is the whole point when we're talking about flirting or lack thereof.

In my experience you really have to be constantly spitting nonsense to keep the conversation from ending and to avoid awkward silence. When the other person is talking, even if I didn't hear most of what they said, I keep nodding, because I don't actually care in the slightest about what they were talking about, and so asking to repeat does not make sense, as that would only increase awkwardness. This is why I said "for the sake of talking." The only thing that matters is that you are talking, not the content of the talk.
by dns_snek | 2025-10-28 08:26:10+00:00
> Like it’s unmistakable to me how LLMs can basically up developer productivity to a much much higher degree than ever before. Yet we have plenty and plenty of people who can’t even take the middle ground and say it kind of helps. All kinds of developers everywhere saying LLMs are fucking completely useless. Which is mind bogglingly irrational.

There's not a single proper study showing this increase in productivity and just about every real developer I know finds very limited use in LLMs. They don't increase productivity "to a much higher degree". It's marginal, maybe 5-10% if you use them strategically in situations that are particularly suitable.

I decided to waste some time "for science" and implemented a feature twice, once by myself and once with Cursor. A feature that took me 4 hours to implement myself took 1-1.5 hours of planning + 1.5-2 hours of iterative agentic coding just to get it to meet basic functional criteria, and it would've taken me at least 2 more hours to review and refactor if I hadn't quit in frustration.

If I didn't care about long-term maintainability I could've finished it with AI in under 2 hours and I would've claimed a 100% productivity boost. I imagine that's what people do, prioritizing short term gains while taking on eye-watering amounts of technical debt, but trying to sell this as a productivity improvement is extremely naive.

LLMs are useful in very specific situations where the changes are trivial (small standalone snippets, straightforward changes in a larger codebase) OR long-term maintainability doesn't matter (one-off scripts). That's the middle ground.
by vrnvu | 2025-10-28 08:26:27+00:00
> Any time you are making decisions based on information that you know at compile time, you could apply this technique

I’d go further. Most business requirements are known at compile time.

Take the simplest example, dispatching a function based on a condition. If A then do_X, if B then do_Y.

People often reach for elaborate design patterns, dependency injection, or polymorphism here. But why? If the decision logic is static, don’t turn it into a runtime problem.

Inline the code. Move the ifs up. Write clear, specific functions that match your domain knowledge instead of abstracting too early…

Don’t make compile time problems runtime ones.
Show HN: I created a light logic game in the style of the 90s
by potom | 2025-10-28 08:26:42+00:00
I made a terminal game called Digital Virus. It's a logic puzzle where you predict how a 4-digit code mutates after each wrong guess. Starts simple but gets tricky with combo rules at higher levels. Wrote it in C to feel like those old 90s games. No graphics, just numbers and logic. Source is on GitHub: https://github.com/Ferki-git-creator/Digital-Virus

Curious what you think - especially if you remember when games came on floppies!
by akimbostrawman | 2025-10-28 08:27:01+00:00
If these people where actually sincere and not just hiding behind a ideological smokescreen that only benefits them they would be for this same as with DEI in other men dominated jobs like sewage cleaning, road building or other physically taxing but underpaid jobs.

It really makes you think that all the "men and women are the same and sometimes women are even better" always starts at the silicon valley jobs and stops right at enlistment which would be actual equality.
by t00 | 2025-10-28 08:27:01+00:00
Am I missing something here? The mobile SPA app can be deployed using tools like capacitor to a device and the framework along with all static content is loaded into the app bundle. In such case it makes no (realistic) difference which framework is selected and it matters more how the background/slow transfers are handled with data-only API requests, possibly with hosted images. With the background workers PWA can be built as well, streamlining installation even more.
by MarcelOlsz | 2025-10-28 08:28:01+00:00
I rolled my eyes when hooks came out and never used it again besides for work, so not really. All the frameworks on the planet and facebook is still a heaping pile of dog shit. I was spoiled by Vue's lifecycle methods and then Svelte and it was impossible to go back.

Maybe hooks are cool but the same code written in react vs vue vs svelte or something else is always easier on the eyes and more readable. Dependency arrays and stale closures are super annoying.

Sorry but I really hate React. I've dealt with way too many shit codebases. Meanwhile working in vue/svelte is a garden of roses even if written by raw juniors.
by alexey-salmin | 2025-10-28 08:28:34+00:00
I tend to agree with bayareapsycho that Dostoyevsky doesn't feel genuinely christian. In his books God is derived out of ultimate necessity, it's the only sane way to survive. If you follow that line of thought you can come to a conclusion that if God didn't exist people would have to invent him. And if that's the case then maybe they DID invent him after all. It's just that it doesn't matter.

Dostoyevsky himself never goes that far in his books but I feel that the direction is set pretty clearly. It could be that I'm reading my thoughts into his works though.
by metalman | 2025-10-28 08:29:15+00:00
I own and operate a machine I know will kill people and am planning on getting away with releasing it in public, while getting paid for it's use.Repetitivly. The permitting for wind turbines requires companies to get a "take permit", for the number of eagles and other birds they kill. What we are seeing here is an attempt to get a kill permit for people, by a company, to protect there proffits.
by probably_wrong | 2025-10-28 08:29:15+00:00
I'm unconvinced of 3/4 arguments against HMAC. "You cannot reverse it" sounds like the actual goal we were trying to reach and, similarly, "too slow for such a small input" seems like a self-solving problem. Is it perhaps an AI-generated list of "reasons for not choosing HMAC"?

I get the author has a specific destination in mind (IPCrypt) and a goal that's not properly stated ("but what if I want to do network analysis on top of the data?"), but I'm that case I wish they had dedicated more time to those details. In particular: if addresses from the same subnetwork share a prefix, how does that preserve privacy? If all users from (say) Taiwan land under the same prefix, then I'm back to where I started.
by globular-toast | 2025-10-28 08:31:11+00:00
I feel similarly about MS Word. It can actually produce decent documents if you learn how to use it, in particularly if you use styles consistently and never, ever touch the bold, italic, colours etc. (outside of defining said styles, although the defaults are probably all most people need). Unfortunately I think the appeal of Word is that you don't have to learn this and it will just do what you want. Is AI the panacea that will both do what you want and give you the right answers every time?
by kace91 | 2025-10-28 08:31:41+00:00
>should convince you that ChatGPT should be nowhere near anyone dealing with psychological issues.

Is that a debate worth having though?

If the tool is available universally it is hard to imagine any way to stop access without extreme privacy measures.

Blocklisting people would require public knowledge of their issues, and one risks the law enforcement effect, where people don’t seek help for fear that it ends up in their record.
by bayindirh | 2025-10-28 08:32:07+00:00
Maybe it's causing even more deaths than we know, and these doesn't make the news either?

If we think this way, then we don't need to improve safety of anything (cars, trains, planes, ships, etc.) because we would need the big picture, though... maybe these vehicles cause death (which is awful), but it's also transporting people to their destinations alive. If there are that many people using these, I wouldn't be surprised if these actually transports some people with comfort, and that's not going to make the news.
by mcv | 2025-10-28 08:32:43+00:00
Exactly what I came here to say. It's not wrong to ask ChatGPT for advice; it can occasionally be very useful. But if I want chatGPT's opinion, I can ask for it myself. It's pointless to ask ChatGPT to review someone else's code. Use it to review your own before you submit it for review by your coworkers.

This is not a problem I've run into fortunately, but I'm appalled that this exists.
by Theodores | 2025-10-28 08:33:20+00:00
In Japan they have bike theft sorted with mandatory registration with the local police force. A sticker on the bike and a corresponding bit of paper in the wallet provides proof of ownership, which may be requested by police at any time.

This costs money to administer but it means that nobody in Japan needs to overly worry about their bicycle being stolen. Huge locks are not needed, nor is GPS tracking or third party registration schemes.

The idea of getting a 'hack bike' that looks undesirable is often touted as a solution to cycle theft in the West. However, thieves just want money, so the 'hack bike' that can be easily sold trumps the hard-to-sell expensive bike if money is needed now, for tonight's high. More money can be tomorrow's problem.
Show HN: Log Bull – a simple log collection system for developers (Docker-based)
by rostislav_dugin | 2025-10-28 08:33:46+00:00
I built Log Bull because ELK/Loki/Graylog felt heavy for small services and side projects. I wanted something you can deploy fast, point your app at a single HTTP endpoint, and immediately search logs in a clean UI.

What it is: minimal log collection system + search UI focused on developer ergonomics. There are libraries for Java, Go, Python, JavaScript, C#, PHP.

Usage examples and playground are placed on the website - https://logbull.com.

Features: - per-project isolation (within single instance); - API keys; - optional domain/IP filtering limits; - retention settings; - users management and audit logs.

Deployment is made via Docker or via .sh script.

Tech stack: Go backend + React UI, PostgreSQL as DB, OpenSearch for storage/search, Valkey for caching and rate limiting.

The project is open source under Apache 2.0 license.
by econ | 2025-10-28 08:33:47+00:00
Long ago I complaint to Google that a search for suicide should point at helpful organisations rather than a Wikipedia article listing ways how to do it.

The same ranking/preference/suggestion should apply to any dedicated organisation vs a single page on some popular website.

A quality 1000 page website by and about Foobar org should be preferred over a 10 year old news article about Foobar org.
by gbalduzzi | 2025-10-28 08:33:50+00:00
It's not about being closed to other languages, it's about being economically pragmatic in many, many cases.

As shown in the article, you can build ONCE an app that loads in milliseconds by just providing an url to any potential customer. It works on mobile and on desktop, on any operating system.

The native alternative requires:

- Multiple development for any platform you target (to be widely used you need *at least* ios, android, macOS and windows.) - Customers are required to download and install something before using your platform, creating additional friction.

And all of this to obtain at most 20-30ms better loading times?

There are plenty of cases where native makes sense and is necessary, but most apps have very little to gain at the cost of a massive increase in development resources.