MurphyA/hacker-news huggingface dataset:
by JumpCrisscross | 2026-01-14 14:22:05+00:00
We’re about to do something that may prompt Iranian missiles to target U.S. bases.

Unlike last time [1], when we had one CVN in position, one in the vicinity [2], and Israel potting their launchers, this time [3] we’re expecting some may get through.

[1] https://en.wikipedia.org/wiki/United_States_strikes_on_Irani...

[2] https://news.usni.org/2025/06/23/usni-news-fleet-and-marine-...

[3] https://news.usni.org/2026/01/12/usni-news-fleet-and-marine-...
by quietthrow | 2026-01-14 14:22:31+00:00
Curious how this impact air pollution? My understanding is that the largest contributor of air pollution in cities is vehicles. And if predominantly the vehicles are cars and 2 wheelers and of that the higher percentage is 2 wheelers and if those are changing from petrol to electric then it should make a dent in pollution. As such air pollution could be a proxy of how e-2w benefit the country…
by barnas2 | 2026-01-14 14:22:47+00:00
I don't smoke/vape, but I saw some pretty absurd models available recently that really piqued my interest. One had a touchscreen, could run some basic apps, and had wifi/bluetooth support. The other had a d-pad + buttons built in and a few ripoffs of classic games you could play. I bought one of each to start ripping them apart on my work bench and playing with the firmware. Unfortunately I got busy and haven't done much more than look at the internals. They're using some sort of cheap smart watch SoC. It's wild you can get a battery, touchscreen, charging circuit, and a microprocessor for like $12.
by prvt | 2026-01-14 14:23:03+00:00
Hi HN,
I recently noticed a recurring visual artifact in the "Most Replayed" heatmap on the YouTube player. The highest peaks were always surrounded by two dips.

I got curious about why they were there, so I decided to reverse engineer the feature to find out.
This post documents the deep dive. It starts with a system design recreation, reverse engineering the rendering code, and ends with the mathematics.

This is also my first attempt at writing an interactive article. I would love to hear your thoughts on the investigation and the format.

Alt URL: https://priyavr.at/blog/reversing-most-replayed/
by rkangel | 2026-01-14 14:23:28+00:00
In Elixir you just call the Erlang function directly. It's basically the same as calling an Elixir function, just with a different naming convention.

In Gleam, you first have to declare the function type and THEN you can call the function directly.

This is probably the lightest way you can bridge between statically and dynamically typed languages, but it's not the same as Elixir.
by teddyh | 2026-01-14 14:23:48+00:00
> This is one of my favorite strips of his: […]

Better link: <https://dilbert-viewer.herokuapp.com/1997-01-13>

> Another one was the one where he went to work in Marketing, and they were doing their research by yelling questions into a well. But I can't find that one.

Here it is: <https://dilbert-viewer.herokuapp.com/1992-04-09>
by tasuki | 2026-01-14 14:24:22+00:00
> But I get the feeling that Raku is underappreciated / dismissed by many due to the perl5 / perl6 history.

Yes that would be me! If you like making these comparisons, can you write the following pattern matching in Raku?

import gleam/io

pub type Fish {
Starfish(name: String, favourite_colour: String)
Jellyfish(name: String, jiggly: Bool)
}

pub fn main() {
handle_fish(Starfish("Lucy", "Pink"))
}

fn handle_fish(fish: Fish) {
case fish {
Starfish(_, favourite_colour) -> io.println(favourite_colour)
Jellyfish(name, ..) -> io.println(name)
}
}
by hmry | 2026-01-14 14:24:55+00:00
Depends. If it takes an assembly programmer 8 hours to implement <X>, can an equally proficient Python programmer spending 8 hours to implement <X> create a faster program?

Let's say they only need 2 hours to get the <X> to work, and can use the remaining 6 hours for optimizing. Can 6 hours of optimizing a Python program make it faster than the assembly program?

