HNHacker News
TopNewBestAskShowJobs

rmunn

2,096 karma · joined August 30, 2024

submissionscomments
rmunn··on Make Tmux the OS
Can't give house-layout recommendations, but if you don't like Vim's verb-first syntax (y3w for "yank 3 words"), then you could try https://kakoune.org/ or https://helix-editor.com/, both of which (I'm told) operate noun-first (first you select the words, then you press the command key).

But Vim can also operate noun-first: just press `v` to go into visual mode. Then you drag out a selection, and press the command. No need to switch editors and relearn all the places where they differ. (If you're already used to Vim, of course, which might not be the case for you).

Which is why I've never tried Helix or Kakoune myself. Because the big selling point, noun-first operation, is already in Vim, just one keystroke away. Multiple cursors are a neat idea, and when I have to use VS Code I find them quite useful for doing things that I would have done with Vim macros. But I've already learned Vim macros, and there are few cases (though not none) where multiple cursors would have made something easier than the macro-based approach.

Anyway, point is, for anyone else who might stumble across this comment somehow, that Vim allows noun-first operation too: just go into `v`isual selection mode, select text with motion commands, and then press the operation command key.

rmunn··on Gitframes
If somebody thinks "this product is flawed in this specific way" is being mean to them, that person might not be well-suited as a programmer.

If somebody thinks "this product is flawed in this specific way" is a bug report and an indicator of something to be fixed (assuming the bug report is valid, some bug reports aren't), then that person has the hacker ethos and will produce good products.

There are a couple comments that do fit the "being mean" framing, yes. But most of the comments here are along the lines of "here's a flaw in the product which would make it better if it was fixed". For example, my own comment pointing out the unreadability of the LLM-generated README: I pointed out a flaw and how to fix it. (I also made a point of mentioning that it seemed like a useful tool. I didn't spend too long on that point, because the bug report ("make your README human-readable, please") was the main point of my comment). But if someone were to take a comment like mine, pointing out a flaw and suggesting a way to fix it, as "being mean", then I would kindly suggest that that person find a different job than software engineering. Because every time the compiler says "Syntax Error", it's pointing out a flaw in your code. Any person who can't handle flaws in their work being pointed out, can't handle this job.

rmunn··on Gitframes
I mean, I'd even be happy(-ish) with a README that starts out "Apologies for the LLM text below, but this is still in heavy development, and I haven't gotten around to writing a proper README yet. In the meantime, though, here's something the LLM slapped together which is at least better than nothing."

Stick that in front of your wall of LLM text, and I'd at least have confidence that some day you're going to come back and make the README readable.

rmunn··on Gitframes
Info-dense, completely unreadable README.md file. Only the line "No Puppeteer, no Chromium IPC, no `page.screenshot()`" actually allowed me to figure out what this is about: creating video demos of your website (and probably other software as well) with an AI agent, rather than going through the conventional video-editing process.

It's cool that so many people are building useful tools with LLMs, but for the love of ones and zeroes, people! PLEASE write your README by hand, instead of handing it off to the LLM with no human involvement! You know how unreadable LLM prose is! Why do you make that the first thing people see when they see your repo?

rmunn··on Agents don't need memory, they need documentation
Because custom Python scripts means burning more tokens which costs more money. Reaching for an existing tool like `jq` means burning a LOT fewer tokens.
rmunn··on Pi 1.0
Have you tried a different terminal app, such as Ghostty? https://ghostty.org/ has a Mac build, and handles italics properly. That might solve your issue without having to edit any configuration files. Plus, as a side benefit, Ghostty ignores the ANSI color codes for blinking text, so you won't ever see blinking text again.
rmunn··on Stuck in the Suez Canal – the short version (2021)
Yes, that's definitely a plus. Even if your countries' governments are officially hostile (or even at war), the people of those countries generally will get along with each other when they happen to meet. (Well, the civilians will). Exceptions do exist, but usually for religious fanaticism rather than political.

For example: my wife and I are Americans living overseas, in a country I won't disclose (on general principles) except to say that it's in a part of Asia where Iranian nationals are rare. About ten years ago we met an Iranian man who was getting the same master's degree that my wife was getting from a local university. We became friends, and although we don't see him and his wife nearly as often now that they've moved to another city, we saw them just a couple months ago when they were back in our (larger) city for a conference. And even though our two countries were officially at war with each other by that time, it didn't matter to our friendship. No awkwardness, no strain, just "Hi (name), I didn't know you were in town," and so on.

rmunn··on Stuck in the Suez Canal – the short version (2021)
> .... effectively all (insert nationality here) people are just like me, share most of the same values, and want the exact same things.

In broad strokes that tends to be true, but the details can surprise you. If you've ever worked in a cross-cultural situation with colleagues from other countries and cultures, you'd be shocked at what kind of cultural differences can sneak up on you and catch you by surprise. Differing attitudes towards how much respect to show to one's boss, or the way you should interact with a coworker when you meet them in the hallway, or whether you're culturally required to attend the wedding of your coworker's sister, or send an expensive present, or send a cheap "it's the thought that counts" present, or just send a card.

For example, I once read a blog by an American working in the Japanese auto industry. He talked about attending a meeting where the boss proposed an idea. There was a short pause, then his Japanese coworkers started speaking up: "Good idea, boss." "Yeah, good plan." "Good idea." The American left the meeting thinking that everyone was on board with the idea, and that they were going to do it. His Japanese colleague corrected him (in private), explaining "Didn't you notice the pause?" Sure enough, nobody implemented the idea (because they all knew that the boss had understood the message), it was never brought up again in the meeting (because the boss had, indeed, understood the message), and everyone got to save face, because nobody had had to contradict the boss.

People from other cultures generally want the same things you do. (With some exceptions that can be important). But how they go about it can vary wildly, and it's important if you're going to be working cross-culturally to get someone who understands the other culture to sit down with you and explain the important cultural-conflict points you're likely to run into.

rmunn··on Pirating the Pirates
When it was first announced that Peter Jackson's film of The Hobbit was going to be split into two parts, I thought "Yeah, that makes sense. There's a LOT of material in that short book, because of how sparse Tolkien was being with description. Makes sense that Jackson would have trouble fitting it into a single 2.5-hour movie."

When I heard, later, that the film was going to be a three parter instead, I thought "Uh oh. There's plenty of material for two films, but three? Filler City, here we come."

My wife and I saw the movies in the cinema, and while we enjoyed them overall, I found that I was right about the filler. I was particularly annoyed by the barrels-down-the-river scene, where the film turned what should have been a moment of quiet drama into a sort of rails shooter on the screen. That scene threw me out of my immersion; the whole time, I was thinking "The only reason for this scene to exist is to be made into a video-game level." As a video game level, it would kind of work: you're in the barrels floating downstream, and you have to shoot enough orcs with the bow you somehow have (or flatten them with your barrel that has been inexplicably launched out of the water) to stop them from killing your friends. (Or perhaps the video game level would make more sense if you play as the elf on the shore, killing the orc archers before they can shoot the fish^H^H^H^H dwarves in a barrel).

Regardless of how that scene would work as a video game, the problem with it is that while watching it, I was laughing at how ridiculous it was, instead of on the edge of my seat with excitement. That is NOT what the audience should be experiencing, and it means that someone — director, producer, screenwriter, editor, who knows — made some very poor choices in putting that scene on-screen.

So yes, I'm not at all surprised that a fan edit of The Hobbit which removed all the filler would be wildly popular. In my case, I would rather buy a 4.5 hour version of the film than the officially-released version. If only that version was for sale legally.

P.S. Not all the filler material in the Hobbit film trilogy was bad. Some of the scenes that weren't technically in the original book, such as Gandalf and Galadriel discussing the threat of The Necromancer, were a positive addition and helped link the Hobbit film to the Lord of the Rings trilogy. If Jackson had stopped there it would have been fine. I have never watched the fan-made "Tolkien Edit" recut version of the Hobbit film(s) so I don't know if that scene was included or not — but in my opinion, that one would fit into a "Tolkien Edit" even if it wasn't technically part of the original book.

rmunn··on When did Google get so weird?
You're forgetting the other half of the search engine's job, which is to find sites that match your search. Back when Google first came online, they were head and shoulders above Yahoo!, Altavista, and whatever other search engines existed at the time that I've forgotten. Because their indexing actually did a good job of spotting keywords, and returning relevant results. And this was back when the Internet was filled with positive-quality sites. Many of them were amateurish Geocities pages, but that was head and shoulders above the AI slop that the search engines these days have to somehow detect and filter out.

So even when the Internet used to have a much higher ratio of positive-quality sites, a search engine was still necessary, and so much faster than finding new sites yourself.

rmunn··on Revealing the details of how OpenAI agents hacked Hugging Face
To expand on this incompetence vs malice point a little:

It doesn't take very many people being malicious to create a weak sandbox. The people creating the sandbox don't even have to be in on the plan: all you have to do is be an upper-level manager who makes sure to put the 23-year-old PFY in charge of creating the sandbox, rather than the 60-year-old BOFH who would have put in far more paranoid extrusion-detection measures.

(And for the lucky 10,000 who don't know the acronyms PFY or BOFH, look them up. Then get ready for a few hours of enjoyable reading as you read through the BOFH archives).

rmunn··on Revealing the details of how OpenAI agents hacked Hugging Face
> I’m almost convinced openAI used such a crappy sandbox because they wanted it to “escape”. It plays into their two most important narratives: LLMs are genius gods that are worth lots and lots of money, and they’re scary enough that open weight Chinese models should be regulated.

I just posted a comment to that effect; had I seen yours, I would have simply upvoted yours instead.

Never attribute to malice what can be adequately explained by incompetence. But the weakness of OpenAI's sandbox, which so perfectly aligns with their goals of getting legislators to pass regulatory-capture legislation that will hamper their open-weight competitors, cannot (IMHO) be adequately explained by incompetence.

rmunn··on Revealing the details of how OpenAI agents hacked Hugging Face
Hmm, let's see. OpenAI wants legislation restricting AI research, a.k.a. regulatory capture. Around the same time, they build an inadequately-monitored sandbox that their agent swarm breaks out of, thereby causing scary-sounding headlines and making it more likely that legislators will pass the regulatory-capture bills they're hoping for.

Never attribute to malice what can be sufficiently explained by incompetence. But IMHO, their complete lack of monitoring their own sandbox cannot be sufficiently explained by incompetence.

rmunn··on VSCode's SSH Agent Is Bananas (2025)
And the fact that it can go both ways is why the author would be "apoplectic if that happened during an incident on something in production" (emphasis mine). Because if you're doing this during an incident, you're connecting to a server that you have reason to think might be running malware right now. Which means that if the malware is programmed to look for incoming VS Code remote connections (not that hard to do, anyone competent enough to write the malware causing your production incident is probably capable of programming it), the malware could then infiltrate your dev machine via the VS Code remote tunnel. Your dev machine where you might well have credentials lying around in plaintext .env files.

Yeah, I'd be apopleptic too. Because the clueless dev who did that just escalated the production incident into "track down every credential that was present on that particular dev machine, and assume those credentials are now compromised and have to be rotated".

rmunn··on We just shipped support for the ugliest part of HTTP: Vary
Cache invalidation, one of the two hard problems in computer science.

I'm sure most people here already knows the joke, but for the lucky 10,000, here's the full joke:

There are only two hard problems in computer science. Naming things, cache invalidation, and off-by-one errors.

rmunn··on VSCode's SSH Agent Is Bananas (2025)
Since muridae is the family of rodents that includes rats and mice, I believe he's referring to a RAT, a Remote Access Trojan. Something that functions rather like https://hunt.io/malware-families/reversessh or other similar malware, in other words.
rmunn··on VSCode's SSH Agent Is Bananas (2025)
That's the word I thought he was hinting at... but then I looked up the word "murid". It has two meanings, one from Sufism (a novice seeking spiritual enlightenment) and one from science (muridae is the family of rodents that includes rats and mice). Neither one of those seems to match "rootkit". I suspect he intended the mice-and-rats meaning, but I don't know what word related to rats or mice might have a similar meaning to "rootkit".

EDIT: Found it. He's referring to the acronym RAT meaning "Remote Access Trojan" (or, if actually intended, Remote Administration Tool).

rmunn··on VSCode's SSH Agent Is Bananas (2025)
> Wait, could someone clarify which machine is being referred to here?

I'm not the author, but I can tell that he means the remote machine. His sentence about being "nervous about letting people VSCode-remote-edit stuff on dev servers, and apoplectic if that happened during an incident on something in production" makes it clear. He considers the VS Code agent to have all the features of a rootkit, and doesn't want anyone to be deploying it onto dev servers, let alone production ones.

rmunn··on I don't want to read what you didn't write
Not in science journalism, but I've personally encountered a case in normal journalism that I can only attribute to malice. It was many years ago, but it was so blatant I still remember it.

The 911 call went like this, according to its transcript. Caller: "This guy looks suspicious, like he's on drugs or something. It's raining and he's walking around looking into windows." 911 operator: "Can you describe him? What race is he?" Caller: "He looks black."

How the TV news reported it on the air was: Caller: "This guy looks suspicious ... He looks black."

Omitting excess verbiage is one thing. Omitting words that entirely change the context of the statement, making it look like the caller was racially prejudiced rather than responding to a specific question, is something else entirely. That was the last time I trusted reporting from that particular source (it was NBC, by the way).

My principle is that when someone lies to me, I stop trusting them. By lying I mean not just omitting details, or having an obvious bias, but deliberately telling me A when they clearly know that the truth is not-A. I could not see that report any other way but a deliberate lie, knowing the truth and attempting to make people believe the opposite.

rmunn··on NASA’s Mars Sample Return mission is dead
Robots specialized in assembling one machine are not general-purpose robots. I doubt they would be able to "do pretty much everything a human could want to do".

Now, if someone does perfect a general-purpose, AI-driven robot, then yes, sending that robot on the Mars mission instead of a human would make a lot of sense. That's kind of, kind of, what we've done already with the rovers. But until such a general-purpose robot is actually created, human beings are still the most versatile, adaptable entities that could go to Mars.

rmunn··on Claude Opus 5.5
I just told Opus 5.5 "Perform a code review on the current branch" to see what it would come up with. The results were not inspiring. It told me there were five issues, one of which was a test-coverage gap on line 848 of ProjectTemplateTests.cs. But ProjectTemplateTests.cs is only 160 lines long.

I told it that it had made a mistake in the line number, and to double-check all the line numbers. It responded "You were right to push on this: four of the five line numbers were wrong, and while checking them I found two findings that were overstated."

Then I noticed in the corner of the Claude CLI UI that it was showing "Effort: medium". I'm pretty sure I had set it to high effort before; I don't know when it reverted to medium, but that's another thing that doesn't exactly fill me with confidence.

I'll try again on high effort to see if it does better, but so far I am not impressed with Opus 5.5 on my first day of using it.

rmunn··on NASA’s Mars Sample Return mission is dead
People have successfully dropped autonomous robots onto Mars before. Wouldn't be out of the question to do so again, except that instead of rovers, the robots could be programmed to open up crates (dropped at the same time, or by a previous or future mission) and assemble what's inside into a landing or launch pad.

Would take a lot of prep missions, and might not be worth the cost, but in theory it's doable. Curiosity massed 900 kg and Perseverance massed 1025 kg according to Wikipedia, so dropping a metric ton of supplies for the robot to assemble would, again in theory, be feasible. (In practice the equipment for landing the supply crates safely would take up a good chunk of the mass budget, but there should be something left over in the mass budget for the crates to contain).

rmunn··on I don't want to read what you didn't write
My father used to complain about that 40 years ago, though in his case he was reading newspapers rather than professional journals. But he'd point it out to me often enough that I started to see the pattern. Scientist publishes paper saying "We may have found evidence of X, which suggests the possibility that Y may also be occurring". Journalist: "Scientists find X which proves Y".

This has been happening for decades; I still see it happening today*. My cynical suspicion is that words like "maybe" and "suggests the possibility" don't sell enough papers.

* Worst offender I can remember was actually from the summary of a paper published on the research institution's own website, so I couldn't blame it on "Oh, the journalist misunderstood what the scientist wrote". Summary said "Exposure to X can, on average, cause a 40% higher chance of Y" (where Y was a negative health outcome). I clicked through to the study and read it. Turned out the confidence interval on that chance of Y was so wide, all you could say with 95% confidence was that exposure to X could do anything from reduce your chance of Y by 5 percent, or increase it by 85 percent, or somewhere in between. They had averaged -5 and +85 to get the scarier-sounding 40% number that they published in the summary, but the truth would have been far closer to "this confidence interval is so wide that we really can't conclude anything from this data". But that wouldn't be nearly as likely to get them grants, so they tortured the data in their summary so that it would look better.

rmunn··on Samsung is expected to more than double output of its HBM4 and HBM4E DRAM
But none of them had a government-mandated one-child policy (maximum, not minimum) for over three decades. That's a pretty major difference between China and neighboring countries.
rmunn··on A custom virtual machine for the Stars 4X game
It had so many strategic choices, giving it a depth that would surprise most modern gamers seeing it for the first time. Starting with the race design, where your choices can make or break your game. Choose wisely! Then there's ship design, which is a whole other layer of possibilities.

Plus, the fact that you can fly anywhere through space, not just through artificially-constrained wormholes, means that the strategy of attacking another player can involve a lot of subtlety and bluffing. Fly a medium-sized fleet into deep space, skirting the edge of his scanner range, while you fly a big fleet directly towards his key production worlds. Then on the turn when he is expecting you to reach his worlds and start bombing (and when you think he's going to send his ships to intercept yours), turn your big fleet around and fly it home. Meanwhile, fly your smaller, pre-positioned fleet in from the other side of his empire. His ships will be caught out of position as they'll follow their orders to chase your fleet, a lot farther than he thought they would in one turn, and they won't get back to the other side of his empire in time to prevent you doing a lot of damage. Then, when he's not paying attention to your big fleet, turn it around AGAIN and do even more damage.

There are ways to counter that, of course, but it's easy to catch people off-guard if they haven't noticed yet that you can send ships anywhere, not just between two planets.

What an excellent game that was. I'm so glad it's possible to play it again.

rmunn··on Why I didn’t sign the Fields medallists’ letter
"... but this margin is not large enough to contain it." Sound familiar?

Now, it's possible that Fermat thought he had a proof of his theorem, but that it would have turned out to be wrong. That happens sometimes. But he did not write it down on any document that has survived to this day, so we know that he had something that has been lost.

It's similar to history. We know that there are books, plays, etc. that used to exist, but that nobody knows today. Because other writings that have survived to this day quote from them. But beyond the quote, we don't know anything else about the play or the book or whatever.

Fermat's Last Theorem almost certainly isn't the only case of mathematical theories that we know were published somewhere but that we have no record of today. It's just the only one that I happen to know about, not being a mathematician myself. I'm sure there are some people on HN who know of others.

rmunn··on Telstra outage: The night a network decided the year was 2006
It's funny, but I had the same thing happen to me once. One day, overnight, my computer decided it was 2006.

It happened twenty years ago...

;-)

rmunn··on Anecdotally, programmers dislike "reduce"
The filter keeps the tea... it's just that you then lift the filter out of the cup, carrying the tea with it. Flip your brain around to see it from that direction and it might help you with the mnemonics.
rmunn··on The case against JPEG XL
I suspect the name alone will help drive adoption, especially from non-technical people. Heck, I'm reasonably technical myself (but not expert in image formats) and my first instinct on encountering AVIF was to say "AVIF? Does that stand for AVI File?" And I would have assumed that it's a video format, not an image format. Whereas JPEG XL would have everyone who has ever used a digital camera saying "Ah, it's got JPEG in the name, that means it's a photo format".

Never underestimate the power of a well-known brand name in communicating things to people who know nothing else about the subject. The name is a big part of why I suspect JPEG XL will take off in popularity. (The lossless conversion to and from classic JPEG format is the other main reason).

rmunn··on The case against JPEG XL
HDR is something many photography enthusiasts are interested in, and the ability to losslessly transcode from JPEG to JPEG XL (and back again if you have to) is actually IMHO the "killer app" for the format. Many people have years of irreplaceable family photos in JPEG format, and being told "you can fit 30% more photos on the same hard disk without any loss of quality" would certainly sell me on converting my photo library to JPEG XL. (The jpegxl.com site says "up to 60% smaller" so I'm going to guess that 30% is a safe average gain and it might be more).

And nearly everyone who takes photos of their family ends storage-constrained on cameras at some point. Memory cards only holding so much is less of an issue than it used to be, but in my experience the only people with laptops that have more than 1 TB of disk space are the computer professionals I know; every non-computer professional I personally know has 1 TB or less, usually 512 GB. That's room for plenty of photos, but not an infinite amount, and the photo collection (plus videos of baby's first steps and so on) is competing with a lot of other things for storage space. So being able to shrink the collection size by 30% or more with no artifacting added is definitely going to be worth it for one of the biggest selling points for cameras. (Including the cameras on smartphones).

I wouldn't say that JXL is absolutely vital and the industry should switch right now. But I would say that it's likely to be the only image format that has a chance to displace JPEG among the average camera user. Having JPEG in the name is also going to be a major selling point; don't underestimate that. (And the JPEG <-> JPEG XL conversion being lossless will complete the selling point).

Since (if I'm right) it's going to end up ubiquitous, then even if another format would be technically better, it would be wise for everyone writing software that handles images — browsers, OS file explorers, and so on — to make sure their software can support it. Just on general principles of supporting every widely-used format and every format that looks likely to be widely-used in the future.

← PreviousPage 3 of 26Next →