MurphyA/hacker-news huggingface dataset:
by jeroenhd | 2025-12-29 13:01:05+00:00
> This article reads exactly like that. You weren't kidnapped. You were rerouted.

Obviously. There's a joking undertone in those words. If they were serious, they would've called the police.

DB has gained its reputation for good reason. In this case, taking someone away into another federal state without giving them the option to get out of the train to find alternative transport.

Maybe the UK is worse; the UK is famous for its extremely high prices. The US probably is worse with the way their trains are operated. That still doesn't excuse the absolutely awful service DB provides in a country as wealthy and developed as Germany.

The worst part is that DB wasn't always this terrible. It's now playing catch-up with itself, taking care of overdue maintainance causing seruous disruptions that should've been minor annoyances years ago.

I have been advised by rail enthusiasts to make sure my train is scheduled to arrive two to three hours before my transfer, because DB will be late. A foolish friend once tried to make their transfer with only an hour and a half of scheduled margin; they missed their connection and lost their (paid-for) seat reservations.

Then there's the government side of things: we, the Dutch, want to run more and better train connections to the rest of Europe. Germany just doesn't want it to happen, though. Even when the Dutch offered to pay to have a broken bridge upgraded, the Germans turned down the offer, leaving plans for their old, outdated single track bridge in place.

DB probably works fine a lot of the time, but you shouldn't accept DB's incompetence as normal. You deserve better.
by brynx97 | 2025-12-29 13:01:22+00:00
I had challenges with split-DNS in my homelab k3s cluster trying to do this. I ended up just putting the apps in docker-compose on a VM that has static routes for my local homelab networks. I looked at tailscale to solve this since it has a kubernetes operator, but tailscale doesn't fit my use cases or work well with all of my devices.
by microtonal | 2025-12-29 13:01:32+00:00
And being delayed for 15-40 minutes, getting thrown out in the middle of nowhere, or having to continue by bus is an inconvenience for most people, but a nightmare for people with disabilities. Imagine being in a wheelchair, having a digestive condition (Crohn, IBS, etc.), or some sort of anxiety. I imagine that there are groups of people in Germany that simply do not travel anymore.

It is an area where proper governance is failing. I don't know about Germany, but in The Netherlands, Dutch law requires at least 90% of the trains to be on time (less than 5 minutes delay). If national train company do not reach those numbers, they are fined and I think in an extreme case they can lose their concession.
by joistef | 2025-12-29 13:01:36+00:00
A few things that might help:

The Delta Lake suggestion is tempting but I don't think it actually solves your core problem - you still need to rewrite rows to populate a new column with non-default values. Their deletion vectors help with row-level updates, not column additions.

The separate table approach is probably your best bet, but I'd avoid row_number joins. If you can do a one-time rewrite to add a content hash or deterministic row ID, your annotation table becomes (row_id, score) and the join is trivial. Yes, it's a one-time cost, but it pays off every time you add a new annotation column.

If a rewrite is truly off the table, the overlay pattern works: keep annotations in separate parquet files keyed by (file_path, row_group_index, row_offset_within_group). DuckDB handles this reasonably well. The ergonomics aren't great but it's honest about the tradeoff you're making.

The parquet metadata idea is clever but metadata is size-limited and not designed for per-row data - you'd be fighting the format.

What query engine are you using? That might change the calculus.
by molteanu | 2025-12-29 13:01:53+00:00
I never understood the appeal of Feynman and these Lectures. It has been a constant topic for years around here.

For example, the Electricity and Magnetism book by Purcell is phenomenal but it is hardly ever mentioned. To quote wikipedia,

Electricity and Magnetism is a standard textbook in electromagnetism originally written by Nobel laureate Edward Mills Purcell in 1963. Along with David Griffiths' Introduction to Electrodynamics, this book is one of the most widely adopted undergraduate textbooks in electromagnetism. A Sputnik-era project funded by the National Science Foundation grant, the book is influential for its use of relativity in the presentation of the subject at the undergraduate level. In 1999, it was noted by Norman Foster Ramsey Jr. that the book was widely adopted and has many foreign translations.

