MurphyA/hacker-news huggingface dataset:
by ognarb | 2026-01-06 16:10:42+00:00
> History/Motivations This project started as an exploration of using AI agents for software development. Based on experience tuning systems using Abseil's B+tree, I was curious if performance could be improved through SIMD instructions, a customized allocator, and tunable node sizes. Claude proved surprisingly adept at helping implement this quickly, and the resulting B+tree showed compelling performance improvements, so I'm making it available here.

It seems the code was written with AI, I hope the author knows what he is doing. Last time I tried to use AI to optimize CPU-heavy C++ code (StackBlur) with SIMD, this failed :/
by bena | 2026-01-06 16:11:08+00:00
I feel like this goes back to the "trick" of getting your questions about Linux answered. Basically, if you just asked your question "How do I do X on Linux?", you'd get no response. But if you said "Windows is so much better than Linux because I can't even do X on Linux", you'd get 5 different ways to accomplish your task before the end of the day.

Nothing gets people engaged more than making them angry.
by EGreg | 2026-01-06 16:11:14+00:00
Yes, you can follow my code from 5 and 10 years ago here:

https://github.com/Qbix/Platform-History-v1

https://github.com/Qbix/Platform-History-v2

And you can see the latest code here:

https://github.com/Qbix

Documentation can be created a lot faster, including for normies:

https://community.qbix.com/t/membership-plans-and-discounts/...

My favorite part of AI is red-teaming and finding bugs. Just copypaste diffs and ask it for regressions. Press it over and over until it can't find any.

Here is a speedrun from a few days ago:

https://www.youtube.com/watch?v=Yg6UFyIPYNY
by jmclnx | 2026-01-06 16:11:23+00:00
Having moved my WEB site to Gemini a couple of years ago, I think Gemini is the easiest protocol to maintain.

Plus FWIW, dillo has plugins for both Gemini and gopher on it site. So for people who prefer GUIs for browsing, dillo works great, even on the *BSDs

https://dillo-browser.github.io/

There is a lot of nice content out on both Gemini and Gopher that many people are missing.

Interesting that they did not include stats from sdf.org, I think that is up in the top 3 of number of capsules.

gemini://gem.sdf.org/

gemini://sdf.org/
by nonethewiser | 2026-01-06 16:11:25+00:00
>The "ah-ha" moment from Kleppman's post was seeing how it's not just about creating two entries but about defining flows between accounts. The graphs helped because they show how balances increase or decrease as you traverse the nodes.

Thank you for clarifying. That makes sense. Graph's do more directly depict the transition with edges. Whereas that part is kind of just implicit in double entry accounting.
Show HN: Mocklantis – Mock server with live endpoint updates (no restart needed)
by mstykt | 2026-01-06 16:11:26+00:00
I built a desktop mock server that lets you update endpoints while it's running. No restart required.

The problem: Every time I changed a mock endpoint in other tools, I had to restart the server. WebSocket connections dropped, test flows broke.

The solution: Catch-all handlers that read config on every request. Change anything – routes, responses, delays – and it takes effect immediately. WebSocket/SSE connections stay alive.

Features that might interest you:

• State machine for multi-step API flows (visual editor)

• Chaos engineering: corrupt responses, inject latency, simulate rate limits

• WebSocket mocking with 3 modes (conversational, streaming, triggered)

• SSE streaming (perfect for mocking ChatGPT-style responses)

• API recording: proxy to real API, auto-capture as mock endpoints

• Response templating: {{request.path.id}}, {{request.body.user.name}}

Privacy: Runs 100% local. No cloud, no telemetry, no account.

Free for local development. macOS/Windows/Linux.

https://mocklantis.com
by cruffle_duffle | 2026-01-06 16:11:51+00:00
“I've been annualizing all my subscription fees for a long time now and dealing with the resulting number, but that's still an unpopular approach.”

This is my trick. I simply take the monthly price and multiply am by ten to quickly get a crude imperfect annual cost (adding two more months if I wanted to be exact)

Then I’ll look and go gee is this thing actually worth $150 or whatever the value is and ask “or more” assuming I wouldn’t cancel?

