MurphyA/hacker-news huggingface dataset:
by shakna | 2026-01-23 20:12:05+00:00
> ask the the AT-SPI/ATK and GUI toolkit people to design the required interfaces

As I've already pointed out, multiple times, those are the people asking Wayland for the necessary protocols, so that they _can_ design the required interfaces.

KDE has pretty much given up, and kwin is a fork with a ton of extensions [0]. Because Wayland always says no.

Gnome does the same, as does wlroots and sway. Which means that all of them have incompatible protocols, meaning accessibility is sharded between desktop environments. Your apps, that you need just to press a key, are all incompatible with each other.

Accessibility is not some niche thing. It is a cornerstone of interface design, that assists everyone who interacts with it in some way.

Your view is very simple: Security trumps accessibility. That has been obvious since the first post.

My view is simpler: I am allowed to exist, and so security must make considerations for accessibility.

As things stand, both Windows and macOS have a better accessibility story than Linux, because of this dogged approach.

[0] https://invent.kde.org/libraries/plasma-wayland-protocols/
by jpalepu33 | 2026-01-23 20:12:12+00:00
This is a clear example of why building on proprietary APIs is risky for indie devs and small startups. I've seen similar patterns with Twitter's API restrictions and other platforms gradually closing down their ecosystems.

For anyone affected: consider this a forcing function to either:
1. Build your own lightweight search infrastructure (tools like Meilisearch, Typesense make this more accessible now)
2. Use adversarial interop via services like SerpAPI (though Google is already taking legal action there)
3. Pivot to specialized vertical search where you control the data sources

The real lesson here is the importance of owning your core value proposition. If your product's moat depends entirely on a third-party API that can be yanked away with 12 months notice, you don't really have a sustainable business.

Google is essentially saying: indie search is dead, pay enterprise prices or leave. This will probably accelerate the trend toward specialized, domain-specific search engines that don't rely on Google's index at all.
by einpoklum | 2026-01-23 20:12:59+00:00
The title misrepresents the linked post, which says "there are indications of", not "that is a fact".

A commenter on the linked post says that Internet is partially restored and he can chat with a friend in Tehran over WhatsApp. Of course, that's just an anecdote, and I certainly don't know whether the Internet in Iran is partially up or not, but this HN post seems to be mostly clickbait.
by jpalepu33 | 2026-01-23 20:13:03+00:00
This metaphor really captures the current state well. As someone building products with LLMs, the "you have to tell it where to turn" part resonates deeply.

I've found that the key is treating AI like a junior developer who's really fast but needs extremely clear instructions. The same way you'd never tell a junior dev "just build the feature" - you need to:

1. Break down the task into atomic steps
2. Provide explicit examples of expected output
3. Set up validation/testing for every response
4. Have fallback strategies when it inevitably goes off-road

The real productivity gains come when you build proper scaffolding around the "horse" - prompt templates, output validators, retry logic, human-in-the-loop for edge cases. Without that infrastructure, you're just hoping the horse stays on the path.

The "it eats a lot" point is also critical and often overlooked when people calculate ROI. API costs can spiral quickly if you're not careful about prompt engineering and caching strategies.
by seshagiric | 2026-01-23 20:13:28+00:00
It's a tradeoff, too early to say if it's a dumb move.

Side A: Tesla can grow FSD subscription revenue by making FSD + Autopilot completely based on subscription. Lot more people use Autopilot than FSD. In the happy path such users will pay the subscription and that revenue will increase.

Side B: Autopilot (aka lane keeping) is fast becoming default option across manufacturers. Tesla will take a dip in sales if such 'basic' option is no longer available.

Whether side A > side B is to be seen.
Show HN: PolyMCP – Simplifying MCP Server Development and Agent Integration
by justvugg | 2026-01-23 20:13:33+00:00
Hi HN,

I built PolyMCP, a framework to make building MCP (Model Context Protocol) servers and integrating agents much easier.