Something mysterious is going on here.
by WickyNilliams | 2025-12-29 13:02:53+00:00
The major downside of using light DOM is that elements cannot compose neatly since there's no delineating between what the component itself rendered and child content.

When you need to re-render your component, how does the component know not to replace the child content you rendered, Vs the child content it rendered into the light DOM. That's why the shadow DOM and slots were necessary, because then there's no intermingling of your content Vs the component's

This may not be a problem if you don't intend to compose your components. But if you do you will hit limits quickly
by tirant | 2025-12-29 13:02:56+00:00
I guess you took the S1 S-Bahn. Yes, it always splits in Neufahrn. Part of the train goes to the airport, the other section to Freising (a cute University city, by the way)

That is indicated on the platform screens before getting on the train. It tells you which part of the train goes where so you know which wagon to take.

I found it also not very intuitive first time I took it. But hey, when travelling there’s always local peculiarities to take care of ;)
Anyone else tired of reading 5–10 review articles just to buy one product?
by Mr-Mosh | 2025-12-29 13:03:03+00:00
Lately I’ve noticed that buying anything (laptop, headphones, keyboard, app, etc.) feels way harder than it should.

I end up opening 5–10 review sites, comparing slightly different “Top 10” lists, and still wondering:

• Which sites are actually trustworthy?
• Why do rankings change so much?
• Am I missing something better?

It made me wonder:

Would you trust an app/extension that automatically aggregates the best products across multiple reputable review sites, shows you the sources, and ranks them by how consistently they’re recommended?

Not asking about perfect accuracy — more about saving time and reducing decision fatigue.

Curious:

How do you personally decide what to buy?

Do you trust review sites today?

What would make you not trust something like this?

Genuinely interested in honest opinions — even if the answer is “this already exists” or “I wouldn’t use it.”
by ernst_klim | 2025-12-29 13:03:20+00:00
> Twenty minutes late is normal in the UK.

My biggest gripe with DB is not that it's late, but that it quite often cancels the trains. If you decided to go by regional trains with 1-2 hops instead of direct (bc you can go much cheaper with Deutschlandticket), there's a high chance that at least one of your trains get cancelled and things will not go according the plan.
by sixtyj | 2025-12-29 13:03:23+00:00
Adults can cope somehow...
But what about children? In schools, where the majority society (teachers) probably won't tell them that hallucinations occur in 60 percent of cases.

What will they grow up to be?

I compare it to the situation before Google - with Google.

Sure, we function somehow as a society... but still, I am worried.
by vee-kay | 2025-12-29 13:03:41+00:00
Dedicated GPUs in gaming laptops are a necessity for the IT industry, as it forces manufacturers, assemblers and software makers to be more creative and ambitious with power draw and graphics software, and better optimal usage of available hardware resources (e.g., better battery and different performance modes to compensate for the higher power consumption due to the GPU; so a low-power mode enabled by casual user will disable the dedicated GPU and make the OS and apps dependent on the integrated GPU instead, but same/another user using same PC can switch to dedicated GPU when playing a game or doing VFX or modeling).

Without dedicated GPUs, we consumers will get only weaker hardware, slower software and the slow death of graphics software market. See the fate of Chromebooks market segment - it is almost dead, and ChromeOS itself got abandoned.

Meanwhile, the same Google which made ChromeOS as a fresh alternative OS to Windows, Mac and Linux, is trying to gobble the AI market. And the AI race is on.