The answer is usually no. I’m slowly teaching this trick to my elementary school daughter.
by whywhywhywhy | 2026-01-06 16:11:53+00:00
> could have gotten it made already

> cannot get their movie made even though they have the connections

I'm talking about film makers, as in directors who can either hold the camera themselves or instruct someone else where to point it from a budget they provide or source. You seem to be conflating having the talent to actually make a short film yourself with script writers getting a production green lit on someone elses dime.

Almost all successful directors have done the former at the start of their career.
by pfdietz | 2026-01-06 16:11:54+00:00
I disagree. Life is a tightrope of limited duration and small missteps can be disastrous. Take risks, but tilt the odds in your favor by making the optimism as pruned by correct negativity as possible. Do not waste time optimistically on something that has little chance of success, or that has already demonstrably failed. Above all, do not get trapped wishfully believing in things that are wrong.
by Tsiklon | 2026-01-06 16:12:04+00:00
On the Mac it's all dynamically handled.

With Strix Halo there's two ways of going about it; either set how much memory you want allocated to GPU in BIOS (Less desirable), or set the memory allocation to the GPU to 512MB in the BIOS, and the driver will do it all dynamically much like on a Mac.
by Gliding7682 | 2026-01-06 16:12:21+00:00
As a former Windows user I find the middle mouse paste feature makes Gnome nearly unusable. At least Firefox has an option to disable it. However, Chromium and by extension most Electron apps do not have any setting to disable this on Wayland: https://gitlab.gnome.org/GNOME/mutter/-/issues/3744
by ecb_penguin | 2026-01-06 16:12:29+00:00
Complete nonsense. The number of people that complain about things online is in the billions. It is not remarkably effective.

Small claims court has recovered more money than social media posts.

> I can definitely see using that control to make it known that you are in a state of disunion with them.

This is what separates social media parasites from professionals

> I can even see it being done with no harm to your reputation because other future potential clients know they will be able to pay you.

Ah yes, when I look for professionals, I search people with petty online disagreements first. That way I know they take their pennies serious!
by simonw | 2026-01-06 16:12:31+00:00
Increasingly yes. A modern browser on a good laptop can crunch on GBs of data in a browser tab at once. This makes all sorts of data analysis and visualization tasks feasible in a client-side web app where previously you would have needed a detected database server somewhere.

Take a look at the https://kepler.gl/ demos to see quite how sophisticated this stuff can get now - millions of geospatial data points rendered entirely clientside via WebGL.
by pjdesno | 2026-01-06 16:12:57+00:00
> was in unsafe code, and related to interop with C

1) "interop with C" is part of the fundamental requirements specification for any code running in the Linux kernel. If Rust can't handle that safely (not Rust "safe", but safely), it isn't appropriate for the job.

2) I believe the problem was related to the fact that Rust can't implement a doubly-linked list in safe code. This is a fundamental limitation, and again is an issue when the fundamental requirement for the task is to interface to data structures implemented as doubly-linked lists.

No matter how good a language is, if it doesn't have support for floating point types, it's not a good language for implementing math libraries. For most applications, the inability to safely express doubly-linked lists and difficulty in interfacing with C aren't fundamental problems - just don't use doubly-linked lists or interface with C code. (well, you still have to call system libraries, but these are slow-moving APIs that can be wrapped by Rust experts) For this particular example, however, C interop and doubly-linked lists are fundamental parts of the problem to be solved by the code.
by cameldrv | 2026-01-06 16:12:57+00:00
The electric backpack leaf blower isn’t that much more expensive than the gas ones. If you’re using it in a business, the extra cost really isn’t significant amortized over thousands of uses.

If you’re poor and using it on your own property, a corded electric is like $50 and works fine. The cord is a little bit of a hassle, but you don’t have to worry about mixing gas and oil, fuel stabilizer etc etc. electric has gotten to the point of being good enough, and it’s not reasonable to make so much noise in a residential area when there are good alternatives.
by 7777777phil | 2026-01-06 16:13:05+00:00
Thanks for the pushback this is exactly the kind of peer review I was hoping for at the preprint stage. You are likely correct regarding the sampling bias. While the intent was to capture all. posts, an average score of 35 suggests that my archiver missed a significant portion of the zero-vote posts (likely due to my workers API rate limits or churn during high-volume periods). This created a survivorship bias toward popular posts in the current dataset, which I will explicitly address and correct.

