MurphyA/hacker-news huggingface dataset:
by gritzko | 2026-01-03 20:11:53+00:00
I am a big fan of Ragel[1]. That is a high performance parser generator. In fact, it can generate different types of parsers, very powerful. Unfortunately, it takes a lot of skill to operate. I wrote a parser generator generator to make it all smooth[2], but after 8 years I still can't call it effortless. A colleague of mine once "broke the internet" with a Ragel bug. So, think twice. Still, for weekend activities I highly recommend it, just for the way of thinking it embodies.

[1]: https://www.colm.net/open-source/ragel/

[2]: https://github.com/gritzko/librdx/blob/master/rdx/JDR.lex
by WarOnPrivacy | 2026-01-03 20:12:39+00:00
> Win-win: France, Germany, Korea

These countries don't well match those on the overthrowing-the-dictator list, which now includes Venezuela.

For Germany we defeated it's government with a crap-ton of help, after Germany had declared war on us. For France we ousted an invading foreign power (again, with a crap ton of help). For the third we were effectively partitioning the country in prep for the proxy war with the Soviet Union.
by estearum | 2026-01-03 20:13:07+00:00
> If Maduro is gone, it's a good thing.

Agree with your overall sentiment but this is just a ridiculous position to hold at this point. History is absolutely full of horrible people being toppled just for more horrible people to take their place. There is literally no evidence whatsoever of a plan for post-Maduro Venezuela. At all!

They're either acting completely clueless for the cameras for some unknown reason, or this is very likely going to go really badly.
by jacquesm | 2026-01-03 20:13:15+00:00
Sadam was there because of the US (1959), and he was removed by the US, and not because he was a ruthless dictator.

Bin Laden & Afghanistan same (though obviously he was not their head of state) but much worse. Afghanistan has been abused by so many people it is hard to reason about it without having to go back a century or more.
by georgefrowny | 2026-01-03 20:13:38+00:00
I disagree here. I find it much faster to read the speed from a digital speedo than an analogue one (especially as most cars compress the road legal range into under half the dial).

Especially in a 20 zones, a few mph is just a tiny needle movement but you definitely can get a ticket for it.

Analogue is better when your want to see something moving through the range though.
by mrtksn | 2026-01-03 20:13:56+00:00
How would you feel if Iran captures Trump, a convicted felon with no respect to the rule of the law, running crypto schemes from the office and with proved connections to a pedophile ring trafficking and planning for a 3rd therm and staying in the office for life?

I’m sure a lot of Americans will be celebrating it on the streets. Will that be a win win too?
by xtiansimon | 2026-01-03 20:14:06+00:00
This parallels the learning paradigm of diving into some topic, write a blog post to solidify, practice, demonstrate your knowledge, and finally promote via social media. Which parallels the origin story of sharing your scientific research. It's The Way of knowledge on the internet.

I've noted here before a course from Arlington UT about this on Edx "Data, Analytics, and Learning" (2014).

Nice to have another way of describing this pattern of writing and publishing, even if it does have a funny name POSSE.

https://news.ycombinator.com/item?id=46015121
https://www.pure.ed.ac.uk/ws/portalfiles/portal/19117279/CSC...
by lkglglgllm | 2026-01-03 20:14:34+00:00
Heavily invested in Microsoft tech, but not using windows. At all. Couldn’t be happier.

Due to word being too buggy, I switched to libre office in windows. Local outlook was also too buggy in windows, I ended up running the web version. Switched to vscode b/c VS was to buggy and slow.

Teams works better in macos. Web version of teams is ok in Linux, you don’t want to run the native app in windows, it’s a resource hog written as a web app anyway.

Dotnet and powershell (pwsh) actually works better in both macos and in Linux, than in windows. Not a little better, but much better, that ecosystem is very stable and reliable.

And azure has of course no dependency on any local windows, on the contrary, dealing with remote systems are easier in Linux, particular if you accessing remote Linux systems as well.