And the result of all this AI focus and veering away from dedicated GPUs (even by market leader nVidia, which is no longer having GPUs as a priority) is not only the skyrocketing price hikes in hardware components, but also other side effects. e.g., new laptops are being launched with NPUs which are good for AI but bad for gaming and VFX/CAD-CAM work, yet they cost a bomb, and the result is that budget laptop market segment has suffered - new budget laptops have just 8GB RAM, 250GB/500GB SSD, and poor CPU, and such weak hardware, so even basic software (MS Office) struggles on such laptops. And yet even such poor laptops are having a higher cost these days. This kind of deliberate market crippling affects hundreds of millions of students and middle class customers who need affordable yet decent performance PCs.
by drew_candia | 2025-12-29 13:04:08+00:00
hi everyone,

if you are interested, i published a hands-on guide on how you can turn messy articles into agent-ready features with fenic.

the guide shows how you can:
- cluster and label content with semantic ops
- use few-shot intent from your own corpus
- export clean Parquet for search/recsys/agents

repo: https://github.com/typedef-ai/fenic-examples/tree/main/ai_fe...

Colab: https://colab.research.google.com/github/typedef-ai/fenic-ex...

full blog post: https://www.typedef.ai/blog/ai-content-pipeline-for-search-r...
by larnon | 2025-12-29 13:04:51+00:00
Because even in countries less developed(by western standards), there are more English announcements, so visiting tourists can also use the public transport. This isn't lack of speaking the language as well, it is more about not wanting to speak another language because "In Deutschland muss man Deutsch sprechen." It is reaching French level of racism at this point. Funny for a country that wants to attract so many international expats.
by zingar | 2025-12-29 13:04:58+00:00
> Guardrails matter here: mandatory human authored test specs (in partnership with an experienced engineer), strict code review, and explicit reasoning requirements (“explain why this change is correct”) help prevent silent failure modes.

The third of these (reasoning requirements) is the most reasonable to me. The others require that review capacity scales to match the capacity of the junior to produce garbage, which capacity LLMs now make unlimited.

IMO the onus must be on the author to produce an explanation that matches their change and makes sense (even if it’s wrong), and until they do the reviewer must be able to just say “nope, try again” as many times as necessary. It’s sad because thoughtful feedback is the best way to learn, but bad actors using LLMs have decided to skip learning and so should not waste the time of a reviewer who could be helping someone else.
by accountofthaha | 2025-12-29 13:05:18+00:00
I am never taking the train in Germany or through Germany again (or through Belgium, for that matter). The experience is consistently bad. NS, DB, and NMBS all perform poorly. Train travel itself has become unreliable and frustrating. Ever since I got my car, the difference in freedom is obvious.

I do support having basic public transport and solid bike infrastructure for young people, but once you’re 25 or older, there’s little justification for relying on such low-quality public transport.

I’ll be going to Prague next year, and I’m fully willing to drive for hours rather than sit on a train that keeps getting delayed, is unpleasant to be on, and costs far too much.
by kokada | 2025-12-29 13:05:33+00:00
Years of experience working in Enterprise and complex systems.

And that is all on point with the criticism: while an AI can design a new language based in an existing language like Clojure, we need actual experienced people to design new interesting languages that add new constraints and make Software Engineering as a whole better. And we are also killing with AI the possibility of new people getting up to speed and becoming a future Rich Hickey.
by skydhash | 2025-12-29 13:05:36+00:00
"Generic Software Design" as the author called it, is nice for setting the general direction of some implementation. This is why I like to read software engineering books. It's easier to solve a problem if you have some kind of framing to guide you. And it's easier to talk about the solution if everyone share the same terminology.

But yes, the map is not the territory, and giving directions is not the same as walking the trail. The actual implementation can deviate from the plan drafted at the beginning of the project. A good explanation is found in Naur's Theory of Programming, where he says the true knowledge of the system is inside the head of the engineers that worked on it. And that knowledge is not easily transferrable.
by microtonal | 2025-12-29 13:05:37+00:00
Still, in Germany only 58.8% of the trains were on time in 2025 [1]. Maybe it's not as bad as the author states, but it's certainly valid complaining about it. I lived in Germany for five years and for longer stretches it was certainly very common to have a 30-60 minutes delay. A lot of my colleagues would even do trips like Stuttgart <-> Leipzig by plane because they hated traveling with DB so much.