Working with MCP and agent tooling often comes with repetitive or frustrating challenges:

•Exposing Python functions as discoverable tools can be tedious.

•Orchestrating multiple MCP servers usually requires a lot of glue code.

•Debugging multi-server setups is tricky without good visibility into calls, inputs, and outputs.

•Integrating agents with LLMs to automatically discover and call tools is still immature in most setups.

PolyMCP addresses these pain points:

•Flexible tool exposure – Expose Python functions as MCP tools with minimal boilerplate. Supports HTTP, in-process, or stdio execution.

•Real-time Inspector – Monitor tool calls live, inspect inputs/outputs, and test interactions interactively.

•Built-in agent support – Agents can automatically discover and invoke tools with multiple LLM providers.

•CLI and workflow tooling – Quickly scaffold, test, and run MCP projects without tedious setup.

The goal is to make MCP server development and multi-tool agent orchestration faster and less painful.

Check it out here: https://github.com/poly-mcp/Polymcp

I’d love to hear feedback, ideas, or suggestions!
by lowbloodsugar | 2026-01-23 20:13:37+00:00
I too am a Very Serious Engineer but my shock is in the other direction: of course the ideas behind Gas Town are the future of software development and several VSEs I know are developing a proper, robust, engineering version of it that works. As the author of this article here remarks “yes, but Steve did it first”, and it annoys me that if I had written this post nobody would have read it, but also that, because I intend to use it in Very Serious Business ($bns) my version isn’t ready to a actually be published yet. Bravo to Steve for getting these thoughts on paper and the idea built even in such crude form. But “level 8” is real and there will be 9s and 10s and I am really enjoying building my own.
by jpalepu33 | 2026-01-23 20:13:54+00:00
Great write-up on the evolution of your architecture. The progression from 200ms → 14ms is impressive.

The lesson about "delete code to improve performance" resonates. I've been down similar paths where adding middleware/routing layers seemed like good abstractions, but they ended up being the performance bottleneck.

A few thoughts on this approach:

1. Warm pools are brilliant but expensive - how are you handling the economics? With multi-region pools, you're essentially paying for idle capacity across multiple data centers. I'm curious how you balance pool size vs. cold start probability.

2. Fly's replay mechanism is clever, but that initial bounce still adds latency. Have you considered using GeoDNS to route users to the correct regional endpoint from the start? Though I imagine the caching makes this a non-issue after the first request.

3. For the JWT approach - are you rotating these tokens per-session? Just thinking about the security implications if someone intercepts the token.

The 79ms → 14ms improvement is night and day for developer experience. Latency under 20ms feels instant to humans, so you've hit that sweet spot.
by ben_w | 2026-01-23 20:14:23+00:00
> isn’t Macron and his coalition supremely unpopular and just one election away from losing the country to factions that have a distinctly different vision of Europe and France’s role within

That's been just as true of all their politicians for as long as I can remember. Multiparty system, after a few rounds the vote for president comes down to someone sane but unpopular vs. some equivalent of the Tea Party, the French population put clothespegs on their noses and votes for the sane option.

(Dunno about the rest of their electoral system besides president).
by aprilthird2021 | 2026-01-23 20:14:30+00:00
> Why haven't they undergone clinical trials? Because that takes large amounts of money and no one is going to make that investment unless they can patent the molecule.

The Ramdevs and Patanjalis of the world could easily afford to do this and would boost their sales 100x if they could. They already sell unpatentable remedies and powders with great profit (but decamp to Western hospitals when they are actually sick)
by stryan | 2026-01-23 20:14:58+00:00
The biggest problem with the `systemctl daemon-reload (--user)` workflow to register quadlets with systemd is it hides any generation errors in journald instead of giving immediate feedback. It's a real pain in the ass, and I say this from a place of love.

Quadlets are just a systemd generator: all `daemon-reload` is doing is running `podman-system-generator` which looks at the Quadlet files and turns them into systemd unit files with a big honking `podman run --rm --blah container:tag` as the `ExecStart` property. There's nothing else to it, no daemons or what not