Then I realized there was no reason to run windows. At all. It will only drag you down when it comes to productivity, it’s an awful os, filled with malware and other shit.
by bspammer | 2026-01-03 20:15:16+00:00
For checking accounts, I have a list of rules that each transaction passes through. If a rule matches it generates the double-entry transaction going from the checking account to the account listed in the rule (or vice versa if the amount is positive). Earlier rules take precedence over later rules. If no rule matches it errors and prints out the transaction so I can add a new rule.

The main account I use for day to day spending is Monzo, they correctly categorise 99% of my transactions for me (and this is included in the csv export) which makes this way easier.
by monster_truck | 2026-01-03 20:15:18+00:00
It's a good thing we're jumping to conclusions instead of exhaustively evaluating all of the places values exactly like this one appear when dealing with swing and quantization on, and especially when mixing 8, 12, 16 bit samplers and sequencers. Nevermind all of the little nudges from byte window mismatches when reading, playing back, or manipulating samples at varying bit depths and sample rates.
by dpark | 2026-01-03 20:15:44+00:00
> It has to be taken and held by a standing army

This is just making stuff up. None of the definitions offered up here posit this requirement aside from the one apparently in your head.

The United States sent ground troops into another country to depose its leader and install a government that will bend to United States demands. The president of the United States and his advisors have openly stated that this was done to take over the other country and extract money. This is an invasion by any reasonable definition, including the ones that have been shared here.

> Edit: if the Maduro kidnapping is an invasion, then it follows that the Eichmann kidnapping was likewise.

Was Eichmann the leader of Argentina? Did this action effect a systemic change in the government of Argentina or give Israel power or access to Argentinian resources?
by bschaatsbergen | 2026-01-03 20:15:52+00:00
Skopeo and crane are both fantastic tools, but they address different problems at a different level. Skopeo and crane operate at the image registry level, handling pulling, pushing, synchronizing, etc. cek is focused on what's in the container itself, providing a programmatic way to explore a container’s (overlay) filesystem and layers with commands like ls, tree, and cat.
by 1718627440 | 2026-01-03 20:16:15+00:00
> Still, if C gets fat pointers that's at least a step in the right direction.

AFAIK the C standard doesn't prevent an implementation from using fat pointers, this is one of the reasons why the conversion from pointer to integer only works in one direction. This is actually necessary for segmented memory. The compiler is allowed to optimize based on the assumption, which allocation a pointer comes from (including the allocations boundaries, i.e. size), even if bytewise the pointers would be equal, so you could argue, that C abstract machine already has fat pointers.
by harmmonica | 2026-01-03 20:16:24+00:00
Your comment triggers so many thoughts, but the first one is I'm so friggin' naive, which is embarrassing. In my fantasy world corporations make investment decisions based on risk. They invest in a country like Venezuela and part of the due diligence is evaluating whether things may go sideways, like in any investment, and what plan b is if they do. And if plan b is getting the government to backstop you with money, guns and/or regulations then that would not be a viable strategy.

But, at every level in the US, that plan b is viable. And it's used over and over and over again, from small local businesses with local politicians to the US Federal Government and military for the likes of the oil industry.

At what point do you just accept the truth: that you (me!) are the dumb one because you hold onto this fantasy of how you think things ought to be as opposed to how they are?
by packet_mover | 2026-01-03 20:16:34+00:00
Thank you! And yes, Corviont is intentionally a stack of separable services behind one gateway - so "geocoder-only" is exactly the kind of config I want to support (skip PMTiles + Valhalla and ship only the SQLite index + reverse API).

Re: Weathergraph - thanks for the details. Since you already run whole-world reverse geocoding on a single server, that's a bit different from Corviont's current regional/fleet packaging (where you ship only the area you need to each edge/on-prem deployment). A "world geocoder-only" pack could still make sense - but it's a different distribution/update story than my default.

For your use case, do you want reverse results at the city/region/country level - or do you also need street/house number detail? That choice mostly determines how heavy a world geocoder-only pack needs to be.
by brailsafe | 2026-01-03 20:17:22+00:00
Absolutely, and I try to keep that in mind. I tried to explicitly indicate that it's not a homogeneous group, not in terms of longevity, ethnic background, common ground, age, location, or frequency, although they are mostly the same sex among my closest friends. I try to just start small, open myself up to new experiences and people, and then identify when we have good chemistry, which takes a bit of personal honesty. For every good friend, I have probably 3 acquaintances that I also see regularly in group settings but not super close, and some of those that might have become close friends but dropped off for whatever reason.

