MurphyA/hacker-news huggingface dataset:
by dataflow | 2026-01-02 13:51:46+00:00
Thanks for the link. Like you said, that's not normative, so it doesn't really dictate anything about what the compiler would currently do if you violated borrow checking, right?

> What you seem to be forgetting in this discussion is that unsafe code exists. (...) unsafe code exists and so you can't just say all programs not passing the borrow checker are UB.

Unsafe code does not turn off the borrow-checker though? So I don't see how its existence implies the opposite of what I wrote.

Moreover, my entire concern here is about violating assumptions in earlier stages of the compiler that later stages don't already see violated (and thus might be unprepared for). Unsafe is already supported in the language, so it doesn't fall in that category to begin with.
by raudette | 2026-01-02 13:51:49+00:00
Related: for fun over the holidays, I created an ePub of a paperback copy of "I Brought The Ages Home", by Charles T. Currelly, which went out of copyright in Canada in 2007 (copyright in Canada changed from 50 to 70 years after the death of the author in 2022, but this did not affect works that were already in the public domain).

I couldn't find a ebook online, so I found an old paperback copy and created one:
https://www.hotelexistence.ca/create-epub-from-paperback/

Charles T. Currelly was like a real-life Indiana Jones, he was the first director of the Royal Ontario Museum in Toronto, and sourced much of its early collections.

Even with modern OCR (I used Mistral's here), and a book with limited formatting, it's funny how hours of touch-ups are required just to get a glitch-free reading experience (no stray headers, paragraphs, page numbers sprinkled through the text).
by diarrhea | 2026-01-02 13:52:07+00:00
Interesting attack on my person!

The things I want to get done on my computer are so much richer than moving files back and forth in a terminal all day. Simple things should be simple. Tools should enable us. Moving files is a means to an end and these commands having so many sharp edges makes me unhappy indeed.

But yes, of course I am an IDE toddler and cannot even tie my shoes without help from an LLM, thanks for reminding me.
by SebastianKra | 2026-01-02 13:53:03+00:00
The no-unsafe-* type-aware eslint rules are important.

Even with strict mode and noImplicitAny, secret any's can sneak into the codebase for the weirdest reasons (for example, poorly typed libraries. looking at you, Knex).

tseslint saves you from a ton of such gotchas.
by lalitmaganti | 2026-01-02 13:53:21+00:00
The core software itself is completely agnostic to currency or country. Otoh the importer ecosystem is somewhat US focused but a) you can easily write importers yourself b) I just published importers for a bunch of UK institutions (e.g. HSBC, Barclays, AJ Bell) - see the other post hanging around the HN frontpage :)
by Forgeties79 | 2026-01-02 13:53:37+00:00
That’s fair. I focused on the broader question for some reason. I’ll blame it on morning brain.

I’ll ask you this: Do you think Donald Trump is a socially adjusted, empathetic person? A lot of people like him currently because he is a bully.

Edit: I think Nixon is another person whose character deserves scrutiny. His decisions shattered a lot of people‘s perception of the US government.
by neiman | 2026-01-02 13:53:52+00:00
Where were people's favourite lectures?

I attended 7 talks.

My favourite talk by far was hacking the GPG. Brilliant, really: https://media.ccc.de/v/39c3-to-sign-or-not-to-sign-practical...

The "In-house electronics manufacturing from scratch" was a very inspiring talk: https://media.ccc.de/v/39c3-in-house-electronics-manufacturi...

The rest were less good for me personally. Either over-dramatic and shallow (with a sexy-sounding topic) or too procedural in topics I'm not an expert in.
by cogman10 | 2026-01-02 13:54:47+00:00
Legacy is a bitch.

It took a long time to move from the old component input over to HDMI. The main thing that drove it was the SD to HD change. You needed HDMI to do 1080p (I believe, IDK that component ever supported that high of a resolution).

Moving from HDMI to display port is going to be the same issue. People already have all their favorite HDMI devices plugged in and setup for their TVs.

You need a feature that people want which HDMI isn't or can't provide in order to incentivize a switch.

