MurphyA/hacker-news huggingface dataset:
by hocuspocus | 2025-11-04 10:56:05+00:00
> OCaml's real pain point isn't the syntax - it's that you can't hire for it. if you're building a startup and you pick OCaml, you've just cut your hiring pool by 95%. that's way more painful than learning a different way to write functions.

I hear this a lot about Scala and it's never been an issue in practice.

A smaller pool of candidates makes hiring easier, I'd much rather screen 20 résumés than 400. The typical candidate, whether experienced or willing to learn, is also better on average.

"We can't find qualified developers" usually tells more about the employer, in reality that means:

- We aren't willing to pay market rates.

- We don't invest in even the most basic on-the-job training.

- Seniority distribution is junior heavy; we expect one senior developer per team who can mentor all the other ones.

Or a combination of the above.

I know two relatively small companies that use OCaml, they don't pay anywhere near Jane Street salaries, but they're willing to hire people who show interest in the language and invest a little in their training. This works. On my end I've hired several people coming almost purely from Python, after a few weeks they contribute to fairly advanced Scala codebases.
by wj | 2025-11-04 10:56:05+00:00
Agree with you from the theoretical POV but, in practice, that means that any CRM that has been used to store an email is untrusted data. Basically, a business's most trusted data source is untrusted in the LLM context. Which feels like a bridge that is going to need to be crosssed as the alternative is to just use new data (with a clearly traced and entirely internal lineage).
by aaaashley | 2025-11-04 10:57:15+00:00
The "development time is more important than performance" motto treats bad performance as the problem with software, when in reality poor performance is a symptom of growing software complexity. I'm sure that each individual coder who has contributed to software bloat believed that their addition was reasonable. I'm sure everyone who has advocated for microservices fully believes they are solving a real-world problem. The issue is that we don't treat complexity as a problem in-and-of-itself.

In physical disciplines, like mechanical engineering, civil engineering, or even industrial design, there is a natural push towards simplicity. Each new revision is slimmer & more unified–more beautiful because it gets closer to being a perfect object that does exactly what it needs to do, and nothing extra. But in software, possibly because it's difficult to see into a computer, we don't have the drive for simplicity. Each new LLVM binary is bigger than the last, each new HTML spec longer, each new JavaScript framework more abstract, each new Windows revision more bloated.

The result is that it's hard to do basic things. It's hard to draw to the screen manually because the graphics standards have grown so complicated & splintered. So you build a web app, but it's hard to do that from scratch because the pure JS DOM APIs aren't designed for app design. So you adopt a framework, which itself is buried under years of cruft and legacy decisions. This is the situation in many areas of computer science–abstractions on top of abstractions and within abstractions, like some complexity fractal from hell. Yes, each layer fixes a problem. But all together, they create a new problem. Some software bloat is OK, but all software bloat is bad.

Security, accessibility, and robustness are great goals, but if we want to build great software, we can't just tack these features on. We need to solve the difficult problem of fitting in these requirements without making the software much more complex. As engineers, we need to build a culture around being disciplined about simplicity. As humans, we need to support engineering efforts that aren't bogged down by corporate politics.
by spacecadet | 2025-11-04 10:57:46+00:00
Come on people, think about what is actually happening. They are not thinking... Think about what actually goes into the activity of thinking... LLMs, at no point actually do that. They do a little bit special padding and extra layers, but in most cases, every single time... not when needed, not sub-consciously, but dumbly.

Im already drifting off HN, but I swear, if this community gets all wooey and anthropomorphic over AI, Im out.
by Cthulhu_ | 2025-11-04 10:57:49+00:00
That's a good thing, large scale refactorings should be very, very rare. Even automated code style changes can be controversial because of the churn they create. For large and/or important software, churn should be left to a minimum, even at the cost of readability or code cleanliness. I've seen enough open source projects that simply state they won't accept refactoring / reformatting PRs.
by pomarie | 2025-11-04 10:57:56+00:00
One thing that actually works is getting AI to review the basic stuff first so you can focus on architecture and design decisions. The irony of using AI to review AI-generated code isn't lost on me, but it does help.