[1] https://chuuchuu.com/2025wrapped
by Svip | 2025-12-29 13:05:44+00:00
> The train starts moving. The driver announces there are “issues around Bonn.” He does not specify what kind. No one asks. We have learned not to ask.

This is one of those issues I keep mulling about; it seems train operators (and airliners for that matter) tend to avoid being technically specific about operation problems, and just say "problems" and - if they are kind - where the problem is. And I cannot decide whether this is the wrong or right approach: how much information is too much? The argument is that travellers don't care why the train cannot move or why it is delayed, they just want to know when the next train is.

The problem - however - is that train operators come off looking like idiots, when they really aren't. As an example, the S-trains around Copenhagen have recently switched to a CBTC signal system, which has increased punctuality to 97% (below 3 minutes, cancelled trains counted). At cold temperatures, railway points (or switches, if you will) might become inoperable, as their mechanism freeze (of course, there are systems to prevent this, but can occur anyway). This happened this November on the S-train lines, but the announcement was "signal failure"; which meant the train operator (DSB) (and the railway owner (Banedanmark)) kind of looked a bit stupid, since the whole point of CBTC was to eliminate signal failures entirely (in fact, if you're being pedantic, since CBTC has _no_ signals, there technically cannot be any signal failures), and had promised as much.

But - then again - travellers really just wanted to know what the next train was, but I still think train operators are doing themselves a disservice by being oblique about the actual problem. Particularly when a problem lasts for several days, "technical problems" just makes people think their engineers are incompetent, when in reality they have no idea about the severity of the problem (because it is not communicated).

I may of course be biased here, since I have a high interest in how trains operate, but friends of mine - whose interest is far lessen compared to mine - are also frustrated by these opaque messages; and I think the reason is a strong sense of lack of control - since (assuming one made it to the station on time) up until this point, the passenger have done everything right, and yet the system failed, and now they are not privy as to why.
by benoitonchainyc | 2025-12-29 13:05:44+00:00
In 2025, crypto quietly stopped being an experiment.

While most people were watching ETFs and memes, the real shift happened inside DevConnect, ETHCC, Prime Finance Week, and closed-door banking summits:

on-chain systems became part of real financial infrastructure.

Stablecoins turned into settlement rails.

Tokenized assets entered bank balance sheets.

On-chain risk started being priced like credit risk.

Security became regulatory, not optional.

2025 was the year crypto crossed from speculation into plumbing.

This piece reconstructs what actually changed and why it will define how money moves in 2026.
by btreecat | 2025-12-29 13:06:08+00:00
> That's not true. From the little time I've spent trying to read and write some simple programs in BF, I recall good examples being pretty legible.

Anything in a reasonably familiar type face and size will continue to be legible, however brainfuck is not easily human parsable.

Greatly reducing its ability to be _read and mentally internalized._ With out that, are you really doing software engineering or are you actually a software maintenance person?

A janitor doesn't need to understand how energy generation works if he has to change the light bulb.
by mothballed | 2025-12-29 13:06:16+00:00
Most people can actually; for awhile most families did. The thing stopping them is largely the state. I got my land for "a song" post COVID when home prices were already insane. Near lots of jobs too. I used a rarely used 'loophole' to build it for about 1/4 the cost of what anything around me costs. It did cost me 60k, but for 30k (the price of a newish car, which you see even in many section 8 / welfare areas, so accessible even sometimes to the 'lower' class) you could easily finish out a 200 sq ft shed with a plumbed haul water cistern, minimal solar, a wood stove, and a simple waste treatment system. Then as you have more money, expand. You don't even have to have all the money at one time; many families in latin america or SEA just buy blocks as money allows and slowly build over time (masonry construction more forgiving of this).

