News for hackers. Stuff that matters.

vlowther

Re:From the creator of Redis; run LLM locally with ds4 on Friday October 02, 2026 @07:07PM (#49939678)
Yeah, most of what I did was to add fused TQ support to leave more memory free for other nefarious purposes.
Re:From the creator of Redis; run LLM locally with ds4 on Friday October 02, 2026 @04:34PM (#49938274)
It is pretty nifty. I spend some time over last weekend implementing fused TQ to allow for 1m context lengths on a 128 gb MacBook M5 Max when using Qwen 3.8 flash next (https://github.com/antirez/ds4/pull/1115 if you are interested). If I get bored I might port over the Metal kernels from oMLX -- the speed increase they have for the v0.7.0 release is amazeballs.
It also isn't a unique thing. See (for example) the entire history of, well, pretty much any country. There is a reason Utopia literally means "no place".

* Genocide of the natives? Literally all countries in the Americas, for starters. * Slavery of captives from Africa? Pretty much everyone with colonies in and around the Caribbean was guilty of that too. * Multiple unnecessary wars that have killed millions of people? That encompasses more or less all of European history.

By all means, criticize Palantir. But don't pretend US history has anything in particular that would set up the prerequisites for it to exist.

Re:Am I German or Autistic? on Thursday April 09, 2026 @10:38AM (#47704361)
Pretty sure it is sexually transmissible, so I would not be too sure about that.
Same. Opencode + oMLX (0.3.4) + unsloth-Qwen3-Coder-Next-mlx-8bit on my M5 Max w 128GB is the sweet spot for me locally. The prompt decode caching keeps things coherent and fast even when contexts get north of 100k tokens.
The 8 bit MLX unsloth quant of qwen3-coder-next seems to be a local best on an MBB M5 Max with 128GB memory. With oMLX doing prompt caching I can run two in parallel doing different tasks pretty reasonably. I found that lower quants tend to lose the plot after about 170k tokens in context.
Re:Things I Think I Think... Preferring Local OSS LLMs on Thursday April 02, 2026 @03:16PM (#47618904)
No really, no. the last thing Github needs is yet another vibe coded fork of a mostly vibe coded app in the first place.

If I ever get around to vibe rewriting-it-in-go I might share that.

Re:Things I Think I Think... Preferring Local OSS LLMs on Thursday April 02, 2026 @11:10AM (#47615530)
MBP M5 Max. 128GB ram. oMLX. unsloth-Qwen3-Coder-Next-mlx-8bit. opencode with the telemetry stripped out. This seems to be the sweet spot for now for my local dev. Helps me to not accidentally blow through $100 in Claude tokens in a day when exploring different performance tradeoffs the backend of my $DAYJOB codebase.
Re:Understanding the Go Runtime: The Scheduler on Saturday March 14, 2026 @01:14PM (#47378810)
In my case, "background writes" literally means "do the io.WriteAt for this fixed-size buffer in another goroutine so that the one servicing the blob write can get on with encryption / CRC calculation / stuffing the resulting byte stream into fixed-size buffers". Handling it that way lets me keep the IO to the kernel as saturated as possible without the added schedule + mutex overhead sending stuff thru a channel incurs, while still keeping a hard upper bound on IO in flight (max semaphore weight) and write buffer allocations (sync.Pool). My fixed-size buffers are 32k, and it is a net win even there.
Re:Understanding the Go Runtime: The Scheduler on Friday March 13, 2026 @01:50PM (#47367450)
My usecase was building an append-only blob store with mandatory encryption, but using a semaphore + direct goroutine calls to limit background write concurrency instead of a channel + dedicated writer goroutines was a net win across a wide variety of write sizes and max concurrent inflight writes. It is interesting that frankenphp + caddy came up with almost the same conclusion despite vastly different work being done.
If the performance charts are to be believed, this has uniformly worse performance in fetching and iterating over items than a boring old b-tree, which makes it a total nonstarter for most workloads I care about.

It is also sort of ironic that one of the key performance callouts is a lack of pointer chasing, but the Go implementation is a slice that contains other slices without making sure they are using the same backing array, which is just pointer chasing under the hood. I have not examined the code closely, but it is also probably what let them get rid of the black array as a performance optimization.

Re:Defer Available in GCC and Clang on Friday February 20, 2026 @10:13AM (#47089005)
That is the most cursed description I have seen on how defer works. Ever.
Re:Claude Code is suddenly everywhere inside Microsoft on Monday February 02, 2026 @01:40PM (#46859558)
Microsoft Active Career Copilot 365 ONE, thankyouverymuch.
It took quite a bit of scrolling until I found my old faves of dexed and zynaddsubfx, and I didn't see Helm (https://tytel.org/helm/) at all.
Re:Firefox will have an option to disable all AI features on Monday December 22, 2025 @01:58PM (#46357441)
None of the big browsers can be trusted at this point. Firefox is at best the least worst out of the big cross platform browsers.
Re:Your job is to deliver code you have proven to work on Thursday December 18, 2025 @02:37PM (#46317478)
DOS, early Windows, and early MacOS worked more or less exactly that way. Somehow, we all survived.
No, you cannot. Our abstract language abilities (especially the written word part) are a very thin layer on top of hundreds of millions of years of evolution in an information dense environment.
Re:How memory maps (mmap) deliver faster file access in Go on Friday October 24, 2025 @11:57AM (#45695927)
Only if you are doing in-place updates. If append-only datastores are your jam, writes via mmap are Just Fine:

  $ go test -v
  === RUN   TestChunkOps
      chunk_test.go:26: Checking basic persistence and Store expansion.
      chunk_test.go:74: Checking close and reopen read-only
      chunk_test.go:106: Checking that readonly blocks write ops
      chunk_test.go:116: Checking Clear
      chunk_test.go:175: Checking interrupted write
  --- PASS: TestChunkOps (0.06s)
  === RUN   TestEncWriteSpeed
      chunk_test.go:246: Wrote 1443 MB/s
      chunk_test.go:264: Read 5525.418751 MB/s
  --- PASS: TestEncWriteSpeed (1.42s)
  === RUN   TestPlaintextWriteSpeed
      chunk_test.go:301: Wrote 1693 MB/s
      chunk_test.go:319: Read 10528.744206 MB/s
  --- PASS: TestPlaintextWriteSpeed (1.36s)
  PASS
Re:/dev/null is an ACID compliant database on Friday October 24, 2025 @10:37AM (#45695091)
Before it was an ACID compliant database, it was also the fastest backup solution on the market: https://bofh.bjash.com/bofh/bofh1.html
Re:Why Zig Feels More Practical Than Rust on Tuesday September 23, 2025 @01:20PM (#45350120)
It isn't even really that -- most CLI tools are single-threaded and have a short lifespan, so your memory allocation strategy can be as simple as allocating what you need as you go along and then letting program termination clean it up.
Re:Why Are There So Many Rationalist Cults? on Tuesday August 12, 2025 @03:31PM (#44880847)
"I came up with a step-by-step plan to achieve World Peace, and now I am on a government watchlist!"
Re:Kea 3.0, our first LTS version on Friday June 27, 2025 @09:58AM (#44396860)
That sort of thing is why I wrote my own DHCPv4 server that is directly integrated with the core product at $DAYJOB. 10 years ago. Having the DHCP server determine how to handle PXE requests straight from the machine database made my life so much simpler.
Re:Unexpected security footguns in Go's parsers on Saturday June 21, 2025 @11:27AM (#44338285)
Code by vibes and copy/paste instead of R'ing TFM for your language and libraries and understanding your problem domain, introduce security vulnerabilities. Film at 11.

Seriously, the only one that is arguably bad design is the case insensitive JSON keys thing. Everything else is just a reasonable engineering tradeoff given the intersection of the marshalling format design constraints and Go's design. Parsing untrusted data always has the capacity to introduce security vulnerabilities.

Just need to make sure all your computation is done in a volume with infinite surface area and zero volume. Encoding problem solved. Now then, how hyperbolic can we make the geometry of spacetime before things get too weird?
Re:Ploopy Classic 2 open source trackball on Thursday April 03, 2025 @03:07PM (#43573979)
I still miss my Trackman Marble FX. Never found a trackball design as elegant and useable as it was.

https://www.lenzg.net/uploads/images/Trackman_Marble_FX.jpg

Re:They Might Be Giants Flood EPK Promo (1990) [video] on Thursday March 27, 2025 @01:58PM (#43496152)
From I Palindrome I, few albums later on Apollo 18:

Son, I am able, she said, though you scare me. Watch, said I. Beloved, I said, watch me scare you though. Said she, able am I, son.

Brilliant.

Re:Stephen King to shut down his 3 radio stations in Maine on Tuesday December 03, 2024 @04:25PM (#42311664)
Give monthly donations to your local NPR affiliate. Most of them have decently middle-of-the-road biased news, and a few have really good music programming (looking at you, KUTX).
Re:Fine! I'll Play with Skiplists on Monday December 02, 2024 @03:04PM (#42299832)
CoW adaptive radix trees are the entire basis of $WORK's in-memory database -- we use them to store everything, then use boring old btrees to handle sorting data in arbitrary ways. A nice, performant persistent CoW radix tree would be a nice thing to have in my back pocket.
Re:Unlocking the Power of JSON Patch on Friday October 18, 2024 @02:37PM (#41882210)
$WORK project heavily utilizes the test op to enable atomic updates to objects across multiple competing clients. It winds up working really well for that purpose.
Re:Smolderingly Fast B-Trees on Monday October 07, 2024 @10:30AM (#41766379)
I reach for adaptive radix trees over b-trees when I have keys and don't need to have arbitrary sort orderings these days. They are just that much more CPU and memory efficient.

Older ยป