To clarify on the second point: I am not analyzing individual comment scores (which, as you noted, are hidden). The metric refers to post points relative to comment growth/volume. I will be updating the methodology section to reflect these limitations. The full code and dataset will be open-sourced with the final publication so the sampling can be fully audited. Appreciate the rigor.
by bigfishrunning | 2026-01-06 16:13:13+00:00
> Surely that gap has been filled for at least a decade, even if only by Rust itself?

I think this is the argument made by the "Rust Evangelism Task Force" -- that Rust provides the features that C and C++ are missing. What i meant by "gap" is "the distance between C or C++ and Rust is greater then the distance between C++ and Go (in Go's target use case) or between Java and Kotlin". For the record, I do think all of these languages are great; I'm just trying to reason out the "rewrite it in Rust" mantra that has taken hold in many online communities, including this one.

> You don't? https://tinygo.org

I wasn't aware of this, thank you.
by Workaccount2 | 2026-01-06 16:13:37+00:00
The cynical doomerism of reddit is like an infectious disease that ensnares you in their pit of misery with it's initial blast of catharsis. People whose lives bring them out of that swamp leave reddit and stop contributing, so it's mainly populated with miserable cynical doomers all jerking each other off about how screwed they are. Most of them are teenage/college kids working bottom rung jobs/entry level work/unemployed, with all the naivete that comes with it. Stay away from it.
by IvanK_net | 2026-01-06 16:13:42+00:00
Many non-programmers think that programming languages get outdated, just like operating systems or computer hardware, or even some software (old algorithms replaced by better algorithms), and each programmer should "follow trends", since using the same programming language for 10+ years sounds wrong.

But programming languages are like Math. It is like saying "multiplying is outdated" or "the square root is outdated".
by kergonath | 2026-01-06 16:13:51+00:00
The canonical way if you need a version number is the "about this Mac" dialog (here it says Mac Studio 2022).

If you need to be technical, System Information says Mac13,1 and these identifiers have been extremely consistent for about 30 years.

Your product number encodes much more information than that, and about the only time when it is actually required is to see whether it is eligible for a recall.

> Oh also the Macbook Air (2020) is a different processor architecture than Macbook Air (2020).

Right, except that one is MacBook Air (retina, 2020), Macbookair9,1, and the other is MacBook Air (M1, 2020), MacBookAir10,1. It happens occasionally, but the fact that you had to go back 5 years to a period in which the lineup underwent a double transition speaks volume.
by sohanmanju | 2026-01-06 16:13:53+00:00
Fair point, yeet doesn't really decide what's safe. It just scans a hardcoded list of known cache locations and lets you pick what to delete. The assumption is that these are "caches" that can be regenerated, but you're right that some are more painful than others. For Docker specifically, we include paths like /var/lib/docker which is pretty aggressive, that's images, build cache, and volumes. Probably shouldn't be in there since `docker system prune handles` that way better. Good feedback, will tighten up what we scan for
by Anthony-G | 2026-01-06 16:14:23+00:00
I’m fairly certain that the “odd” behaviour is that of the extremists who hijacked the original concept to promote the idea that being fat is good.

I’d consider calling it “odd” to be an understatement. I always thought such extreme positions were a bizarre denial of the negative impacts that obesity can have on personal well-being and quality of life. Having said that, I only ever encountered such views on the Internet; never in real life.
by signatoremo | 2026-01-06 16:14:44+00:00
It’s the final phase of Intel’s 5N4Y plan aimed at reaching parity with TSMC by the end of 2025, so it’s comparable to TSMC’s most advanced node N2 - [0]

As for comparison between the two: According to TechInsights, Intel's 18A could offer higher performance, whereas TSMC's N2 may provide higher transistor density - [1]

[0] - https://www.tomshardware.com/pc-components/cpus/intel-announ...