That said, even with automated review, a 9000 line PR is still a hard reject. The real issue is that the submitter probably doesn't understand the code either. Ask them to walk you through it or break it down into smaller pieces. If they can't, that tells you everything.

The asymmetry is brutal though. Takes an hour to generate 9000 lines, takes days to review it properly. We need better tooling to handle this imbalance.

(Biased take: I'm building cubic.dev to help with this exact problem. Teams like n8n and Resend use it to catch issues automatically so reviewers can focus on what matters. But the human review is still essential.)
by conartist6 | 2025-11-04 10:58:46+00:00
An LLM is a mirror. It has no will to act. It has no identity, but is a perfect reflection of the biases in its training data, its prompt, and its context. It is not alive any more than a CPU or a mirror is alive.

This is one of those cases where it's hugely important to be to right because we're killing real people to feed their former livelihood to LLMs. No we're not killing them with the death penalty, but for some LLMs have certainly led directly to death. We don't accuse the LLM do we? No because it never has any intention to heal or hurt. There would be no point putting it on trial. It just predicts probable words.
by Cthulhu_ | 2025-11-04 10:59:46+00:00
Can confirm, I asked it to write a unit test for a small component, it wrote tons of code that parsed and validated some JSON configuration (a theme file) instead of just the unit under test. I just wrote it myself instead of try and argue with it.

Maybe the AI was too clever for its own good? Have AI coding assistants evolved from junior (naive but alright) to medior (overly complicated and complete)?
Show HN: A couple of Chrome extensions to make YouTube better
by ile | 2025-11-04 11:00:09+00:00
YouTube Auto-Focus

Automatically focuses the YouTube video player so keyboard controls work instantly (seeking back/forward and volume control).

To install: https://chromewebstore.google.com/detail/youtube-auto-focus/...

Source code: https://github.com/ile/YouTubeAutoFocus

--

YouTube Auto Subtitles

Selects auto-generated subtitles automatically.

To install: https://chromewebstore.google.com/detail/youtube-auto-subtit...

Source code: https://github.com/ile/youtube-auto-subtitles
by watwut | 2025-11-04 11:00:26+00:00
> the poster above you has 90% of their comment focused on intimacy.

They did not. And I specifically reacted to their claim that males commit physical violence instead of mental one. I am not wrong there, physical violence is mixed with mental one, not something that would happen outside of it. It was very much false dichotomy and has nothing to do with how abuse actually happens in practice.

> At least half my female partners have requested choking over the years. It is absolutely not a niche thing

This may have a lot to do with what kind of person you are attracted to and chooses as a partner.

> I enjoy reading the odd popular smut or semi-smut book written from the womans perspective by female authors, and almost universally they have controlling behaviours present with choking being nearly omnipresent.

Again, this is literally about your selection of books. Especially the choking part.

I mean, I can point you to heavily violent porn on the internet. Not hidden, not hard to get, right there for anyone to find with two clicks. That does not mean most men enjoy watching beatings and humiliation as their porn, it means that some do.
by nprateem | 2025-11-04 11:01:26+00:00
To a point, but sleeping before redirecting on the server is insanity. It's pointlessly brittle when the client is perfectly capable of managing its own timer.

This approach completely breaks sensible reasoning about what clients are responsible for. What's next, sending every keystroke to the server so it can tell the client to update a text input?!?

It still takes resources to keep SSEs open, load balance, reopen lost connections, etc. But worst of all is shifting fundamental logic back to the server for literally no benefit.
by ttoinou | 2025-11-04 11:02:41+00:00
You’re right it’s not a real paradox. It simply states that movements of a/b (efficiency of steam engines input coal / output work, price of coal per kilo of coal etc.) doesnt tell us anything about a and b. Easy maths. But for humans economics usually it means demand increasing so a and b increasing. It’s only a paradox for humans who focus on numbers too much
Linux shell with code generator integration?
by acro-v | 2025-11-04 11:02:49+00:00
Hi Everyone,

I started building AI code generator with shell integration because did not like the feeling of switching back and forth between my terminal environment and panes where code assistants generated code snippets, and then having to select, copy and paste them in my code.

So now I have a tool where in the same terminal session you can execute shell commands, open editors and edit files, and prompt AI without ever leaving.

My question is: would it be something that others found interesting and useful or is it just me who experiences pains of context switching?

Thanks to all who responds.
by vbezhenar | 2025-11-04 11:03:13+00:00
Sometimes bloat is forced on you.

I had to write Android app recently. I don't like bloat. So I disabled all libraries. Well, I did it, but I was jumping over many hoops. Android Development presumes that you're using appcompat libraries and some others. In the end my APK was 30 KB and worked on every smartphone I was interested (from Android 8 to Android 16). Android Studio Hello World APK is about 2 MB, if I remember correctly. This is truly madness.
by nunez | 2025-11-04 11:04:32+00:00
> From the article: If you live in the United States today, and you accidentally knock a hole in your wall, it’s probably cheaper to buy a flatscreen TV and stick it in front of the hole, compared to hiring a handyman to fix your drywall.

This also isn't true?

It costs almost nothing to patch drywall. You can also do this yourself. Unless the point they're making is "TVs are so cheap, you can mount a TV inside of the drywall for less money than it would cost to fix," which also isn't true.
by ben_w | 2025-11-04 11:06:13+00:00
> Having seen LLMs so many times produce coherent, sensible and valid chains of reasoning to diagnose issues and bugs in software I work on, I am at this point in absolutely no doubt that they are thinking.

While I'm not willing to rule *out* the idea that they're "thinking" (nor "conscious" etc.), the obvious counter-argument here is all the records we have of humans doing thinking, where the records themselves are not doing the thinking that went into creating those records.

And I'm saying this as someone whose cached response to "it's just matrix multiplication it can't think/be conscious/be intelligent" is that, so far as we can measure all of reality, everything in the universe including ourselves can be expressed as matrix multiplication.

Falsification, not verification. What would be measurably different if the null hypothesis was wrong?
by conartist6 | 2025-11-04 11:06:32+00:00
So an x86 CPU is thinking?

So many times I've seen it produce sensible, valid chains of results.

Yes, I see evidence in that outcome that a person somewhere thought and understood. I even sometimes say that a computer is "thinking hard" about something when it freezes up.

...but ascribing new philosophical meaning to this simple usage of the word "thinking" is a step too far. It's not even a new way of using the word!
by erdlet | 2025-11-04 11:07:01+00:00
These "personal adult activities" are highly risky and, given the ease by which a man may harmfully strangle a woman compared to vice versa, a form of gendered violence. Nothing at all like playing football.

Overhauling the Equality Act, which would be a complex and time-consuming process, wasn't in Labour's election campaign either. They have more pressing issues to deal with.

Anyway, the Supreme Court judgment confirmed that everyone's rights are still protected so it's not like there's a huge oversight that needs to be corrected.
by eviks | 2025-11-04 11:07:18+00:00
> A significant part of this bloat is actually a tradeoff

Or actually not, and the list doesn't help go beyond "users have more resources, so it's just easier to waste more resources"

> Layers & frameworks

There are a million of these, with performance difference of orders of magnitude. So an empty reference explains nothing re bloat

But also

> localization, input, vector icons, theming, high-DPI

It's not bloat if it allows users to read text in an app! Or read one that's not blurry! Or one that doesn't "burn his eyes"

> Robustness & error handling / reporting.

Same thing, are you talking about a washing machine sending gigabytes of data per day for no improvement whatsoever "in robustness"? Or are you taking about some virtualized development environment with perfect time travel/reproduction, where whatever hardware "bloat" is needed wouldn't even affect the user? What is the actual difference between error handling in the past besides easy sending of your crash dumps?

> Engineering trade-offs. We accept a larger baseline to ship faster, safer code across many devices.

But we do not do that! The code is too often slower precisely because people have a ready list of empty statements like this

> Hardware grew ~three orders of magnitude. Developer time is often more valuable than RAM or CPU cycles

What about the value of time/resources of your users ? Why ignore reality outside of this simplistic dichotomy. Or will the devs not even see the suffering because the "robust error handling and reporting" is nothing of the sort, it mostly /dev/nulls a lot of user experience?
by killerstorm | 2025-11-04 11:08:37+00:00
People have been trying to understand the nature of thinking for thousands of years. That's how we got logic, math, concepts of inductive/deductive/abductive reasoning, philosophy of science, etc. There were people who spent their entire careers trying to understand the nature of thinking.

The idea that we shouldn't use the word until further clarification is rather hilarious. Let's wait hundred years until somebody defines it?

It's not how words work. People might introduce more specific terms, of course. But the word already means what we think it means.
by jiggawatts | 2025-11-04 11:09:28+00:00
Allow me to politely pick apart the "Not my problem, talk to your DBA" comment from the perspective of someone who's worn every IT hat there is.

Okay, so, what is the DBA to do? Double the server capacity to "see if that helps"?

It didn't, and now the opex of the single most expensive cloud server is 2x what it was and is starting to dwarf everything else... combined.

Maybe it's "just" a bad query. Which one? Under what circumstances? Is it supposed to be doing that much work because that's what the app needs, or is it an error that it's sucking down a gigabyte of data every few minutes?

How is the DBA to know what the usecases are?

The best tools that solve these runtime performance are modern APM tools like Azure App Insights, Open Telemetry, or the like.

Some of these products can be injected into precompiled apps using "codeless attach" methods, and this works... okay at best.

So SysOps takes your code, layers on an APM, sees a long list of potential issues... and the developers "don't care" because they think that this is a SysOps thing.

But if the developer takes an interest and is an involved party, then they can integrate the APM software development kit, "enrich" the logged data, log user names, internal business metadata, etc... They log on to the APM web portal and investigate how their app is running in production, with real-world users instead of synthetic tests, with real data, with "noisy neighbours", and all that.

Now if Bob's queries are slowing down the entire platform, it's a trivial matter to track this down and fix Bob's custom report SQL query that is sucking down SELECT * FROM "MassiveReportView" and killing the entire server.

Troubleshooting, performance, security, etc... are all end-to-end things. Nobody can work in isolation and expect a good end result.
by ZeroGravitas | 2025-11-04 11:09:41+00:00
I was going to mention MTV's Liquid Television animation showcase as a potential inspiration for this.

That link seems partly confirmed since they mention an online predecessor called Stick Figure Death Theatre and the Liquid Television segment (which re-enacted famous movie scenes with stick figure animations) was called Stick Figure Theatre.

Pretty much each individual segment of that show was mind blowing (it launched Beavid and Butthead) but the stick figure interpretation of Night of he Living Dead stuck with me for years.

YouTube has a compilation: https://youtu.be/-M7-Sew5aU8
Show HN: Concierge - Framework for Building Agentic Web Interfaces
by arnav3 | 2025-11-04 11:10:41+00:00
Hey HN, We’re building Concierge,

An open source framework that allows you to build Agentic Applications, letting LLMs navigate, interact, and transact with your service

It's a declarative framework which makes it easy for you to create Microservices for AI agents. You can expose your existing web offerings to LLMs. To support navigation you can use several abstractions like Stages, Tasks, Workflows and more. These specify the rules and guiding principles of how an Agent interacts with the service.

It's especially useful when you want to expose complex business logic with thousands of APIs, and want to provide context on how these can be used/called. For example building an Amazon for agents. With Concierge, you can several rules or "guiding principles" on how you want an Agent to interact with your service. We are calling this new concept as Agentic Web Interfaces, would love to know what you think!

You can find the repository here: https://github.com/Agentic-Web-Interfaces/concierge

Some features we are excited about: 1. UI Dashboard to track costs, top business services, usage and analytics. 2. Replay ability to allow you to track and debug user sessions. 3. Ability to self-host or use our managed hosting.
by close04 | 2025-11-04 11:11:17+00:00
> I can tell the difference between 1080p (or upscaled 1080p) and 4k

Are you talking about the resolution of the video or of the screen itself? Lower resolution video looks worse also because of the compression. I saw bigger difference from video compression than from screen resolution. E.g. good 1080p video looked better than bad 1080p video on any screen and resolution.

I have a 43" 4k monitor at ~1m distance and when I use the computer set up with 100% scaling it looks bad, I see pixelation... and "subpixelation". On a different computer connected to the same screen but something like 150% scaling it's like night and day difference. Everything looks smooth, perfect antialiasing.

This is the money picture [0]. Above a certain distance any improvement is imperceptible. But don't compare compressed video on a screen, it will add quality issues that influence your perception.

[0] https://media.springernature.com/full/springer-static/image/...
by lachiflippi | 2025-11-04 11:11:20+00:00
This may come as a surprise to you, but there are organizations, for example German municipalities, that have more than 500 users but can't afford to start pumping tens or hundreds of thousands per year into a file sharing service. Nextcloud themselves recognize this and offer 95%+ discounts to edu, similar to what Adobe, Microsoft, and Git[Hub,Lab] are doing.
by adamchol | 2025-11-04 11:12:37+00:00
I've been writing OCaml for quite some time now and I don't think any of those "pain points" are "pain" or really any problem with the language. I think they're more like a preference. The syntax or no forward references are just decisions that makes the language good in some ways and bad in others, and seems like you just really don't like the cons.

Also, isn't freedom of annotating a function a good thing, instead of having a requirement on it? You can just explicitly annotate some stuff when you have a type error that doesn't feel right!

OCaml is way more simple from the type system perspective than Rust, I think it makes it great when you need a lot of iteration on you code.

One thing I do agree on are problems with the ecosystem. Maybe not quite in the specific area described here but man we got some problems in IO/concurrency/asynchrony space. Making a GOOD standard for it would just improve all our lives as OCaml developers.
by usrbinenv | 2025-11-04 11:13:20+00:00
Server renders the page. Suppose you have a element there which reads like <div data-component="HenloComponent">...</div>. Then the .js framework which was loaded on that page queries the DOM in search of any elements with data-component attribute and creates instances of HenloComponent (which is a class written by you, the developer, user of the framework). It's a bit more complicated than that, but that's the essence of it.

Note that with this approach you don't need to "render" anything, browser already done it for you. You merely attaching functionality to DOM elements in the form of Component instances.
by imtringued | 2025-11-04 11:13:30+00:00
Your final example feels wrong. Rust provides features that are basically unmatched by the fast majority of C++ and Rust competitors. I've also been soured enough on C++ to the point where rewriting an entire ecosystem in Rust seems like less effort than to figure out how to make the decrepit C++ one work for my purposes. You spend weeks trying to install a C++ library only to realize that it is not fit for purpose and then you spend another week on the next one, until you've tried most of them and realized they are all kind of bad in one way or another. Even if they worked as advertised, you're already going far beyond the intended use cases of the existing libraries so why limit yourself by the past?
by stephen_g | 2025-11-04 11:15:21+00:00
In Australia the going rate last time I got one installed when I was supplying the unit (this was back in 2019) was AU$540 (US$350) for a simple install (exterior wall of house etc.), because electricians just get an extra qualification and there’s a lot of competition.

I bought the 3.5KW unit online for $1080 including delivery (USD$702) so it was $1620 (US$1050) all up. I expect with the recent inflation it might cost more like $2000 (US$1300) installed for one that size and maybe $3500 (US$2275) for a bigger unit (8kW).

The splits themselves are mostly all Japanese brands that we have here (Mitsubishi Electric, Daiken, Panasonic, etc.) as well as some Korean (LG, Samsung), but Chinese ones are starting to appear in the market too. But they all seem very cheap compared to buying one in the US, before the installation there which just seems astronomically expensive to us.