News for hackers. Stuff that matters.

nulltrace

Re:Benchmark in Milliseconds on Tuesday October 06, 2026 @05:43PM (#49984549)
Looping works, though reusing the same small buffer mostly measures hot-cache performance.
Re:Small Programming Tricks on Wednesday September 16, 2026 @07:25PM (#49734413)
No. Node's built-in fetch uses Undici. The custom hook is dispatcher, with an Undici-compatible dispatcher: fetch(url, { dispatcher })
Re:Apple Reference Image, but open source and using steganography on Thursday September 10, 2026 @06:52PM (#49651211)
Soon my phone can cryptographically prove the beauty filter lied at capture time.
Rebuilding strip from clean source doesn't clear it. The copy in the bootstrap seed modifies its replacement, and the replacement carries on from there. The provenance can still look normal.
Re:Sort branches by last commit date on Sunday August 30, 2026 @06:55PM (#49503650)
Rebase an old branch and it suddenly looks recent again. The rewritten tip gets a fresh committer date.
Re:Everything I own, owned on Sunday August 23, 2026 @07:26PM (#49413611)
A replacement app could just send the vendor-signed image and leave the signature check to the device. Plenty useful once the official app disappears.
Re:Mojo is now open source! on Thursday August 20, 2026 @07:22PM (#49381631)
Anything in our stack is modern C++ if we can help it. If Mojo can replace those kernels without the Python runtime sitting underneath, even better.
Re:Perfection Is Not Over-Engineering on Monday July 20, 2026 @08:02PM (#48986485)
I think your concrete treehouse counts too though. Most prod systems won't see half those use cases. Both categories pretty much collapse into "stuff that didn't need to be there" once you ship. Only place where overkill won't hurt is tests.
Re:Almost Always Unsigned on Wednesday July 08, 2026 @07:18PM (#48838691)
That loop reads like a bug to anyone who hasn't memorized the wrapping rules. while (i-- > 0) on a signed index does the same thing.
Re:C constructs that still don't work in C++ on Monday May 25, 2026 @07:50PM (#48273229)
Compiler mode won't catch the `extern "C"` thing though. Both sides compile happily, link blows up on mangled names. What I do is just keep a throwaway .cpp in tests that #includes the header and calls a few of the public functions. Dumb but it's basically the only thing that ever catches that case before some downstream user does.
Re:Nim-Presto – REST API Framework for Nim Language on Tuesday May 19, 2026 @07:10PM (#48200897)
Being a generalist isn't easy.
Re:I am worried about Bun on Monday May 04, 2026 @06:48PM (#48015971)
There's a GitHub issue for the freeze thing. Their security scanner passes the full dep list as CLI arguments, large monorepo on Linux and you blow past ARG_MAX. Spawn silently hangs, no error, --ignore-scripts doesn't help because the scanner is separate from postinstall. Been broken since 1.3.5 at least.
Re:I Built My Own Hair Electrolysis Machine on Sunday May 03, 2026 @07:42PM (#48002809)
designed, but never tested
Re:Alert-Driven Monitoring on Sunday May 03, 2026 @07:15PM (#48002633)
We went through the same switch. Half our alerts had been firing for a while and nobody ever acted on them.
Firefox at least randomizes extension IDs per install. Chrome hands all of that to extension devs, basically a "your problem now".
Stale training data is part of it. But even a current model can't tell what setup.py is going to run on your box. Nothing actually inspects the package before it executes. You'd want something that pulls the metadata and checks what hooks are in there before anything runs.
Re:GitHub Actions is the weakest link on Tuesday April 28, 2026 @03:56PM (#47939773)
Common mistake is trusting the repo instead of the workflow. Then any workflow inherits the same cloud access.
Re:The Woes of Sanitizing SVGs on Monday April 27, 2026 @07:06PM (#47928498)
Browsers already treat the same SVG differently depending on how you embed it. <img> strips scripts and external resource loads. <object> and inline don't. People test with img tags, looks fine, then someone switches the embed method and everything opens up.
Re:NPM website was down on Monday April 27, 2026 @06:17PM (#47928143)
We added a preflight curl against registry.npmjs.org before the install step in CI. Not surprising they went down together.
Re:Incident with multple GitHub services on Thursday April 23, 2026 @07:21PM (#47883521)
Downtime is one thing. Silently reverting commits on your default branch is something else entirely.
Preview deploys are even worse. Every PR spins one up with the same env vars and nobody ever cleans them up. You rotate the key, redeploy prod, and there are still like 200 zombie previews sitting there with the old value.
Catching accidental drift is still worth a lot. It's basically the same idea as performance regression tests in CI, nobody writes those because they expect sabotage. It's for the boring stuff, like "oops, we bumped a dep and throughput dropped 15%".

If someone actually goes out of their way to bypass the check, that's a pretty different situation legally compared to just quietly shipping a cheaper quant anyway.

Right, metaclass is a ways off. But even without it, just the core reflection is going to save a ton of boilerplate. Half the template tricks I've written for message parsing were basically hand-rolling what `^T` will just give you.
Re:What Are Skiplists Good For? on Sunday April 19, 2026 @07:16PM (#47828584)
Rebalancing is what really kills you. A CAS loop on a flat list is pretty straightforward, you get it working and move on. But rotations? You've got threads mid-insert on nodes you're about to move around. It gets ugly fast. Skiplists just sidestep the whole thing since level assignment is basically a coin flip, nothing you need to keep consistent. Cache locality is worse, sure, but honestly on write-heavy paths I've never seen that be the actual bottleneck.
Re:Artifacts: Versioned storage that speaks Git on Thursday April 16, 2026 @07:52PM (#47800980)
Yeah pricing seems okay with batching. The 128MB memory cap per Durable Object is what I'd watch. A repo with a few thousand files and some history could hit that faster than you'd expect, especially during delta resolution on push.
Re:OpenSSL 4.0.0 on Tuesday April 14, 2026 @06:58PM (#47772538)
Fair, but from the user side it still hurts. Setting up an Ed25519 signing context used to be maybe ten lines. Now you're constructing OSSL_PARAM arrays, looking up providers by string name, and hoping you got the key type right because nothing checks at compile time.
Lockfiles help more than people realize. If you're pinned and not auto-updating deps, a package getting sold and backdoored won't hit you until you actually update.

The scarier case is Dependabot opening a "patch bump" PR that probably gets merged because everyone ignores minor version bumps.

Re:The Peril of Laziness Lost on Sunday April 12, 2026 @06:30PM (#47745227)
It also doesn't bother checking what's already in your project. Grep around a bit and you'll find three `formatTimestamp` functions all doing almost the same thing.
Re:Principles of Mechanical Sympathy on Friday April 10, 2026 @05:39AM (#47715632)
This clicks for message parsing too. Had field lookups in a std::map, fine until throughput climbed. Flat sorted array fixed it. Turns out cache prefetch actually kicks in when you give it sequential scans.
Could be the bundler re-resolving the whole dependency graph on every build, even when nothing changed.

Older »