The answer isn't obvious, and certainly depends on the specific <X>. I can imagine various <X> where even unlimited time spent optimizing Python code won't produce faster results than the assembly code, unless you drop into C/C++/Zig/Rust/D and write a native Python extension (and of course, at that point you're not comparing against Python, but that native language).
by dgacmu | 2026-01-14 14:25:17+00:00
I have a little fanless mini PC that runs various stuff around my house, including homeassistant. The case is basically a big heat sink.

It started crashing during backups.

The solution was to stick a fan on it. :( This is literally a box _designed to not need a fan_. And yet. It now has a fan and has been stable for months. And it's not even in a closet - it's wall-mounted with lots of available air around it.
by smweber | 2026-01-14 14:25:28+00:00
I’m trying Gleam out right now, and having most recently been writing Go, I’m really loving:
- No nil, instead Option and Result
- ADTs
- Pattern matching + destructuring
- Immutable everything by default
- `use` syntactic sugar (weird at first, but once you’re used to it it’s pretty elegant)
- LSP server works great for such a young language

But most of all I think the overall simplicity of the language is really what’s standing out to me. So far I think the lack of ad-hoc poly and macros are a plus - it really reduces the impulse to write “magical” code, or code with lots of indirections. In the past I’ve definitely been guilty of over-abstracting things, and I’m really trying to keep things as simple as possible now. Though I’ve yet to try Gleam with a large project - maybe I’ll miss the abstractions as project complexity increases.

I suspect Gleam will be a great language for small to medium sized projects written with LLM assistance (NOT vibecoded) - the small language, strong typing and immutability gives good guardrails for LLM-generated code, and encourages a simple, direct style of programming where a human programmer can keep the whole structure in their head. Letting an LLM run free and not understanding what it’s written is I think where projects run into big problems.
by setopt | 2026-01-14 14:26:46+00:00
> including a visit at 5:30pm or 6:30pm to see the state of the office and attendance

As an academic, I used to work 11am-8pm many days when I was younger thanks to flexible working hours, and I wasn’t the only one working late but not early. I realize this is probably more rare in corporate settings, but keep in mind if the place has flexible hours you might see more people at 6pm despite people not doing 996.
by OskarS | 2026-01-14 14:26:50+00:00
It's interesting, because it's a "cultural" thing like the author discusses, it's a very good point. Sure, you can do unsafe integer arithmetic in Rust. And you can do safe integer arithmetic with overflow in C/C++. But in both cases, do you? Probably you don't in either case.

"Culturally", C/C++ has opted for "unsafe-but-high-perf" everywhere, and Rust has "safe-but-slightly-lower-perf" everywhere, and you have to go out of your way to do it differently. Similarly with Zig and memory allocators: sure, you can do "dynamically dispatched stateful allocators that you pass to every function that allocates" in C, but do you? No, you probably don't, you probably just use malloc().

On the other hand: the author's point that the "culture of safety" and the borrow checker in Rust frees your hand to try some things in Rust which you might not in C/C++, and that leads to higher perf. I think that's very true in many cases.

Again, the answer is more or less "basically no, all these languages are as fast as each other", but the interesting nuance is in what is natural to do as an experienced programmer in them.
by cogman10 | 2026-01-14 14:26:51+00:00
AFAIK, it's not the traits that does it but rather the generics.

Rust does make it a lot easier to use generics which is likely why using more traits appears to be the cause of longer build times. I think it's just more that the more traits you have, the more likely you are to stumble over some generic code which ultimately generates more code.
by hopelite | 2026-01-14 14:27:11+00:00
You are trying to use reason and rationality to make sense of lying and narcissism. You are correct, you are not the first person to think of that, but the objective is to find, hunt, attack, assault, damage, destroy, and root out places where the human right of free speech/expression may exist.

The last thing you want to do is play right into the hand of psychopathic narcissists by "de-anonymizing" everyone. You simply do not understand what you are proposing and thereby condemning your children and all of humanity to with that mentality. It is advocacy for tyranny.
by mronus | 2026-01-14 14:28:02+00:00
Spec is an intermediate representation designed for LLM agents rather than human developers. The core problem: when agents work on large codebases, they waste most of their context window loading dependencies just to change 20 lines of code.
Spec solves this by making each artifact self-contained. An agent can modify a function without loading the entire project.
The POC orchestrates 6 specialized agents (Product → Architect → Scrum → Developer → Tester → DevOps) that transform natural language requirements into complete IR specifications.

You can try it here: https://mronus.github.io/spec

Looking for feedback on:
- Does the IR format make sense?
- Is this approach to multi-agent coordination useful?
- What’s missing before this could be practical?

Full design proposal: https://github.com/mronus/spec/blob/main/spec-language-desig...
by maccard | 2026-01-14 14:28:23+00:00
> If your CI can do things that you can't do locally: that is a problem.

IME this is where all the issues lie. Our CI pipeline can push to a remote container registry, but we can't do this locally. CI uses wildly different caching strategies to local builds, which diverges. Breaking up builds into different steps means that you need to "stash" the output of stages somewhere. If all your CI does is `make test && make deploy` then sure, but when you grow beyond that (my current project takes 45 minutes with a _warm_ cache) you need to diverge, and that's where the problems start.
by MajidAliSyncOps | 2026-01-14 14:28:30+00:00
This resonates a lot. We’ve seen that a single “static” setup rarely survives once teams move from early traction to real scale.

What’s interesting here is how you’re letting intent drive structure instead of forcing users into one workflow. On the infra side, we notice a similar pattern: early flexibility boosts speed, but once usage grows, observability and failure boundaries become the real bottleneck.

Curious how you’re thinking about edge cases where user intent shifts mid-session—do you reclassify continuously or lock the UI once a path is chosen?
by toodlemcnoodle | 2026-01-14 14:29:04+00:00
I agree with this whole-heartedly. Rust is a LANGUAGE and C is a LANGUAGE. They are used to describe behaviours. When you COMPILE and then RUN them you can measure speed, but that's dependent on two additional bits that are not intrinsically part of the languages themselves.

Now: the languages may expose patterns that a compiler can make use of to improve optimizations. That IS interesting, but it is not a question of speed. It is a question of expressability.
by thesuperbigfrog | 2026-01-14 14:29:13+00:00
>> People are doubtful that the agent will be able to complete the task properly.

You answered your own question.

I do not trust an agent to give it unsupervised access to my systems.

If I had a completely local agent that was fully sandboxed and I would be willing to put data in the sandbox, give it a task, and come back later to see what it did.

I would not trust agents to run unsupervised with similar restrictions.
by foo70 | 2026-01-14 14:29:30+00:00
what do you think is motivating this?

Do you really think that protecting our children from the garbage on these platforms is contrary to free speech?

The fact is that these platforms are run for profit. They are not fit for purpose if they can be exploited to exploit children, and, for that matter to facilitate unelected billionaires to overthrow elected democracies.
by theshrike79 | 2026-01-14 14:30:02+00:00
This "spread it around" sounds like some trickle down ecodomics madness to me =)

If the company can't pay more to a high performer they surely won't just give thast money to the average folks. It'll just go to C-staff bonuses and conference trips to exotic countries.

(Provided that the average performers are above the union minimum already)
by stavros | 2026-01-14 14:30:18+00:00
It's not like I'll get a choice between the task database going down and not going down. If my task database goes down, I'm either losing jobs or duplicating jobs, and I have to pick which one I want. Whether the downtime is at the same time as the production database or not is irrelevant.

In fact, I'd rather it did happen at the same time as production, so I don't have to reconcile a bunch of data on top of the tasks.
by hnlmorg | 2026-01-14 14:30:24+00:00
Last time I checked, “cam girls” don’t run the country. So I don’t think you can make a comparison there.

Plus the issues with JFK Jr are specific to him. It’s a bit of a stretch to imply that his view points are in any way related to his exposure pornography. That is unless “brain work” is some kind of euphemism I’m unaware of ;)

