News for hackers. Stuff that matters.

cornstalks

Re:New Apple TV 4K on Tuesday October 13, 2026 @11:37AM (#50073417)
Is this the first Apple device to list VP9 in its tech specs? https://www.apple.com/apple-tv-4k/specs/
TFA implies the issue is land owners won’t allow it:

> But beavers can only thrive if landowners allow them to.

Re:Go 1.27 on Wednesday August 19, 2026 @10:15PM (#49369668)
I’d love to see how that compares to zmij: https://github.com/dtolnay/dtoa-benchmark
Re:NSA and IETF, Part 9 on Saturday August 15, 2026 @12:47AM (#49307718)
As far as I know HTTP 1.0 doesn't have a standards-track RFC (HTTP 1.1 and later do). JSON and HTTPS do indeed have standards-track RFCs, but I stand by my original wording that their first informational RFCs were "extremely important."
Re:NSA and IETF, Part 9 on Friday August 14, 2026 @11:13PM (#49307252)
> which notably is not seeking recommendation status!

I don’t have a dog in this fight, but some extremely important RFCs are only on the “informational” track. RFCs 1945 (HTTP 1.0), 4627 (JSON), 2818 (HTTPS), etc.

This is an advertisement, but it's one of the few I actually enjoy watching, and it suggests a track is "2500 times smaller than a human hair" which puts an upper bound on the size of a bit: https://www.youtube.com/watch?v=ZXs_9OXRnQo

This doesn't answer your question but your question made me think of this and I thought I'd share for anyone else.

How would you do it, then? Sandboxing a project's build.zig via Wasm (and the various dependencies's build.zig files) seems like a great improvement to me and is how I would personally try to sandbox the build process.
Re:Git is forever. I'm building Oak anyways on Tuesday June 23, 2026 @10:32AM (#48645582)
A PhD is a Doctor of Philosophy, so unless that PhD has been invalidated he is in fact a doctor. I don't know his personal preferences so perhaps he doesn't like to be referred to as a doctor (based solely on what you're saying). But there was nothing factually incorrect about the poster saying "Dr. Hipp."
Re:Git is forever. I'm building Oak anyways on Monday June 22, 2026 @04:29PM (#48635690)
He earned a PhD…
x265 is an encoder, not a decoder. Also, being open source doesn't matter here: an open source library, even with a patent grant, doesn't give you a license to someone else's patents.
Some programmers will write more efficient code. At my $dayjob (one of the big tech companies) we're already planning a major goal next year of optimizing server code to reduce RAM requirements, and this is directly in response to the crunch.

In practice I expect most optimizations will come from "stop doing stupid stuff" and not "use fancy advanced algorithms." But that's a cynical perspective so don't be cynical like me.

Re:Midjourney Medical on Thursday June 18, 2026 @12:20AM (#48580774)
> Reducing radiation from CT scans is a noble cause on its own

Is it? Linear No Threshold has largely been rejected at this point. https://jnm.snmjournals.org/content/early/2024/06/21/jnumed....

> like landmines

Boy do I have news for you about the use of landmines in the Ukraine war…

The most difficult part is acquiring the necessary domain specific knowledge, including what your AHJ changed from the national codes. But yes, once you know everything it’s all pretty straightforward stuff.
No, you also need to calculate the voltage drop over your distance to show to minimum wire sizing, and the voltage and power levels at the ASHRAE minimum temperature, the current level at 156.25% over the wiring at the ASHRAE max temperature to compute the temperature adjusted resistance and show that your wiring meets minimum spec, etc.

It’s not too hard to actually do the computations. But there is a ton to learn. I installed my own 14.85 kW system last year, with batteries, and I spent hundreds of hours just researching everything. I know I went overkill, but the hardest part of the project was just getting up to speed on all the requirements to meet code.

Someday I’ll write up my entire experience and share my site plan I used for permitting in the hopes it will help someone else. But doing solar right is a nontrivial investment for a newbie (like me).

Re:Zig: Build System Reworked on Saturday May 30, 2026 @11:11AM (#48337102)
No, I’m saying that it’s how I like to tinker. Others have their own ways of tinkering that are just as valid!

I personally think the optimization challenge is fun. I like digging in to low level stuff, reviewing the assembly dumps and processor pipeline architectures. I fail or give up most of the time, but I enjoy learning in the process.

I’m just trying to show how Zig fits my tinkering well, since you said you can’t see how Zig would ever be a good fit for tinkering. I’m not saying it’s a good fit for all forms of tinkering.

Re:Zig: Build System Reworked on Saturday May 30, 2026 @09:53AM (#48336199)
When I want to tinker it’s usually because I want to make something faster than anyone else has done. Does that help illustrate why some might prefer to tinker in Zig, and why your definition of tinker seems a little narrow?
Re:Bijou64: A variable-length integer encoding on Friday May 29, 2026 @12:10PM (#48325135)
It allows you to fill in padding in a buffer. For example, all data in a buffer will be interpreted by a downstream system, and someone pre-calculated the size of that buffer. Rather than encode everything twice (once to figure out the exact size needed, and a second time to actually populate the buffer) the buffer size was calculated using foreknowledge of how many values would be written to that buffer and then just pessimistically assuming all of them are max-size so writing will never fail. Another situation is when you're rewriting part of an already-encoded file. If you want to change a bit of payload then using padding bytes gives you more flexibility so you can do that without having to do any memcpy into a new buffer.

It's uncommon but I've definitely seen it done (with media containers like Matroska, not actually LEB128) in extremely high-throughput systems that can't spare any cycles.

Re:Pgbackrest is no longer being maintained on Monday April 27, 2026 @05:16PM (#47927412)
SQLite is arguably the most widely deployed database in the world. It also has its roots in government/defense contracting so it was built with navigating that kind of red tape in mind.

Most OSS projects simply don’t have that kind of weight or discipline to follow SQLite’s footsteps.

Re:Pgbackrest is no longer being maintained on Monday April 27, 2026 @02:51PM (#47925631)
PGBackRest was sponsored by some specific organizations, but not owned by them, and PGBackRest was not their product.

SQLite is in a whole different league when it comes to funding, corporate support, etc. There are commercial contracts directly tied to its ongoing support and development. As far as I understand SQLite is Hwaci’s bread and butter.

Re:Pgbackrest is no longer being maintained on Monday April 27, 2026 @01:30PM (#47924609)
SQLite doesn’t depend on donations. They have a consortium, sell licenses (it is open source but some companies like the explicit CYA), sell support contracts, sell an aviation-grade test harness, and sell extensions.

Of course there is always the risk it goes out of business like any other company, but it’s not funded like your typical small open source project and doesn’t even allow open contributions (not necessarily a bad thing IMO but it’s just a totally different type of project).

Re:What is jj and why should I care? on Tuesday April 14, 2026 @10:40PM (#47774045)
I’ve done it multiple times without much effort. Or skill. Really it was a skill issue and I tried things that I thought would work but apparently don’t.

I screwed up jj a few times while picking it up, but jj’s undo command made that trivial to go back and try again. With git? I know a lot of things can be undone but I can never remember how to do it!

Re:What is jj and why should I care? on Tuesday April 14, 2026 @10:44AM (#47766320)
If you're already super comfortable in git, it's not. I'm saying this as someone who recently converted from git to jj and never wants to go back.

You also don't have to follow what the GP said. I never say `jj describe` before writing code. I write the code then just say `jj commit -m "Foo stuff"`, just like I would in git.

The bigger difference I've noticed is:

1. Switching between changesets just feels more natural than git ever did. If I just run `jj` it shows me my tree of commits (think of it like showing you git's branches + their commits), and if I want to edit the code in one of them I just say `jj edit xyz`, or if I want to create a new commit on top of another one and branch it off in a new direction, I just say `jj new xyz`. It took a little bit for my brain to "get" jj and how it works because I was so used to git's branches, but I'm really enjoying the mental model.

2. `jj undo`. This alone is enough to convert me. I screwed something up when trying to sync something and had a bunch of conflicts I really didn't want to resolve and I knew could have been avoided if I did things differently, but my screwup was several operations ago! So I ran `jj undo`. And ran it again. And again. And again. And then I was back to my clean state several stages ago before I screwed up, despite having made several changes and operations since then. With git? Yeah I could have gotten it fixed and gone back. But every time I've had to do something like that in git, I'm only 25% confident I'm doing it right and I'm not screwing things up further.

3. Rebasing. When I would try to sync git to an upstream GitHub repo that used rebasing for PRs, I would always get merge conflicts. This was because I stack my changes on top of each other, but only merge in one at a time. Resyncing means my PR got a new commit hash, even though none of the code changed, and now git couldn't figure out how to merge this new unknown commit with my tree, even though it was the same commit I had locally, just a different hash. With jj? I never get merge conflicts anymore from that.

Overall the developer experience is just more enjoyable for me. I can't say jj's flow is fundamentally and objectively better than git's flow with branches, but personally and subjectively, I like it better.

Given the pause in hostilities announced today it certainly looks like insider knowledge: https://truthsocial.com/@realDonaldTrump/posts/1162782323629...
Re:Many SWE-bench-Passing PRs would not be merged on Wednesday March 11, 2026 @11:39PM (#47346160)
Anecdote time! I had Codex GPT 5.4 xhigh generate a Rust proc macro. It's pretty straightforward: use sqlparser to parse a SQL statement and extract the column names of any row-producing queries.

It generated an implementation that worked well, but I hated the ~480 lines of code. The structure and flow was just... weird. It was hard to follow and I was seriously bugged by it.

So I asked it to reimplement it with some simplifications I gave it. It dutifully executed, producing a result >600 lines long. The flow was simpler and easier to follow, but still seemed excessive for the task at hand.

So I rolled up my sleeves and started deleting code and making changes manually. A little bit later, I had it down to <230 lines with a flow that was extremely easy to read and understand.

So yeah, I can totally see many SWE-bench-passing PRs being functionally correct but still terrible code that I would not accept.

Re:Bun v1.3.9 on Sunday February 08, 2026 @01:24PM (#46937003)
I think your average person knows what sequential means but might not remember what series means. Personally I always remember the meaning of series in “parallel vs series” because it must be the opposite of parallel. I’m not proud of the fact that I always forget and have to re-intuit the meaning every time, but the only time I ever see “series” is when people are talking about a TV show or electronics.
Re:Kilobyte is precisely 1000 bytes on Wednesday February 04, 2026 @12:50AM (#46881950)
> Metric prefixes are always lower case, so GB isn't valid metric.

Ummm, what? https://en.wikipedia.org/wiki/Metric_prefix

Re:Kilobyte is precisely 1000 bytes on Wednesday February 04, 2026 @12:48AM (#46881940)
> That doesn't conform to SI. It should be written as kB mB gB

Little m is milli, big M is mega. Little g doesn’t exist, only big G.

Re:Building Your Own Efficient uint128 in C++ on Monday February 02, 2026 @12:48AM (#46852848)
I implemented a rational number library for media timestamps (think CMTime, AVRational, etc.) that uses 64-bit numerators and denominators. It uses 128-bit integers for intermediate operations when adding, subtracting, multiplying, etc. It even uses 128-bit floats (represented as 2 doubles and using double-double arithmetic[1]) for some approximation operations and even 192-bit integers in one spot (IIRC it's multiplying a 128-bit and 64-bit ints and I just want the high bits so it shifts back down to 128 bits immediately after the multiplication).

I keep meaning to see if work will let me open source it.

[1]: https://en.wikipedia.org/wiki/Quadruple-precision_floating-p...

Re:Skip Is Now Free and Open Source on Wednesday January 21, 2026 @06:32PM (#46713202)
> Would you pay for source-available products? GPL and paid license?

I'm not GP but I would at least consider it. I say that as someone who refuses to build on closed-source tooling or libraries. I'd even consider closed-source if there was an irrevocable guarantee that the source would be released in its entirety (with a favorable open source license) if the license/pricing terms ever changed or the company ceased to exist or stopped supporting that product.

> Along with a guarantee that you get to keep access to older versions (Jetbrains and Sublime Text models)?

I like that for personal tools but I wouldn't build my products or business on top of those. I've had too much trouble getting old binaries to work on new OS versions to consider these binaries to be usable in the long term.

Older »