If you ever feel like bothering to give it another shot check journalctl to see if there's any generator errors. Or run the generator directly: on my OpenSUSE box it's at `/usr/lib/systemd/system-generators/podman-system-generator` , Run it with `--dry-run` to just output to stdout and `--user` to get user quadlets.
by loglog | 2026-01-23 20:15:12+00:00
The plain Java equivalent of the proposed semantics would be a type system extension similar to JSpecify:
@Result(ok=Ok.class, error={Checked1.class, Error2.class}) Object function()
combined with enough restrictions on the usages of results of such methods (e.g., only allow consuming the results in an instanceof pattern matcher; not even switch would work due to impossibility of exhaustiveness checking).

The one feature that the proposed Kotlin error types share with Java checked exceptions is that they can be collected in unions. However, the union feature for checked exceptions is pretty much useless without the ability to define higher order functions that are generic over such unions, which is why checked exceptions fell out of favor with the spread of functional APIs in Java 8.
by conartist6 | 2026-01-23 20:15:24+00:00
It's a paradox, huh. If the AI harness became so stable it wrote good code he wouldn't be afraid to look at the code he would be eager to look at it, right? But then if it mattered if AI wrote good code or not he couldn't defend his position that the way to create value with code is quantity over quality. He needs to sell the idea of something only AI can do, which means he needs the system to be made up of a lot of bad or low quality code which no person would ever want to be forced to look at.
by Analemma_ | 2026-01-23 20:15:24+00:00
If you have do a lot of driving, $99/mo. seems like a decent price to have the car drive itself, especially if it got to the Waymo point where absolutely no driver attention was needed and you could watch Netflix the whole time. The issue with FSD isn't the price, it's that no matter what Elon and his fanboys say, it doesn't bloody work and Waymo is blowing them out of the water in capability.
by dataviz1000 | 2026-01-23 20:15:27+00:00
> I feel like Claude Code is starting to fall over from being entirely written by LLMs.

The degradation is palpable.

I have been using vscode github copilot chat with mostly the claude opus 4.5 model. The underlying code for vscode github copilot chat has turned to shit. It will continuously make mistakes no matter what for 20 minutes. This morning I was researching Claude Code and pricing thinking about switching however this post sounds like it has turned to shit also. I don't mind spending $300-$500 a month for a tool that was a month ago accomplishing in a day what would take me 3-4 days to code. However, the days since the last update have been shit.

Clearly the AI companies can't afford to run these models at profit. Do I buy puts?
by gruturo | 2026-01-23 20:16:00+00:00
Awesome article Ken, I feel spoiled! It's always nice to see your posts hit HN!