> One's intentions and the results of one's actions can be two different things.

Those articles mention just as many positives as negatives.

Porn isn’t inherently bad. It’s like alcohol, exercise, and other past times: moderation is the key.

Humans can get addicted to any kind of behaviour. The absolute worst thing you can do is make a topic a taboo because then you cannot keep people safe. This is as true for pornography as it is for weightlifting.

And frankly, hadn’t you got better things to do than worry about what consenting adults do in their private lives? It’s all a bit silly and prudish don’t you think?
by DanOpcode | 2026-01-14 14:30:41+00:00
I know they have said that. But it feels a bit strange to me to continue to develop in C++ then, if they eventually will have to rewrite everything in Swift. Wouldn't it be better to switch language sooner rather than later in that case?

Or maybe it doesn't have to take so much time to do a rewrite if an AI does it. But then I also wonder why not do it now, rather than wait.
by throw10920 | 2026-01-14 14:31:16+00:00
I don't think this is true. "Cancel culture" is distinguished from normal social consequences by many things, including the perpetrators going to others outside of the perpetrators' and victim's social group to attack the victim.

If I say something racist at home, my friends and family will shame me - that is social consequence. If I say something racist at home and the person I invited over publicly posts that on Twitter and tags my employer to try to get me fired, that's cancel culture, and there's clearly a difference.