They're people that I've known typically for at least 2 years, I trust, and I'd be able to DM for a hangout, drink with, engage in a variety of common interests together, we can roast each other and be toxic and give each other a pass as long as it's all in good humor.

The skills and traits that make me reasonably good at that don't help me in the kinds of activities that make people boring and successful in a nostalgic middle class suburbia sense, so it has tradeoffs, and it's not always easy, but it averages out to easy. I used to be very shy, and probably wouldn't be this way if I'd stayed in my hometown where everyone just stays away from each other and knows their high school mates. I live in a relatively expensive city, don't have a car or a house, or kids, or many physical assets. I'm employed, but probably have not been for more than half of my adult life, and I rent.

Spreading myself too thin beyond that isn't really sustainable until there's a good foundation of trust built and it's not as necessary to see each other every week. Some older friends I see once a year, others I've seen 4 times this week due to holiday parties, and some are people I know in my community. Events and lots of socializing come in bursts and it can be tiring, so I'll just dip out for a while and refresh when necessary, which I'm currently looking forward to, but have a wedding and a birthday coming up in the next 3 days lol

Incidentally, I've also never once known my immediate neighbors beyond a brief few conversations.
by wolvoleo | 2026-01-03 20:18:02+00:00
He seemed to me like such a total d**k, sorry to say but the energy I got from him and the things he did (throwing chairs etc), brrr. Also his public shows were so hard and pushy. This is not ok even for a CEO. A toxic work environment is never acceptable.

If I had worked for MS I would have hated him and the company he forged. I don't like Nadella much (note, there's very few 'leaders' I like) but at least he seems to be a nice person.
by bluecalm | 2026-01-03 20:18:14+00:00
I agree it's not the best choice.
I mean it's true that you almost always want fall-through when the body is empty and break where it isn't but maybe it would be better to at least require explicit break (or fall-through keyword) and just make it a compiler error if one is missing and the body is not empty. That would be the least surprising design imo.
by lr0 | 2026-01-03 20:18:26+00:00
No and this is misleading. First, that’s not how civilian status is determined. Civilian vs. combatant is not decided by uniforms or post-strike assumptions but on direct participation in hostilities at the time and positive identification. Someone actively firing an RPG is a combatant at that moment but that does not justify retroactively classifying every unidentified body as militant. I'm honestly surprised that I've to explain that.

Second, the example is a hypothetical case to erase the real issue. The claim about ~80% civilian deaths is not based on “assuming everyone is civilian,” but on subtracting those Israel itself could identify as militants using intelligence-linked, name-based records. Israel’s own database explicitly excludes people it merely suspects or assumes were fighters.

Third, this logic fails at scale. Gaza’s death toll includes tens of thousands of women, children, elderly, and entire families killed in homes, shelters, hospitals, and aid lines, not people observed using RPGs. Field reports and Israeli investigations show many victims were later posthumously labeled militants without evidence, inflating numbers.

Forth, the argument flips the burden of proof. You don’t get to call people militants because you can’t identify them. If that standard were accepted, any mass-casualty air war could declare most of its victims “terrorists” by default, which is exactly why serious militaries and conflict datasets reject that logic.
by packet_mover | 2026-01-03 20:18:47+00:00
Photon is solid - but it comes with a very different operational profile than what I am aiming for.

Photon is built on Elasticsearch (Java) - so it tends to mean a heavier index + higher RAM/CPU expectations and more moving parts. That's fine on a beefy server, but it is a rough fit for the "drop-in appliance on small edge/on-prem boxes (amd64/arm64) + simple ops" goal.

Corviont's geocoder is intentionally "boring": a single SQLite file + an HTTP service, built from Nominatim-derived data. Fast startup, low RAM, easy to ship per-region, and it stays consistent with the rest of the stack.