For example, perhaps display port could offer something like power delivery. That could allow things like media sticks to be solely powered by the TV eliminating some cable management.
by ErroneousBosh | 2026-01-02 13:54:57+00:00
About 17 years ago I recorded Richard Garriott's side of a conversation with a school in Warwick in England. The school was several hundred miles south, so well out of radio range, but obviously it's a clear path the thousand miles or so to the ISS!

https://gjcp.net/mp3s/iss-friday1106.mp3

There's a video somewhere on Youtube with another recording from Hampshire, just a short distance south of the school but still too far too hear them. It's crazy hearing the two different recordings of the same thing :-)
by digitcatphd | 2026-01-02 13:56:21+00:00
I’ve been writing about building Agent-First SaaS and working with teams implementing LangGraph flows.
I’ve noticed a recurring pattern where we get stuck trying to perfectly replicate a human's SOP (e.g., "click this button, then read this PDF"). While reproducing human workflows is great for trust and "human-on-the-loop" auditing, I argue it often traps us in a local optimum.

This post explores the difference between "Replica Agents" (biomimicry) and "First-Principles Agents" (optimizing for the objective function). I draw on examples like Amazon's "Chaos Storage" and AlphaGo to suggest that sometimes the most efficient agent workflow looks nothing like the human one.

Curious to hear how others are balancing "legibility" vs. "efficiency" in their agent designs.
by fnordlord | 2026-01-02 13:56:30+00:00
Yeah, I'm a Nix user and fan but I'm still going to be stuck fixing it when it breaks. The biggest thing that I have to remind myself is that reproducible != "just works." Once you get to what you want, you're set but until then and every change after, there's a chance you'll be in the weeds.

At least from my usage, the fact that your configuration is all tied to whether the entirety of nixpkgs-unstable is working can be a real headache.
Like recently when CMake was upgraded to 4.0, it took down a healthy handful of packages, which meant you couldn't update anything until things were resolved or you were really fluent in Nix hackery. (I was the former)
by ErroneousBosh | 2026-01-02 13:57:01+00:00
> You can contact the ISS via a handheld setup (FM radio and a yagi antenna in your hand) or with a stationary setup like mine: https://rz01.org/leo-sat-ground-station-v3/

A good few years ago I had a crack as using the ISS's crossband repeater when it was on and could hear myself clearly with a Kenwood TH-F7E and home-made dual-band crossed dipole.

Unfortunately no-one else could work me, because they'd boosted the satellite's orbit, the TLEs hadn't been updated, and so everyone with a nice motorised antenna positioner was aiming at the wrong part of the sky.

Me standing in my back garden pointing roughly in the direction of the fast-moving bright spot? Nah that worked perfectly :-D
by nmfisher | 2026-01-02 13:57:20+00:00
That was my point about coding agents - as long as there's a standard protocol (usually HTTP REST), Claude Opus could roll out a client library in almost the same amount of time it would take me to find the right name for the official pip package. Equally, they make it a lot easier for providers to roll out official SDKs. I did this recently for Tencent's Hunyuan API and I didn't even have to think about it. This type of API integration will be trivially solvable in the near future.
by morning-coffee | 2026-01-02 13:57:23+00:00
> To be honest, though, this seems like ideal content for an LLM to produce. It's basically fact regurgitation.

You're trolling us, right? "Basically fact regurgitation" is all that teachers do after all. Have you ever noticed the difference between an inspirational teacher and a not-so-inspiring one in terms of effectiveness of communication and the "ah ha!" or lack of moments in your own understanding? If you can honestly say "no", then I might be able to understand your statement above, but really?
by EMM_386 | 2026-01-02 13:57:39+00:00
"And wow is it nice not to have all the ads and crapware in our faces anymore."

I don't understand this - and I'm not being a Windows defender here, I use Linux when I can (and promote its use).

But my Windows 11 installation has zero ads and zero "crapware". And it's a Dell!

Everything that I didn't want on the machine was removed when I purchased it (two years ago). I see no ads. If I did, this can be fixed easily by even non-technical users with OOShutUp10 or similar - or just edited with a registry change.