I've even found land for <100k in places like San Francisco that is enough to drop a shipping container on, but of course the fascists won't let you, better to be homeless and shit hepatitis into the street than have an unpermitted shipping container and bury some 50 gallon drums and drain field DIY septic system.
by baobun | 2025-12-29 13:06:39+00:00
Not just squid but mostly any http proxy can be run in forward mode if you want.

Caddys "magic TLS" can be neat for this if you actually do want to dynamically intercept those https connections in an easy way. It's a use-case where Caddy really shines. You can go nuts trying to configure that cleanly in squid. The docs (perhaps intentionally) make you work for the hidden knowledge of these dark arts. You also get modernities like builtin http2, http3, etc.

Nobody else bothered by squids very lengthy restart time or have I just never configured it properly?

(Not to dunk on squid, it's otherwise mostly great. Especially for its caching features)
by antonvs | 2025-12-29 13:06:59+00:00
I haven't gone through the list in detail, but I don't see anything there that implies the ability to forge a valid signature without the private key, which is what matters most for git commits.

Most of the entries have to do with ways to compromise the unencrypted text presented to the user, so that the displayed message doesn't match the signed message. This allows for multiple different kinds of exploit.

But in the git commit case the main thing we care about, for commits authored by anyone whose signature we trust, is that the actual commit matches the signature, and git itself enforces that.

Of course, it's possible that a malicious user could construct a commit that expands to something misleading (with or without GPG). But that comes back to the point of signatures in the first place - if your repo allows random anonymous people to push signed commits, then you might have an issue.
by burntsushi | 2025-12-29 13:07:41+00:00
If something is asking for `&mut [T]`, then yes, it's required that it be initialized. This is a good thing, because a `&mut [T]` permits reading that `T` in safe code, which would be UB if the `T` were uninitialized.

It seems like your complaint is more about "more APIs should accept possibly uninitialized data, but they don't." Which is fair, but I don't know how big of a deal it really is. There is for sure desire to make this work with `std::io::Read`, and indeed, there are unstable APIs for that[1].

[1]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read...
by hdgvhicv | 2025-12-29 13:07:48+00:00
I take those long distance trains and it amazes me the choice and how low the cost is. You can choose an empty high speed service in peak time with a 20 minute frequency for a high cost (comparable to flying), you can book ahead for a lower price - especially in non peak services, or you can choose a flexible lower speed (comparable with service in the BR days, 3.5 hours) for far cheaper than it ever was.

Season ticket prices are under 20p/mile into London

Nationalisation will likely break this and increase costs for all but the richest. For the last decade the public have been clamouring for “simplification” because they couldn’t understand the restriction codes. Now it’s being rolled out they are of course seeing price rises and complaining “not like that!”
by a2fz | 2025-12-29 13:08:57+00:00
> that won't even go into the centre of our capital city

Is Euston not the centre? Where all the other trains from the north-west come into, and literally on the same road as Kings Cross St Pancras? Plus Old Oak Common is going to be an interchange with the Elizabeth Line.

People also miss the fact that a big reason why HS2 is being built is to take load off of the West Coast Main Line, which is running at full capacity at the moment. There's no room to run additional services. Even though some unfortunate compromises have been made, this will still massively benefit parts of the North because they'll be able to get more frequent services once the line is no longer clogged up by trains from London.
by btreecat | 2025-12-29 13:09:31+00:00
> I had challenges with split-DNS in my homelab k3s cluster trying to do this. I ended up just putting the apps in docker-compose on a VM that has static routes for my local homelab networks. I looked at tailscale to solve this since it has a kubernetes operator, but tailscale doesn't fit my use cases or work well with all of my devices.

I don't need tails scale for this, seems like overkill.

I would like to better understand why my combination of marked packets and SOCK5 proxy are not fully working for certain UDP traffic. I also need to investigate if disabling ipv6 will help.

Using a VM or docker compose when I have k3s feels like admitting defeat with out understanding why.