That said - if there is demand for a "server-grade geocoder option" for people already comfortable running Elastic, I am not opposed to offering it as an alternative profile. The default is just optimized for constrained edge hardware and minimal moving parts.
by appreciatorBus | 2026-01-03 20:19:18+00:00
On the one hand, everyone says they want more floor space not less.

On the other hand, every city in North America America structures its land use policies around limiting total floor space.

Given this contradiction, it’s not surprising that some people feel forced to trade off floor space for the right to stay in the city.

The only way it’s going to be resolved is if planners let go of the idea that floor space is dangerous and must be tightly controlled, or if we invent TARDIS technology so that the insides of buildings can be larger than the outsides.
by superlucky84 | 2026-01-03 20:19:37+00:00
That’s a fair point, and I agree.

The SideEffect pattern is intentionally explicit, so without fp-pack context it can look unfamiliar at first.
The trade-off is making early exits visible in the code, rather than hiding them in conditionals or exceptions.

In practice, most code stays in plain pipe/pipeAsync.
SideEffect is meant for a small number of boundary cases only.

And I agree — better language-level syntax for this kind of pattern would make it much easier to adopt.
by breppp | 2026-01-03 20:19:50+00:00
He is right, the logical leap would be hilarious if not a symbol for today's journalistic standards.

Let's say the IDF has positively confirmed 17% combatants. The negation of that set is not "Non combatants" but "Not positively identified by the IDF as combatants". which means that some may still be combatants, and most probably some are as the standard here is to confirm names, something hard to do when someone is under the rubble. Therefore the title here which says 83% civilians according to IDF data is simply false.

That's forgetting the other issues with this article (single IDF unit not tasked with research, multiple databases with different numbers, using Hams death data, forgetting about non-Hamas non-PIJ groups, low reputable source, etc) but I am sure that if you can see this misstep you can understand the general value of what you read there
by jbotz | 2026-01-03 20:20:34+00:00
> There would have been a small number of installations in 1996, but absolutely negligible.

On HN there's always a good chance you're talking to some of the people involved in those "negligible" installations. I know that I submitted some patches to Tatu Ylönen for Ssh to compile on Ultrix, so that must have been in 1995 or early 1996 because after that I didn't have access to any Ultrix machines. I may have been an early adopter, but it didn't take long for ssh to take over the world, at least among Unix system administrators; at Usenix within a year everybody was using ssh because there wasn't any alternative and in terms of security it was a life-saver.

As for the RSA patent... I don't know what license the original Ssh was released under, but it was considered "freeware" when it came out and nobody cared about the US RSA patent. Maybe technically in the USA you shouldn't have used it? Nobody cared.

And the mouse-jiggling thing... not specifically a PuttyGen thing. On linux /dev/random device gave you a few bits at a time stingily, only after it had enough entropy, so it was common for programs that needed good randomness to ask you to jiggle the mouse because that was one of the sources of entropy, so bits random bits would come faster. I'm pretty sure that was still the case well into the Zips.
by mamcx | 2026-01-03 20:20:39+00:00
> I wonder, at which point it is worth it to make a language?

AT ANY POINT.

No exist, nothing, that could yield more improvements that a new language. Is the ONLY way to make a paradigm(shift) stick. Is the ONLY way to turn "discipline" into "normal work".

Example:

"Everyone knows that is hard to mutate things":

* Option 1: DISCIPLINE

* Option 2: you have "let" and you have "var" (or equivalent) and remove MILLIONS of times where somebody somewhere must think "this var mutates or not?".

"Manually manage memory is hard"

* Option 1: DISCIPLINE

* Option 2: Not need, for TRILLONS of objects across ALL the codebases with any form of automatic memory management, across ALL the developers and ALL their apps to very close to 100% to never worry about it

* Option 3: And now I can be sure about do this with more safety and across threads and such

---

Make actual progress with a language is hard, because there is a fractal of competing things that in sore need of improvement, and a big subset of users are anti-progress and prefer to suffer decades of C (example) than some gradual progress with something like pascal (where a "string" exist).

Plus, a language need to coordinate syntax (important) with std library (important) with how frameworks will end (important) with compile-time AND runtime outcomes (important) with tooling (important).