Out of curiosity: Is there anything you feel they could have done better in hindsight? Useless instructions, or inefficient ones, or "missing" ones? Either down at the transistor level, or in high level design/philosophy (the segment/offset mechanism creating 20 bit addresses out of 2 16-bit registers with thousands of overlaps sure comes to mind - if not a flat model, but that's asking too much to 1979 design and transistor limitations I guess) ?

Thanks!
by aminmardom | 2026-01-23 20:16:26+00:00
Okay, now that you've realized that Iranians are being routed to Europe on the Cloudflare network (when the IRAF internet was cut off, there were fewer European pop-ups), it's better to direct Iranians to closer countries like Azerbaijan, the UAE, and Armenia, not Frankfurt, London, etc., so they can have a better experience with Cloudflare.
by pxc | 2026-01-23 20:16:44+00:00
You just plug Nix into a service manager that you have Nix bring along for you. Many years ago, I did this for a proof-of-concept at work with supervisord[1] and flake.nix. Devenv[2] builds in[3] support for process-compose[4], which GP mentioned. A few years ago, one long-time Nixer even created[5] a framework, nix-processmgmt[6] that abstracts over various service managers including supervisord and s6[7], which can both be used in a self-contained way regardless of the init system on the host.

There are a ton of other open-source process supervisors you can use to manage long-lived processes in a portable way, too, notably Foreman[8] and various clones written in languages other than JS, and GNU Shepherd[9]. In the course of writing this post, I discovered one called dinit[10] which looks sort of similar to s6 and the GNU Shepherd in that it supports both pure usermode operation as well as functioning as an OS's init system. Anyway, all of 'em are in Nixpkgs, so you can pick them up and use them without any packaging work, too.

Service orchestration and containers are basically orthogonal concerns. Before Docker was born, there were already plenty of portable tools for standalone "process supervision", "service management", whatever you wanna call it. So it is after Docker, as well.

If I needed this for one of my dev environments I would take a look at process-compose to decide if it's acceptable to me. If it isn't, then after surveying the contemporary landscape of usermode service managers, I'd then write a devenv module that generates configs for it, and use that.

> Should I run Nix in Docker, Docker from Nix, or is there a nix-only solution for this?

I'd do this in a "Nix-only" way if possible, but if it's convenient for you to run a service via Docker (or Podman or any other container runtime), you can still do that.

If you can safely assume that all of your devs have it available, you can ship the client (`docker` or `podman` CLI or whatever) as part of your Nix environment, then have your process manager launch it via that command line interface. I'd avoid running Nix from within Docker for the purposes of development environments.

--

1: https://supervisord.org/

2: https://devenv.sh/

3: https://devenv.sh/supported-process-managers/process-compose...

4: https://f1bonacc1.github.io/process-compose/

5: https://sandervanderburg.blogspot.com/2020/02/a-declarative-...

6: https://github.com/svanderburg/nix-processmgmt

7: https://skarnet.org/software/s6/

8: https://github.com/ddollar/foreman

9: https://shepherding.services/

10: https://davmac.org/projects/dinit/
by maigret | 2026-01-23 20:16:56+00:00
The trains that are 10 min late in Germany mostly not exist in many other countries. Sure Switzerland is the best, but Germany is pretty high up. It’s just less good than it used to be. Oh and you can ride almost everywhere for 60 EUR / month.

For healthcare if you get an IT salary you can either move to private insurance, or buy additional insurance, or just pay a consultation yourself for a fee that US people won’t believe.
by hinkley | 2026-01-23 20:17:19+00:00
There was a hacked driver you could get that would tighten up the tolerances of the stepper motor and get from 1.5 to 1.9 MB of data onto a single floppy, but sliding the tracks closer together.

There was I believe at some point a game that shipped 1.5MB disks as a copy protection mechanism. But if you had this tool you could copy them anyway.
by michaelt | 2026-01-23 20:17:27+00:00
> If your company has data that the police want and they can get a warrant, you have no choice but to give it to them.

Yes. The thing is: Microsoft made the design decision to copy the keys to the cloud, in plaintext. And they made this decision with the full knowledge that the cops could ask for the data.

You can encrypt secrets end-to-end - just look at how password managers work - and it means the cops can only subpoena the useless ciphertext. But Microsoft decided not to do that.

I dread to think how their passkeys implementation works.
by xp84 | 2026-01-23 20:17:40+00:00
Do we have confirmation that it’s a must to upload the key if you use an MS account with Windows? Is it prove that its not possible to configure Windows to have an MS account linked, maybe even to use OneDrive, while not uploading the BitLocker key?

Btw - my definition of “possible” would include anything possible in the UI - but if you have to edit the registry or do shenanigans in the filesystem to disable the upload from happening, I would admit that it’s basically mandatory.
by tuhgdetzhh | 2026-01-23 20:17:53+00:00
I’m experiencing a similar issue hosting MCP Server on Cloud Run with scale-to-zero for cost optimization. As far as I know, Cloud Functions v2 and Cloud Run both are container-based, and they tend to have noticeable startup times.

In contrast, AWS Lambdas, which run on Firecracker, have sub-second startup latency, often just a few hundred milliseconds.

Is there anything comparable on GCP that achieves similar low latency cold starts?
by waffletower | 2026-01-23 20:18:12+00:00
Tesla's autopilot was so clumsy that I stopped using it and forgot about it years ago. I like the adaptive cruise control though, it is more transparent and decidedly more of a benefit, except for its phantom braking moments. Autopilot's requirement that your hands be on the wheel (and do nothing) is a strain over time, definitely boring, and a terrible interface. I don't understand why people would pay for such an awkward feature. The monthlong demos of Full Self Driving I tried were even more awkward. The need to keep your hands on the wheel required a different but nearly equivalent cognitive load to actual steering, when using it in residential and city traffic. The crucial difference is that "the car was driving me" rather than "I was driving the car". Tesla can't convince everyone that their driver assist technology warrants product status; take away driver autonomy and make them pay for it seems like a failure to me. It won't be a product until you can sit in the back, close your eyes and safely arrive at your destination. Good luck getting to that level of quality with this business model. Tesla should be giving the tech away to its car owners and collecting as much data as they can, right? I have points to spare for the astroturf Muskovites to downvote my honest (but embarrassed) customer perspective.
by tobyjsullivan | 2026-01-23 20:18:20+00:00
Someone said it best after one of those AWS outages from a fat-fingered config change:

> Automation doesn't just allow you to create/fix things faster. It also allows you to break things faster.

https://news.ycombinator.com/item?id=13775966

Edit: found the original comment from NikolaeVarius
by sdwr | 2026-01-23 20:18:31+00:00
The question is whether the system can be responsible for the process. Big picture, AI doing 90% of the task isn't much better than it doing 50%, because a person still needs to take responsibility for it actually getting done.

If Claude only works when the task is perfectly planned and there are no exceptions, that's still operating at the "junior" level, where it's not reliable or composable.
by tavavex | 2026-01-23 20:18:33+00:00
I don't think that's quite right. The age-gating of the internet is part of a brand new push, it's not just patching up a hole in an existing framework. At least in my Western country, all age-verified activities were things that could've put someone in direct, obvious danger - drugs, guns, licensing for something that could be dangerous, and so on. In the past, the 'control' of things that were just information was illusory. Movie theaters have policies not to let kids see high-rated movies, but they're not strictly legally required to do so. Video game stores may be bound by agreements or policy not to sell certain games to children, but these barriers were self-imposed, not driven by law. Pornography has really been the only exception I can think of. So, demanding age verification to be able to access large swaths of the internet (in some cases including things as broad as social media, and similar) is a huge expansion on what was in the past, instead of just them closing up some loopholes.
by pests | 2026-01-23 20:18:34+00:00
> But unless they've made a commitment not to prompt the agent again

Model UI's like Gemini have "scheduled actions" so in the initial prompt you could have it do things daily and send updates or reports, etc, and it will start the conversation with you. I don't think its powerful enough to say spawn sub agents but there is some ability for them to "start chats".
by thewebguyd | 2026-01-23 20:18:37+00:00
Yeah I don't get Tesla's move here. Lane Keep Assist has been a standard feature in most new cars, EV or not, starting around ~2019ish. IIRC, the EU now has regulations mandating lane keep assist in all new vehicles sold.

Heck, a cheap base model Maza 3 I rented had lane keep assist.

Tesla only stands to lose by gatekeeping what's now a basic feature behind a paywall.
by wnissen | 2026-01-23 20:18:39+00:00
Perhaps we didn't realize how much stability the "two powers" model generated. It caused inevitable arms races as the two powers vied to stay competitive, but there were only two. And the USSR was able to de-escalate on its own. If you have three powers, each of them wants the ability to eliminate not one, but both of the others. Could lead to not just incremental, but polynomial expansion of forces. And de-escalation involves multiple parties coordinating, not just one great power.