I've been using Windows since 3.1 and there were some ugly years but that is not the current state-of-the-state. I'm just calling it like I see it at this point.
by thechao | 2026-01-02 13:57:48+00:00
I just built a C++ formatter that does this (owned by my employee, unfortunately). There's really only two formatting objects: tab-aligned tables, and single line rows. Both objects also support a right-floating column/tab aligned "//" comment.

Both objects desugar to a sequence of segments (lines).

The result is that you can freely mix expression/assignment blocks & statements. Things like switch-case blocks & macro tables are suddenly trivial to format in 2d.

Because comments are handled as right floating, all comments nicely align.

I vibe coded the base layer in an hour. I'm using with autogenerated code, so output is manually coded based on my input. The tricky bit would be "discovering" tables & block. I'd jus use a combo of an LSP and direct observation of sequential statements.
by idahoduncan | 2026-01-02 13:57:56+00:00
Looks like it's four years for me with beancount.

$ git log --oneline --reverse | head -n1
5f72575 Initial commit: January 2022

My importers take care of reconciling the common transactions, like train fares and groceries, which means my monthly session takes under an hour. The slow bits are exporting CSV statements from my banks, and reconciling transactions from amazon and the local pet supply store (is it useful in practice to track litter and treats separately? probably not).

I'm also yet to migrate to beancount v3.
by xpe | 2026-01-02 13:58:02+00:00
> But there may be several advantages, as well as disadvantages with that approach - it is simply a trade-off.

Above, the word _simply_ conveys a lot of meaning. This sentence, when considered alone, might be seen to imply that all trade-offs are in a sense, ok, because they are all sort of a matter of taste. This doesn't mesh with my understanding of the world. I frame it this way: for a given objective, some trade-offs are better than others.

Put in reverse, when I see a project making certain trade-offs, I don't assume those trade-offs are in service of some clearly defined objective. Often I see people and organizations mired in trade-offs that are inertial and/or unconsidered. Ideally, projects would move their decision space to the Pareto frontier: see [1].

Here, I think Ghostty's values are indeed better served by this GitHub process.

[1]: https://en.wikipedia.org/wiki/Pareto_front
by fristovic | 2026-01-02 13:58:23+00:00
Hey I just released a free eBook that's probably the most inappropriate way to learn (or re-learn) programming principles ever.
It redefines classic acronyms as "naughty words" like S.H.I.T., D.I.C.K., A.S.S., F.U.C.K., and more—while actually teaching solid lessons about testing, dependencies, abstraction, and other pitfalls with humor and stories.
Warning: very NSFW language throughout. You were warned on page 2.
Free download: https://filipristovic.com/
Would love feedback—especially if it helps anyone remember these concepts better (or offends them in the right way).
by nkmnz | 2026-01-02 13:58:48+00:00
I am absolutely sure that all groups of people have it in them to commit atrocities, not matter the ethnicity or nationality. But this doesn't mean that all groups of people commit them, all the time. At any given point in time, it's always only some of them - and those who don't must have the clear-headedness, the will, and the means to stop them. Once they are properly stopped, the world will roll out the red carpet to them, as the world did for my parents' generation of Germans. I am very grateful that I did not inherit their guilt, but their responsibilities.

That said, this message shows terrible ignorance:

> They're not doing anything you wouldn't have done. Condemning them is condemning yourself and does no one any good.

The first part might be very well true. My grandparents and their siblings have been mostly perpetrators and bystanders, some where tagging-along, very few were opposed and none of them openly, just in 'inner exile'. I am lucky for the 'mercy of the late birth' that saved me from having to proof many of the virtues that I hold dearly under real pressure. But not condemning the wrongs my grandparents did, and not holding oneself to higher standards than I would hold others, doesn't do any good. Are you sure you are incapable of doing things in another place and another time that would make your today's self condemn you and your actions?
by webdevver | 2026-01-02 13:59:03+00:00
video format world is one where you nope out pretty quick once you realize how many moving pieces there are.

ffmpeg seems ridiculously complicated, but infact its amazing the amount of work that happens under the hood when you do

ffmpeg -i input.mp4 output.webm

and tbh theyve made the interface about as smooth as can be given the scope of the problem.
by nerdsniper | 2026-01-02 13:59:06+00:00
See also: Uber's Greyball scheme.