There are virtually no social groups where it's socially acceptable to get offended by what an individual said and then seek out their friends, family, and co-workers to specifically tell them about that thing to try to inflict harm on that individual. That would be extremely unacceptable and rude behavior in every single culture that I'm aware of, to the point where it would almost always be worse and more ostracizing than whatever was originally said.
by throw0101d | 2026-01-14 14:32:06+00:00
> Oh sweet summer child. Answered below.

Thank you for your condescension: it helped convince me the error of my ways…

> Actually I see its 14 central banks that have this USD FX swap facility (but the BoE, ECB, and BoJ are essentially uncapped).

* https://news.ycombinator.com/item?id=46616169

I am aware of swap lines, and how they were used in the GFC (2008/9) and COVID (2020/1):

* https://www.federalreserve.gov/monetarypolicy/central-bank-l...

* https://www.bankofcanada.ca/2023/03/coordinated-central-bank...

* https://en.wikipedia.org/wiki/Central_bank_liquidity_swap

Swapping ≠ printing.

And if the US wants to cut swap lines, thus making people more nervous about using and holding USD, thus reducing USD as a considered safe haven… ¯\_(ツ)_/¯
by Aurornis | 2026-01-14 14:32:17+00:00
What I was trying to say was that having nerdy interests and hobbies isn’t a negative signal. People can have nerdy interests and hobbies and be great at their job.

But it’s not a positive signal for work ability. Having nerdy interests and hobbies doesn’t signal that you’re good at work.

They’re barely correlated, if at all.
by bartread | 2026-01-14 14:32:38+00:00
This is exactly it. The tech in these sorts of devices is way overpowered for what they are or need simply because it's a lot cheaper to do it that way than it would be to use more appropriately scaled computing power. Either the "more appropriate" components are no longer in production, or they are in production but are now considered somewhat niche and are only produced in volumes that make them considerably more expensive than the more advanced/powerful options.

So you end up with something that could probably be coaxed into running DOOM at playable FPS (if it had enough RAM and a display) relegated to running a humble - and frankly objectionably wasteful (coupled with questionable health outcomes with long term use) - disposable vape.
Show HN: A faster way for SaaS teams to publish credible outage postmortems
by ededft | 2026-01-14 14:32:46+00:00
Hi HN,

When something breaks in production, fixing the issue is only half the work. Teams also have to explain what happened — to users, to teammates, and sometimes to the public. Turning raw alerts, timestamps, and chat logs into a clear incident postmortem usually takes hours and is easy to get wrong.

I built IncidentPost to make this easier. You paste a raw incident timeline and it produces a structured postmortem with an executive summary, chronological timeline, root cause, mitigations, and action items, all formatted in a way that’s ready to share.

The goal is not marketing language, but a calm, technical, and transparent record of what actually happened.

Live platform:
https://incidentpost.vect.pro

It’s a simple pay-per-incident tool — no accounts or subscriptions — designed for teams that need to communicate clearly after outages.

I’d really appreciate feedback from engineers, SREs, and founders who’ve had to write or read postmortems under pressure.
by quickthrowman | 2026-01-14 14:33:10+00:00
There are card access systems that don’t require a computer, just a microcontroller. Perhaps if you need to integrate with multiple sites or a backend system for access control rules you can add computers, but card access systems are dead ass simple for a reason; they need to be reliable. The good systems that have computers still allow access in the event of a network failure.

Any access control system that fails in the event that it loses internet connectivity is poorly designed.
by sinuhe69 | 2026-01-14 14:33:24+00:00
My experience is exactly the opposite. With AI, it's better to start small and simplify as much as possible. Once you have working code, refactor and abstract it as you deem fit, documenting along the way. Not the other way around. In a world abound of imitations and perfect illusions, code is the crucial reality to which you need to anchor yourself, not documents.