And miss dearly any of this and you blew it.

But, there is not other kind of project (apart from a OS, FileSystem, DBs) where the potential positive impact will extend to the future as much.
by randycupertino | 2026-01-03 20:21:22+00:00
I read an interesting book about smell and it mentioned that smell is the only sense that bypasses the thalamus, which is why smells often trigger emotions before you recognize the associated conscious thought. Olfactory signals go straight from the nose to our limbic system. It was The Forgotten Sense by Jonas Olofsson.

Also the "humans can recognize 10,000 unique scents" is outdated, a modern study by Science found humans can discriminate over a trillion smells!

Interesting stuff.

Personally I have been getting very into different perfumes lately, it's a very fun hobby! I love getting the different samples and finding new unique ones I love. My current favorite is Prada Infusion de Rhubarbe, it's clean, tangy and fresh with rhubarb and citrus. My partner got me a perfume sample pack for Christmas and it's been so much fun trying new ones each morning :)
by echelon | 2026-01-03 20:21:48+00:00
GitHub and VSCode were smart ways to quickly recapture developer mindshare. They felt distinctly un-Microsoft with how open and multiplatform they were.

The Azure Linux friendliness play was essential and smart. Again, Microsoft felt like they were opening up to the world.

But they've backslidden. They've ceded Windows and gaming to their cloud and AI infra ambitions. They're not being friendly anymore.

Microsoft spent a lot of energy making Windows more consumer friendly, only to piss it away with Windows 11.

One evil thing they were doing that they've suddenly given up on: they spent a ton of money buying up gaming studios (highly anti-competitively) to win on the console front and to stymie Steam's ability to move off Windows. They wanted to make Windows/Xbox gaming the place everyone would be. They threw all of that away because AI became a bigger target.

They'll continue to win in enterprise, but they're losing consumer, gamer, and developer/IC support and mindshare. I've never seen so many people bitch about GitHub as in the last year. You'd swear it had became worse than Windows 7 at this point.
by BrandoElFollito | 2026-01-03 20:22:00+00:00
Maduro was captured by Trump

Hernàndez was captured by Biden. Trump pardoned him because Biden bad.

This world is a shitshow. Honestly, I am GenX and always read of wars and tensions as historical artefacts (there were wars, but localized and far away from France).

Now I am seriously wondering if this is going to end well for us over here. I do not work that much about myself, I had an interesting life, but rather about my children whom I now start to regret. I did not expect to hand them a world like this one.

I know, global warming was there but I was 30 and was looking my close surroundings. My bad. This said, if I know what the world would be today I wrote reconsider having them.
by jeltz | 2026-01-03 20:23:13+00:00
If you ask women in Afghanistan you will hear different views. People in the cities had a better life during the American occupation but in rural Afghanistan women were often worse off than under the Taliban. The US propped up warlords, some of them real monsters, and those controlled a lot of the country side. There was no good side in Afghanistan and the US should have stayed out, instead of propping up one group of oppressors to try to defeat another.
by tialaramex | 2026-01-03 20:23:35+00:00
Substantially pre-dated by e.g. Raymond Chen's explanation

https://devblogs.microsoft.com/oldnewthing/20050815-11/?p=34...

and by my implementation (for Linux) https://github.com/tialaramex/leakdice-rust or https://github.com/tialaramex/leakdice if you can't use Rust)
by ghusto | 2026-01-03 20:23:39+00:00
> This and the many other opinions on Bluesky are just lazy

Which of the many backed and well thought out points did you find lazy?

> There is nothing stopping you from curating the moderation to your wants or even creating your own moderation entirely

Not sure you read the article, but his point is that there's nothing to curate. It's full of a certain type of person, and not much else. I can attest to this too.

> Many people have this weird nostalgia about a Twitter that never existed anywhere but in their imagination

I have no nostalgia for Twitter, but I do remember what it used to be like (way back when you used to SMS in your tweets!). It was a fun place with random, sometimes interesting, sometimes thoughtful, most times funny and inane posts. That's not nostalgia, that's how it was.