News for hackers. Stuff that matters.

aktau

That + coffee is the original spread. Just the way the cookie crumbles.
Re:Redesigning Source Control at Anthropic on Wednesday October 14, 2026 @01:53AM (#50082958)
+1, even the strongest models still produce things that (I suspect) if it accumulates over time will cause issues.

Is my suspicion wrong? Are models getting better fast enough that they'll be able to add new feature (or fix bugs) and clean up even despite a mountain of AI tech debt [1]

[1]: I say AI tech debt because it tends to have some characteristics that are different from human tech debt, such as apparent lack of intentionality (which makes Chesterton's fence evaluation much harder). Perhaps if we make the AI write down somewhere, as briefly as possible, why it wrote each chunk of code...

Re:Once: Cache CLI Commands on Sunday October 11, 2026 @04:29PM (#50047492)
I'm glad you're finding it useful. That makes two of us!
Re:Once: Cache CLI Commands on Friday October 09, 2026 @07:59AM (#50019267)
These kinds of tools are very useful. I have my own called memo (which is just a shell script: https://github.com/aktau/dotfiles/blob/master/bin/memo).

It was discussed in https://news.ycombinator.com/item?id=45670052 and others chimed in with their own (like bkt(1) and up(1)).

The main differences I see:

  - memo doesn't need to be built (its a shell script)
  - once keeps output cache in a running daemon. By contrast, memo stores content under /tmp with whatever the best compression available is (it prefers zstd). There's trade-offs in that. More pareto-optimal from the security front may be to have a sort of session key and to compress-then-encrypt files on disk.
Re:Why Common Lisp Is Now the Best Programming Language on Tuesday October 06, 2026 @04:04PM (#49983310)
> And compared to Go, the production observability is very good.

Can you give some examples where Go is lacking and Java is great? (Ideally builtin things, and if not builtin, then things where Go doesn't have an externally developed alternative).

> I also use Clojure and can observe my running app with a full REPL.

Does this work with other JVM languages, like Java, too?

Re:Why Common Lisp Is Now the Best Programming Language on Tuesday October 06, 2026 @05:46AM (#49976256)
> All those things are true of Java/Kotlin, except even moreso.

The parent did mention:

> ...and is simple to deploy.

Also, my experience with Java programs is that the memory overhead is even higher than Go (where it's a ~2x of what the program holds as heap due to the GOGC=100 default).

Re:A 40ms Go garbage collector pause caused by swap on Monday October 05, 2026 @04:40AM (#49962219)
> The OS should also allow marking pages as piority to stop them from being swapped out.

This is IIUC possible using the mlock(2) family of syscalls: https://man7.org/linux/man-pages/man2/mlock.2.html. (On Linux, though I'm guessing other UNIXen and operating systems have it or something equivalent.)

Re:FreeBSD on Aoostar WTR Pro NAS on Sunday September 20, 2026 @01:20PM (#49777849)
Anecdata, but still:

I ordered a Xyber NAS (N150) back when they were still in stock, wiped the Ubuntu that came with it and built up a NixOS config [1]. The power usage is very good (12W with 2 internal SSDs, bluetooth, wifi and a bunch of services running).

If it dies, I won't be too sad since it was about $210. But it's doing pretty well (24/7) so far.

[1]: This ended up being useful. The built-in eMMC chip that I had installed the OS on gave out after ~1 month of usage and I had to reinstall. Thanks to the NixOS config, it took me much less time.

Great read. This is (unbelievably) impressive. Both from the model and the human. Congratulations. I also liked the postscriptum about the GPU driver.

Mac hardware is some of the best there is, but I lost faith in macOS around 2015 when I experienced a bug where XNU would shut down my device without warning if the wireless driver produced an invalid packet. (The shutdown code was in the open-source XNU part of Darwin. I don't know why the invalid packet was produced, perhaps there was a hardware issue, but the response shouldn't have been to hard reset the device immediately.)

Running Linux on this hardware, and being to use most of its capabilities, is awesome. Thanks to all the AsahiLinux contributors (directly and indirectly) for their work.

Re:Gemini 3.8 Live and 3.8 Live Extended Thinking on Wednesday September 16, 2026 @04:07AM (#49723394)
Given that Dutch is the ancestor here (not that Dutch hasn't changed since the split), I wouldn't call it "as if".
Re:Nine coding harnesses vs. your laptop on Friday September 11, 2026 @08:48AM (#49657534)
> For example, one of the unique features of my harness is that the filesystem is completely virtualized and all filesystem I/O is part of the session...

What are the mechanics of this? You mentioned bash so I asssume you don't "control" all the tooling. Is it running in a VM with an overlay filesystem that takes snapshots at every file interaction? Or perhaps outside a VM but containerized with a FUSE-based overlay filesystem?

Re:Be Using Rootless Containers on Thursday September 10, 2026 @06:02AM (#49641138)
My view is this isn't sufficent. They're pretty good at breaking out of stuff. A VM would be the minimal isolation boundary for me.
Re:We built our house for LAN parties on Wednesday September 09, 2026 @04:24AM (#49623147)
Hi Kenton!

One thing I'm wondering about (and was happy to see) is how you seem to have your (childhood) friends close by, at least on occasion.

I live in Europe and am considering what a move somewhere else in Europe (+/- 1000km) would mean. Seeing much less of my long-time friends, I imagine. But Austin seems much further from the earlier places you've stated you've lived. Did some of your friends just move with you? Are they visiting often?

Re:We built our house for LAN parties on Tuesday September 08, 2026 @07:18AM (#49608735)
> transparent matte coat for my exterior walls

I'm curious about this. Do you mean a layer of paint-like substance that makes the walls isolate better?

On Linux, "self" is /proc/self/exe. In general, I've seen people use `os.Args[0]`. But on checking again, I see there's even `os.Executable()` (https://pkg.go.dev/os#Executable) for this purpose.

I'm quite sure go test compilates can spawn themselves, I'm doing it on many platforms.

But, the test setup I was referring to was explicitly not that: the tests are spawning the main binary, not themselves. Using bazel+runfiles this is pretty easy to do. With the pure Go build tool, I'm not sure what approach I'd use to "guarantee" that I get a binary build for the same environment as the test.

Re:Go is an ideal language for AI-assisted software engineering on Wednesday August 12, 2026 @10:41AM (#49273133)
+1, I like to test in a similar way. For example if I'm making a CLI, the test will spawn the CLI for each test-case, instead of invoking the code directly. This provides a more realistic flow, and makes it clear which user journeys one is supporting.

Faking responses I often do with environment variables, like:

  ts := httptest.NewServer(...)
  cmd := exec.Command(...)
  cmd.Env = append(os.Environ(), fmt.Sprintf("MYCLI_PROD_ADDR=%s", ts.URL))
Of course, it's better still to go down this turtle stack (e.g. by spawning a local instance of your backend server instead of some faked handlers), but that adds more cost. I find the trade-off OK here.
Re:Delphi 13 Community Edition Is Now Available on Wednesday August 12, 2026 @09:26AM (#49272079)
My favourite Delphi program, and the one I learned to program with, was Dev-C++ (https://sourceforge.net/projects/dev-cpp). AFAIK there is a more recent fork, but I also clearly recall the 4.9.9.? versoin number from back then. It was very fast (including startup). I enjoyed it a lot back when I was still on Windows. Funny that Delphi was used to create a C/C++ IDE.
Re:Triton: DirectX 11 Driver for QEMU on Sunday August 09, 2026 @05:05AM (#49229712)
Reminds me of VirGL [1] and Venus [2], which I think do something similar for OpenGL and Vulkan.

I use this with Baguette/Crostini on ChromeOS to get some light gaming done. Works very well [3].

[1]: https://docs.mesa3d.org/drivers/virgl.html

[2]: https://docs.mesa3d.org/drivers/venus.html

[3]: For Baguette, the Crostini-replacement, one needs to do a minor amount of tweaking to get 3D acceleration to work well (https://www.reddit.com/r/Crostini/comments/1sftdu1/comment/o...).

Re:The Nixpkgs core team has disbanded on Saturday August 08, 2026 @04:14PM (#49225471)
Much more resource heavy. I tried NixOS and Bazzite (and other spins purporting to be lighteweight) and the difference on a 2010-era mid-range laptop was noticeable in terms of sluggishness. Not that this laptop was going to be my daily driver, but I like experimenting. It was a good showing for NixOS and that decided which one I would take. All of the other nice things about NixOS (fast rebuilding, easy install images, remote deploy, easy build tweaks, ...) were cherries on top.
Re:libexpat now funded by the City of Munich for up to 6 months on Wednesday August 05, 2026 @03:32AM (#49179681)
I'm curious. Do you have more information?
Re:Hamburg's Stadtpark: A Park Built to Be Used on Thursday July 30, 2026 @02:47AM (#49106769)
Yea, both Westpark itself and the open-air cinema inside the park are stellar.

It surprises me that no-one has mentioned Munich's premier city park though: the English Garden (Englischer Garten): https://maps.app.goo.gl/ug5fg8KUBHPWvRPD7.

It is, frankly, amazing. I've never seen infrastructure of this kind so close to the people, so sprawling and so well kept. People swim in side arms of the Isar too, many floating (see pictures near the start at https://maps.app.goo.gl/krgaM2tTKdzCzW398, where people surf on the mini-river).

Of the places I've been, Munich is by far the best one in this area (and many others) that I know.

I have the same question. It seems like a decent amount of posters here don't require (non-standard) interactivity. Plain HTML+CSS (perhaps via static site generators) would work.

It made me think about the Javascript present on my blog. The site works fine without JS (syntax high-lighting is pre-baked server-side).

There is some optional JS enhancement:

  - MathJax is used for turning LaTeX expressions into nice graphics on the client-side. A search reveals this could be done on the server-side, but I'd need to deal with the node.js ecosystem.
  - PJAX is enabled [1]. This is completely optional, but it noticeably made page navigation faster (feel instant), especially when navigating between pages already visited (forwards/backwards).
UPDATE: Reading https://triptychproject.org/, it seems like what PJAX does is item #3: "Partial page replacement"

[1]: The library is at https://www.aktau.be/js/pjax-standalone.js. It is invoked at the end of <body>:

  pjax.connect({
    "container": "content",
    "complete": function() { MathJax.typesetPromise(); }, // Reload mathjax after a pjax load.
    "autoAnalytics": false
  });
Re:It's getting harder to focus every day on Friday July 24, 2026 @11:09AM (#49036826)
> If it’s important they will leave a message and I’ll get back to them.

I can't really do that. For some things (urgent and important), loved ones need to be able to reach me.

But yes, a lot of this advice would work.

Re:It's getting harder to focus every day on Friday July 24, 2026 @08:13AM (#49034451)
Respect.

I hope to find the strength to be more like that. Also to give a better example to others.

I notice making the screen go grayscale (can configure volume up+down to do this in android) already makes doom-anything much less long-lived. The next step, since apparently I can't go cold turkey, is to try one of these alternative minimalist launchers to see if it helps. And to teach people that if they want something from me urgently, they need to call.

On the topic of watches, I used a smartwatch the company gifted me for a while. Went back to an analog watch. Much better.

Re:The Human-in-the-Loop Is Tired on Friday July 17, 2026 @08:04AM (#48946330)
I lot of people echoing the same sentiment. It made me recall a quote from early 2026 that made waves in a few programming communities (https://x.com/ThePrimeagen/status/2026771192191824108).

Quote:

...i hate the code it generates, i hate the feeling of getting everything i ask for and nothing i want. I hate the subtle offness around vibe coded things. It is just driving me nuts.

Re:OpenRA on Saturday June 27, 2026 @09:44AM (#48698258)
Not sure about RA, but for RA2 see https://chronodivide.com/
Re:Even more batteries included with Emacs on Monday June 15, 2026 @07:32AM (#48539778)
I think Neovim itself has been stabilizing quite a bit in terms of upgrade breakage.

A common reason for breakage is/was:

  - Neovim changes some API (deprecating, ...).
  - User upgrades Neovim and theres some incompability, OR user upgrade plugin and that plugin assumes a much newer version of Neovim. (I've often seen Neovim plugins "mandate" either the latest stable Neovim or even HEAD).
But:

  1. Neovim has been including some popular plugins (or at least their functionality domain) in the past few years. This obviates the need for plugin-for-$THING, and reduces breakage.
  2. ISTM that the pace of (new) plugin development in the Neovim-sphere has slowed down.
The latest example of #1 is vim.pack, which is a plugin manager similar to vim-plug, mini.deps (vim.pack is based on mini.deps), lazy et cetera.

I can remember removing vim-commentary (from tpope) a while ago because Neovim included something like it in the main distribution. Granted, that specific plugin never broke because it uses the stable viml API.

Re:Rayforce on Thursday June 11, 2026 @12:04PM (#48492220)
> Rayforce is a pure C17 zero-dependency embeddable engine where columnar analytics and graph traversals share a single operation DAG, pass through a multi-pass optimizer, and execute as fused morsel-driven bytecode. No malloc.

Sounds great. I hadn't seen an (explicitly) C17 project before. I wonder which features of it they use. I can only find very scant references in the depot (E.g.: https://github.com/RayforceDB/rayforce/blob/6c4b1eddad0ea728...).

Anyone know?

I clicked around in the kernel section and the other commenters highlighting the simplicity weren't lying. It's beautiful in its simplicity.

Seeing the screenshots I was kind of expecting this was a pre-emptive multi-tasking OS (forgetting what I read in the submission).

Things that thus surprised me on a cursory look:

  - noticed krn_main() ends with `while (1);` [1]. I would've expected a "schedule" call or something. I assume there's no real busy loop burning CPU, maybe it's never meant to reach this code?
  - I'm reminded of the "bare metal OS" when I see one of the apps call `krn_\*` functions directly [2].
[1]: https://github.com/luke8086/gentleos32/blob/main/kernel/main...

[2]: https://github.com/luke8086/gentleos32/blob/ea691f14635c023d...

Re:Go: Support for Generic Methods on Wednesday May 27, 2026 @10:16AM (#48294764)
Spot on. Heaven forbid it turns into a C++ (I'm not a Rust practitioner but from the outside it seems to accrete features pretty quickly as well).

The ease of grokking Go (both reading and writing) are big advantages, and facilitated by the "small" feature set of Go.

Older »