Uber developed a software tool called "Greyball" to avoid giving rides to known law enforcement officers in areas where its service was illegal such as in Portland, Oregon, Australia, South Korea, and China. The tool identified government officials using geofencing, mining credit card databases, identifying devices, and searches of social media. Uber stated that it only used the tool to identify riders that violated its terms of service, after investigations by the United States Department of Justice, Uber admitted to using the tool to violate local regulations and obstruct law enforcement investigations of their illegal operations.

There were no consequences for Uber. So Honey may have decided the risk level was acceptable.

0: https://archive.is/DzQha ( https://www.theguardian.com/technology/2017/mar/03/uber-secr... )

1: https://archive.is/tqk3W ( https://www.nytimes.com/2017/03/03/technology/uber-greyball-... )
by Macha | 2026-01-02 13:59:46+00:00
It appears Tabula also gets the substituted content instead.

What I'm seeing is that for example, POS is substituted to & !ë on every line in every file, etc. I can see by comparing to the rendered PDF for other common text (like my name, the local supermarket, etc) that those all seem to be 1:1 substitutions too.
by tialaramex | 2026-01-02 14:00:53+00:00
You're basically just re-stating my point. You mistakenly believe the pattern you've seen is predictive and so you've invented an explanation for why that pattern reflects some underlying truth, and that's what pundits do for these presidential patterns too. You can already watch Harry Enten on TV explaining that out-of-cycle races could somehow be predictive for 2026. Are they? Not really but eh, there's 24 hours per day to fill and people would like some of it not to be about Trump causing havoc for no good reason.

Notice that your pattern offers zero examples and yet has multiple entirely arbitrary requirements, much like one of those "No President has been re-elected with double digit unemployment" predictions. Why double digits? It is arbitrary, and likewise for your "about a decade" prediction, your explanation doesn't somehow justify ten years rather than five or twenty.
by niyoseris | 2026-01-02 14:00:59+00:00
Thanks for feedback. adding some previews to the guide.

and on the CheerBoard section you can see sites which uses the system with live https://cheerad.com/pages/cheerboard.html

and also a demo page
http://cheerad.com/pages/demo.html

and also i guess fixed the button issue.

Thanks for valuable feedback.
by hagbard_c | 2026-01-02 14:01:00+00:00
Why do you think AfD is close to becoming the biggest party in Germany, why is (or was?) Wilders big in the Netherlands, why is Sverigedemokraterna close to becoming the biggest party in Sweden? Do you think suddenly 25% of the population of these countries has turned rabidly racist?

That 'racism' word has lost its meaning due to severe overuse, find another argument. As to finding 'data', that is easy enough if you ask people around you. I live in Sweden and I hear this every day, everywhere, both in the countryside where I live as well as in the more urbanised areas on the west coast where I work and where my daughter goes to school.

If you want to get a bit closer to the actual truth than your knee-jerk 'racism' accusation you should look into the clash of cultures - not races - which lies at the bottom of these problems. Go and speak to people from low-trust societies as well as those from high-trust societies and ask them where they put their trust, how they think about their neighbours - not just the ones in the house next door but also those in other areas.
by hardwaresofton | 2026-01-02 14:01:28+00:00
Thanks for the consideration! The reason something like litestream is interesting to me is that it’s (now[0]) an off the shelf way to do PITR backups for SQLite.

Sure, I could piece together or write something myself to catch the CDC stream or run another replica, but simply running one more process on one of the boxes and having peace of mind that there’s an S3 backup continuously written is quite nice.

I thought debezium was mostly for moving around CDC records, not a backup tool per say. I.e. if I were to write debezium records to object storage with their connectors it’s my job to get a recent dump and replay?

[0]: https://fly.io/blog/litestream-v050-is-here/
by wpietri | 2026-01-02 14:01:38+00:00
If there's somebody out there advocating for "unprotected sex with large numbers of people", you should go post at them, because I don't see that here.