But that’s just me, and I'm not trying to convince anyone.
by machomaster | 2026-01-14 14:33:40+00:00
> But why on EARTH would the billions of living brains on this planet all function like yours? Does anything else in all those billions of bodies function exactly like yours?

Yes, literally everything in our bodies function exactly the wayvit function in other people. Never heard of anyone's heart working like another person's kidney.

If the organ is not working properly, it is considered a problem and stuff is done to fix it. The stuff that is from the same list as for any other person with a similar problem. Never heard of knee problems being fixed with dyalisis.
by amiga386 | 2026-01-14 14:33:47+00:00
> it's just comedians listing off london tube stations

I'd prefer to view it as comedians parodying games that do have complex rules.

There's also a parallel to Zork's "Double Fanucci" [0] and the League of Gentleman's sketch "Go Johnny Go Go Go Go" [1] which dwells on the uncomfortable feeling of playing a game you don't know with enthusiastic people who know it well, and insist you'll easily pick up the rules as you play.

[0] https://zork.fandom.com/wiki/Double_Fanucci

[1] https://www.youtube.com/watch?v=WtSvaSZ-xLU
by evilduck | 2026-01-14 14:33:57+00:00
Coming back to this with a late reply of more experiences, but it doesn't seem that unique for management from my perspective.

When I was an IC I dealt with a ton of software engineer peers who were pretty bad at their job and managed to stay in the field as a software engineer. I was constantly cleaning up or compensating for them. As a manager I've had to let someone go because they literally could not be demoted to a level commensurate with their abilities (there's nothing below junior, they must be able to perform commits of new work and couldn't despite months of training and support, and they refused an alternate career track in QA before being PIP'd), and yet... after a stint of unemployment that person failed upwards with an even higher engineering title at a new organization, bringing along an obviously lacking skill set and what had to be a pretty falsified resume and career experience discussion with said new employer.

The only complete exit from software engineering that I've witnessed was someone so bad at their job that they became perpetually unemployed and finally called it quits and left the industry after about 7 years of being fired or laid off back to back continuously.

The world's beginning to change but for a long time a verifiable title with the right number of years next to it would get you a long ways in the corporate software rat race.
Show HN: Index-free full-text search that's fast enough for practical use
by Michael_Houben | 2026-01-14 14:34:16+00:00
After 30 years of development, I've finally cracked the index-free search performance problem.

The usual tradeoff:
- Indexed search (Lucene, dtSearch) = fast queries, slow setup, storage overhead
- Direct search = no setup, too slow for >10GB

My approach: Multi-threaded direct search with intelligent caching. Result: 50GB searched in ~20s on a mid-range Ryzen 5 (5600, 16GB, SSD).

Technical details:
- Format-agnostic byte-by-byte text extraction (finds text regardless of file format)
- Producer-consumer pattern for directory traversal
- PDF/OCR cache (0.2% overhead vs. 2-5% for full indexes)
- Recursive archive handling (ZIP in ZIP in email)
- Scales linearly with CPU cores

Benchmark vs. commercial tools on 50GB real-world archive:
- Findit: 201 files, 20s, no prep
- dtSearch ($199): 182 files, <1s but 15min indexing
- FileLocator ($150): 132 files, 4min + 51min indexing
- DocFetcher: 82 files, instant but 79min indexing

Full results: https://www.dateisuche.de/en/comparison6.html

Free to use indefinitely (WinRAR-style), $39 one-time to remove nag screen.

Stack: VB.NET (legacy from 1995), Tesseract for OCR. Windows only.

Looking for feedback on the architecture and performance on different hardware configs.
by 9rx | 2026-01-14 14:34:17+00:00
The comparison with Rust and not Lean, Rocq, Idris, etc. is telling. Rust's type system is not much better than Python's, still requiring tests for everything.

These partial type systems cannot replace any actually useful tests. I'll grant you that testing is the least understood aspect of computer science, leading to a lot of really poorly conceived tests out in the wild. I can buy that those bad, useless tests can be replaced — albeit weren't actually needed in the first place.