[1] -
https://www.tomshardware.com/tech-industry/intels-18a-and-ts...
by EGreg | 2026-01-06 16:15:07+00:00
Cherrypicking the most tedious parts, like boilerplate to get up and running, or porting code to other adapters (making mysqlite and postgres adapters for instance)

This was done in about 3 hours for instance: https://github.com/Qbix/Platform/tree/refactor/DbQuery/platf...

You can see the speed for yourself. Here is my first speedrun livestreamed: https://www.youtube.com/watch?v=Yg6UFyIPYNY
by tialaramex | 2026-01-06 16:15:17+00:00
> But no other language claims to be faster than C for general-purpose programming, because none are.

The "faster than C for general-purpose programming" is a pretty woolly claim so I'm not entirely surprised nobody claims that, but equally I think to be sure that "because none are" would need some serious caveats to make it true.

In particular you're going to have to say you think it doesn't matter how much developer time is needed. A project where C programmers spend five hours to make it run in 4 seconds is in this caveat "20% faster" than a project where Alt Lang programmers spend five minutes to make it run in 5 seconds - because only those seconds count. This is not how the real world works so it's a pretty nasty caveat.
by bborud | 2026-01-06 16:15:30+00:00
Isn't this what one would expect? Not least because when something is "as expected or better" people rarely feel the urge to express that. But when something goes wrong we tend to be more ... communicative.

And that negativity breeds engagement, well we already knew that. Entire industries have cropped up around engagement with negative sentiment and made some people exceedingly wealthy.
by jaffa2 | 2026-01-06 16:15:31+00:00
> Applies only to an increasingly obscure input device. No one talks about Fitts's Law on phones

I'm not talking about fitts law on phones though, I don't think anyone is. This is about Tahoe/mac OS on Macs.

But I'd hardly call a mouse, or a trackpad 'increasingly obscure' I use the fact that I have an infinite target area with my trackpad everyday. It's one of those things that a user might not consciously notice until it's no longer there. Much like a lot of what we are seeing with Tahoe in general that people like me, you, the author of this article. We are pointing out the UI issues that are suddenly immediately apparent, and the bit that is really astounding us all is --- how on earth are Apple, supposed bastions of UI interface detail, and polish , are making such an almighty meal of all of these things that used to work but now just don't, and not even don't work -- the 'new ways' are objectively worse.

The only criticism of the top menu bar interface is that on big hi res monitors (which are relatively recent in terms of the Mac OS desktop) sometimes have the menu bar 'miles away' from the actual app that may be in a smaller window. But this is where fitts law comes in -- so the choice is shorter distance but you need to be more precise smaller target (windows) or large distance but infinite target. I prefer the latter.

It's probably in some ways almost a direct holdover from the time of 9" screens and single tasking -- apps were usually taking up most of the screen so having a menu bar at the 'top' wasn't that weird. Having multiple menus bars would have been really weird and taken a lot of space.

I mean Apple could offer an option like I used to see on gnome where you could have a global menu bar or a per app menu bar. That would be more useful than stage manager ever has been I'd bet.
by probably_wrong | 2026-01-06 16:15:31+00:00
I'm with the Mozilla commenter who suggests "If the feature should be deprecated, the first place for such a change would be the platform toolkits". I sometimes use apps where Ctrl-V doesn't paste, and they drive me crazy.

I would also argue that they should leave middle click alone - "some users are confused" doesn't strike me as a good enough reason for removing a 30-years-old Linux feature (someone will always be confused) and I'm willing to bet they don't have enough data to onow how many users are not confused.

Then again, Gnome's "we know better than you" attitude is why I switched to Mate years ago.
by TZubiri | 2026-01-06 16:15:32+00:00
>does not mean that the system is out of memory.
>"The allocator could have "ulimit" or such limit that is completely independent from actual process/system limitations."

Are we playing word games here? If a process has a set amount of memory, and it's out of it, then that process is OOM, if a VM is out of memory, it's OOM. Yes, OOM is typically used for OS OOM, and Linus is talking about rust in the kernel, so that's what OOM would mean.

>Secondarily what reason is there to make an allocation failure any different than any other resource allocation failure.