The biggest barrier to disease transmission reduction, at least here in the US, is uncritical abstinence promoters like yourself. It works, at best, for a small fraction of the population, and leaves the rest woefully unprepared for the biological realities. The best solution to STDs is education. Which, yes, should emphasize that not having sex is an option, but cannot stop there.
by teeray | 2026-01-02 14:02:15+00:00
I track my propane in an LPG commodity at a fixed price per season. It saved me about $100 once when a transaction wouldn’t balance. I was accidentally partially charged for a short load delivery on one of my tanks at almost double the rate. Even if it seems silly to track at this fidelity in the moment, I wouldn’t have caught this tracking USD alone. Billing mistakes happen and can be costly!
by fragmede | 2026-01-02 14:02:27+00:00
There's something about showing up to fight the previous war. Tanks were scary from WWII to Desert storm, and still are to me, as a civilian. But militarily are they still? I have no idea what I could to do fight against one that magically showed up in front of my house, but Ukraine War videos suggests the age of tanks has passed. They're still something you'd need to make, but more important it seems is the ability to make tiny electric motors for drones and injection molding for plastic fans, and some 3d printing. You'd want a manufacturing base that was able to make cellphones, not tanks.
by anthk | 2026-01-02 14:02:42+00:00
Except prompts and LLM's are not predictable and experienced programmer is.
Ditto with true classical AI Lisps with constraints based solvers, be under Common Lisp, be under custom Lispen such as Zenlisp where everything it's built over few axioms:

https://t3x.org/zsp/index.html

With LLM's you will often lack predictability. If there's any, of course.
Because more than I once I had to correct these over trivial errors on TCL,
and they often lack cohesion between different answers.

That was solved even under virtual machines for text adventures such as the ZMachine,
where a clear relation between objects was pretty much defined from the start and
thus a playable world emerged from few rules with the objects themselves, not something
built from the start. When you define attributes for objects in a text adventure, it will map
the language 1:1 to the virtual machine, and it will behave in a predictable way.

You don't need a 600 page with ANSI C standards+POSIX, GLibc and > 3000 pages
long books with the AMD64/i386 ISA's in order to predict a basic behaviour. It's there.

Can LLM's get this? No, by design. They are like huge word predictors with eidetic memory. They might somehow be slightly good on interpolating, but they are useless extrapolating.

They don't understand semantics. OTOH, the Inform6 language
tageting the ZMachine interpreter has objects with implicit behaviour in their syntax and a basic
syntax parser for the actions from the users. That adds a bit of context
generated between the relations of the objects.

The rest it's just decorated descriptions from the programmers, where the ingame
answer can be changed once you drop some kind of objects and the like.

Cosmetic changes in the end, because internally there's mapped a action which is indistinguisable from the vanilla output from the Inform6 English library. And Gen-Z ers don't understand that when older people tell
them that no LLM will be close to a designed game from a programmer, be in Inform6 or Inform7. Because an LLM's will often mix named input, named output and the implicit named object.
by lucideer | 2026-01-02 14:03:01+00:00
While I'm sure there are plenty of vinyl collectors out there with some Displates up, I feel like vinyl has a lot of elements that make its audience significantly broader (even excluding player owners) - mainly that it has a cultural history associated with it.

I also think people generally underestimate "potential playability" or aspirational record player ownership as factors in buying vinyl. A LOT of people who may never own a record player in their lifetime still think they might, & even if they don't their kids or grandkids might. Vinyl collections are heirlooms.
by mark-r | 2026-01-02 14:03:15+00:00
Funny you should mention the floating point rounding mode, I actually had to fix a bug like that once. Our program worked fine, until you printed to an HP printer - then it crashed shortly after. It took forever to discover the cause - the printer driver was changing the floating point rounding mode and not restoring it. The fix was to set the mode to a known value each and every time after you printed something.
by Thiez | 2026-01-02 14:03:29+00:00
Of course people dying younger is a benefit to society. Old people cost a lot, they're not productive, and (unlike children) they don't have any productive years in their future either. Ideally we would all drop dead of a heart attack 10 years after reaching retirement age (this would also solve the geriatocracy we find ourselves in).

Instead we clutch to life far beyond any societal benefit and, in many cases, beyond personal benefit too, spending a fortune to delay death another few weeks or months… but with incredibly low quality of life.

That said, dying at 58 is probably of no real benefit. But everyone dying a few years younger would have prevented Brexit.