Of course there is, would you treat being out of bread similar to being out of oxygen? Again this can be explained by the context being kernel development and not application development.
by cs702 | 2026-01-06 16:15:41+00:00
> What counts as “negative” here? Criticism of technology, skepticism toward announcements, complaints about industry practices, frustration with APIs. The usual. It’s worth noting that technical critique reads differently than personal attacks; most HN negativity is substantive rather than toxic.

Hmm... Technical critiques are very different from truly negative comments. I'm not sure they should be lumped together. Technical critiques are often interesting and useful.

In my experience, truly negative comments which don't meet the guidelines rarely appear on HN, and when they do appear, they tend to disappear very, very quickly, thanks to the moderators.
by dmonitor | 2026-01-06 16:15:46+00:00
3D printing would be good at making figurines and such, but you can't easily replicate the Lego system's modularity without their high tolerances.

That being said, it should be feasible to make something that allows easily programming Arduino and raspberry pi to interact with legos, similar to how their Mindstorms line worked. That would be the best of both worlds.
by 7777777phil | 2026-01-06 16:15:47+00:00
Yes, probably the core limitation of my analysis (see earlier comment). My classifiers are treating "I don't like React because I don't want to write HTML in my JavaScript" the same as "React sux a$$" and that's clearly wrong. The models I'm using were built for general sentiment analysis, not technical discourse. On a meta level, your comment itself is a perfect example - it's "negative" in that it criticizes my methodology, but it's exactly the kind of feedback that I was hoping for, so thanks!
by MarkusQ | 2026-01-06 16:15:48+00:00
Not the OP, but I'll try to unpack it for you.

Reading online, listing to public discourse, etc. these days is like taking the Tide Pod challenge; people feeding you inedible or even toxic garbage that superficially looks like candy. If we fed others actual food with the same care we employ when producing "food for thought", we'd all be, at best, very, very ill.

When compared with what people wrote in the past (especially through a survivorship bias filter, where the best writing is preserved longer and distributed more widely) what we produce today seems crude and disgusting.
by theamk | 2026-01-06 16:15:50+00:00
FYI Show HN rules [0] requires "something you've made that other people can play with".. and explicitly says:

> Off topic: blog posts, sign-up pages, newsletters, lists, and other reading material. Those can't be tried out, so can't be Show HNs. Make a regular submission instead.

(Also, putting email collection form in front of teaser for your book is a strange decision.. I am not going to sign up for your mailing list just to see what the book might be about, especially since "(ESP-01 vs ESP32-C3)" part suggests the designs described are not particularly complex)

[0] https://news.ycombinator.com/showhn.html
by tracker1 | 2026-01-06 16:16:11+00:00
In the specific example, both have side effects... if you really wanted to avoid them, you'd use .reduce, and even then, depends on the amount of data. More often than not, if you're doing these kinds of things in JS on in-memory data, you're probably doing something wrong and have bigger concerns imo.

I say this as someone who loves JS since before The Good Parts book.
by wtallis | 2026-01-06 16:16:13+00:00
It's 96 GB max when using LPDDR5, or 128 GB when using DDR5. These are consumer chips with the same 128-bit memory bus width that x86 consumer chips have been using for many years, and this is a laptop-specific product line so they're not trying to squeeze in as many ranks of memory as possible.
by FromTheFirstIn | 2026-01-06 16:16:15+00:00
But it isn’t joining the workforce. Your perspective is that it could, but the point that it hasn’t is the one that’s salient. Codex might be able to do a substantial portion of what a freelancer can do, but even you fell short of saying it can replace the freelancer. As long as every ai agent needs its hand held the effect on the labor force is an increase in costs and an increase in outputs where quality doesn’t matter. It’s not a reduction of labor forces
by twixfel | 2026-01-06 16:16:24+00:00
Why do you make such silly claims about imaginary pipelines? What purpose does it serve? There is one that goes to China, but it's been operating since 2019. Beyond that there are no pipelines being built, neither to China nor to India. One further pipeline to China is in discussion. And none will be built by 2027.

What point were you trying to make? You just assumed these work in progress pipelines were really nearly done already? Why didn't you do some research? Why assume they exist?