HNHacker News
TopNewBestAskShowJobs

electroly

5,215 karma · joined September 23, 2014

he/him
submissionscomments
electroly··on Amazon EC2 M9g Instances
The latter is a 4-core machine with 8 HyperThreads. This doesn't actually matter to your price-performance metric but is worth mentioning because it's the reason why the Intel part performs so comparatively poorly. They're fast chips, they're just wildly uneconomical. If you wanted to compare equal core counts (c8i.4xlarge vs. c8g.2xlarge), then the Intel instance type wins on performance but the Graviton is 58% cheaper.
electroly··on 10 Years of Let's Encrypt
Both Let's Encrypt and 3-year certificates were introduced in 2015. We had 5+ year certificates before that. At the time you'd buy the longest certificate possible and forget about it--that's what I did. In 2013 I bought a 5-year certificate (self-service, no tickets) and didn't think about it again until 2018.
electroly··on Shrinking While Linking
This response answers too much--why did we invent and adopt tar for all other use cases, then? Why do we not still use ar for its original general archiving purpose in any other situation but this one? Obviously there is some reason! I'm curious what that reason is. You can make regular archives with ar today but we don't--"it still works" wasn't good enough reason for any other archive use case. What are the general archiving requirements that don't exist for object archives that meant ar is still fine for this one use case?
electroly··on At IT School with Apple Lisa
> in return for giving Xerox the _opportunity_ to invest in Apple, wow

You're being sarcastic but this would have been the most lucrative thing Xerox ever did in its entire corporate life, by far, if it had held onto the stock. This was a really good deal in hindsight. Indeed, it would have been better to liquidate Xerox and put all the proceeds into Apple stock; I don't think anybody argues that Xerox could have made as much hay as Apple did with the technology, even in the best of scenarios. It couldn't have known that at the time, of course.

electroly··on Japanese game devs face font dilemma as license increases from $380 to $20k
OP means it's the only one that renders at all. It could be wrong but the other two are just missing-glyph boxes which are definitely wrong. Those code points appear unusable as a practical matter.
electroly··on Comparing AWS Lambda ARM64 vs. x86_64 Performance Across Runtimes in Late 2025
I'm curious if you have any posted benchmarks about it. In my own experience at work, m8a demolishes m8g core-for-core. The ARM64 core is much slower. I wonder if you're comparing vCPU-for-vCPU against Intel families that use SMT: that's one ARM64 core against one Intel HyperThread. Make sure you're using AMD.

e.g. https://www.phoronix.com/review/aws-m8a-m8g-m8i-benchmarks -- m8a won virtually all of these comparisons by a wide margin. Raw performance isn't really Graviton's selling point; price-performance is.

electroly··on Shrinking While Linking
Having never done it myself, I don't know, but I do know that the "microtar" library I picked up off GitHub is buggy when expanding GNU Tar archives but perfect when expanding its own archives. Correctly creating one valid archive is a lot easier than reliably extracting all valid archives. The code appeared competent, I assume tar just has a bunch of historical baggage that you can get wrong or fail to implement.
electroly··on Shrinking While Linking
> Why do you find it surprising that the archive format from that time was used to archive a bunch of files?

It's surprising because we still use it today, not because it was used at the time.

electroly··on Decreasing Certificate Lifetimes to 45 Days
The "ACME Certificates" are free and unlimited. The 3 free "ZeroSSL Certificates" are old-fashioned manual certs: this is a strictly more generous offering than Let's Encrypt!

> If you have a server or other device that requires automatic issuance of certificates and supports the ACME protocol, you can use our free 90-day ACME certificates on all plans.

electroly··on How to run phones while being struck by suicide drones
For folks outside of warzones with plenty of time and access to international shipping (i.e. not OP), there are off-the-shelf adapters that accept DC input and produce the ATX voltage rails with the proper motherboard plug. Search for "DC-ATX" or "PicoPSU", they're pretty neat devices using DC-to-DC converters.
electroly··on Why xor eax, eax?
Sure, lots of longer instructions have this effect. "xor eax,eax" is interesting because it's short. That zero immediate in "mov eax,0" is bigger than the entire "xor eax,eax" instruction.
electroly··on Garry Tan says MCP "barely works" today
It's at https://github.com/brianluft/arcadia and the actual MCP server is at https://github.com/brianluft/arcadia/tree/main/server/src. If not suitable as-is, you can probably get Claude to repackage or tweak the code for your needs. The project has a .NET component for the SQL tool that isn't used at all for bash execution; only the Node.js server is needed for the bash tool.
electroly··on Garry Tan says MCP "barely works" today
Context7, I assume? I wanted to like context7 but I constantly need documentation that is either private or not in a format that context7 supports. Instead, I scrape the docs to Markdown, stick them into a "context" folder[1], and use Cursor's vector codebase indexing. This allows the agent to literally ask questions like "how do I do ABC with library XYZ?" and the vector database delivers a chunked answer from all available documentation. This is, IMO, much better than how context7 works: context7 just returns whole pages of documentation, polluting the context window with info that isn't relevant to what the agent wanted to know.

I have done this with entire textbooks. Find a PDF and get GPT-5 to transcribe it page by page to Markdown. Costs a couple bucks and turns the agent into a wizard on that subject.

Context7, too, could easily have been a command line tool that both you and the agent can use. Even now, I don't see what MCP--specifically--brings to the table.

[1] One trick for Cursor users: put "/context/" in .gitignore and "!/context/" in .cursorignore. This will keep it out of git but still index it.

electroly··on Garry Tan says MCP "barely works" today
I use MCP for two things only:

- My own "execute bash command" tool, adding output pagination, forcing the agent to choose a working directory, and working around some Cursor bugs on Windows. This avoids context explosion when a command unexpectedly returns a huge amount of text, and avoids a common agent failure mode where it misunderstands what directory it is currently in.

- SQL command execution. This can be done perfectly fine with "execute bash command" but the agent struggles to correctly encode multi-line SQL queries on the command line. You can force it to write a file, but then that's two MCP tool calls (write file, execute command) which increases the chances that it goofs it up. I simply accept an unencoded, multi-line SQL query directly via the MCP tool and encode it myself. This, again, is simply avoiding a common failure mode in the built-in tools.

I haven't needed a third tool, and if the built-in tools were better I wouldn't have needed these two, either. Everything else I've ever needed has been a bash script that both the agent and I can run, explained in the agent's global rules. It's really unclear to me what other use case I might encounter that would be better as MCP.

In theory I can see that an MCP server only launches once and is persistent across many requests, whereas bash scripts are one-and-done. Perhaps some use case requires a lot of up-front loading that would need to be redone for every tool call if it were a bash script. Or perhaps there are complex interactions across multiple tool calls where state must be kept in memory and writing to disk is not an option. But I have not yet encountered anything like this.

electroly··on WebR – R in the Browser
This project is brand new to me but I have a use case I'm immediately considering, when combined with the "shiny" dashboard library as seen here: https://shinylive.io/r/examples/

At work we have analysts who sometimes produce web-based dashboards for the business to consume. When we had Python folks, they used Plotly Dash and we had to host a server for them. It's a bit silly--the dashboard just accesses APIs and static data, crunches a bit, and renders some HTML. There's no inherent need for it to require its own server. There is "WebDash" [1] but I have not gotten it to work and it says it's alpha quality.

Now that we're getting into R, I don't have any path to production for dashboards. I want to avoid getting into another Plotly Dash situation where every analyst with a one-time idea ends up creating long-term IT burden. Enter WebR: now we only need to serve static files. That's a lot easier; I can serve essentially an unlimited number of dashboards from existing infra this way. Our client machines are beefy with tons of headroom and our EC2 instances are as small as possible, so shifting work from the server to the client makes sense here. I'm gonna try it and see if I've missed something.

[1] https://github.com/ibdafna/webdash

electroly··on Hardening the C++ Standard Library at scale
Sadly I have lots of code that exclusively uses the dereference operator because there are older versions of macOS that shipped without support for .value(); the dereference operator was the only way to do it! To this day, if you target macOS 10.13, clang will error on use of .value(). Lots of this code is still out there because they either continue to support older macOS, or because the code hasn't been touched since.
electroly··on Someone at YouTube Needs Glasses: The Prophecy Has Been Fulfilled
It was in place for a couple of days, tops, before they reverted it. The backlash was immense and immediate. And with good reason: in addition to the obvious reasons why it sucked, the YouTube screensavers just looked terrible. I couldn't believe how bad they were.
electroly··on KDE Plasma 6.8 Will Go Wayland-Exclusive in Dropping X11 Session Support
You might be out of luck. I don't think it's possible to set the scaling lower than 100%. DPI scaling is primarily concerned with high-DPI.
electroly··on KDE Plasma 6.8 Will Go Wayland-Exclusive in Dropping X11 Session Support
The formula is DPI ÷ 96. 100% is 96 dpi, 125% is 120 dpi.
electroly··on Show HN: A subtly obvious e-paper room air monitor
I found that the e-ink display on my Aranet4 is, by itself, so distracting on screen updates that I had to move it out of my field of view. It's a full-screen flash. Before buying it, I thought e-ink was a good choice for these types of devices, but now I wish they had gone with a cheap segmented LCD. I wonder if you could actually use this to your advantage here, since you want it to be distracting, and you are in control of the refresh.
electroly··on Giving C a superpower: custom header file (safe_c.h)
(Not OP) The C++ ABI on Windows isn't compatible between g++ and MSVC, even though the C ABI is. Libraries using C linkage should work fine. MinGW-built programs link against the Microsoft C runtime (MSVCRT.DLL by default) which is itself MSVC-built, so linking MinGW programs to MSVC libraries has to work for anything to work.
electroly··on Giving C a superpower: custom header file (safe_c.h)
MSVC is a C++ compiler toolchain and it does not contain any JavaScript. You're thinking of VSCode, probably, but your comment was an off-topic rant either way.
electroly··on Magit manuals are available online again
Watch out for NAT Gateway, too. An extra $0.045/GB in both directions.
electroly··on Magit manuals are available online again
There are two widely understood downsides of AWS:

1. High egress costs

2. No hard spending limits

Both of these were problems for the author. I don't mean to "blame the victim" but the choice of AWS here had a predictable outcome. Static documentation is the easiest content to host and AWS is the most expensive way to host it.

electroly··on Why do we need dithering?
A very simple black-to-white gradient can only be, at most, 256 pixels wide before it starts banding on the majority of computers that use SDR displays. HDR only gives you a couple extra bits where each bit doubles how wide the gradient can be before it starts running out of unique color values. If the two color endpoints of the gradient are closer together, you get banding sooner. Dithering completely solves gradient banding.
electroly··on Zed is our office
Pair programming usually has a single "driver" on the keyboard to keep things controllable. Here, everybody is driving: "dozens of cursors are concurrently editing the same file in real-time."
electroly··on .NET 10
Easy to avoid depending on the area; I'd urge you not to be discouraged by the presence of commercial libraries. They aren't as vital as it may seem from the outside. I've been a full-time C# developer since the first open beta and I have only one (1) instance where I used a commercial library. That was 2002 and if we were doing it today, we wouldn't have needed that commercial library. I have never used a commercial C# library other than that one time. We have a tremendous supply of open source libraries in NuGet, just like every other language, and much more functionality built into the standard library than most languages have. We just also have commercial UI libraries and such. That commercial library we used was a docking/tabbing UI library; you can get that from open source packages now (and my later projects do).
electroly··on The R47: A new physical RPN calculator
On a basic four-function calculator, you can do "2 + 2 x 2 =" to get 8 without the extra = in the middle. RPN really shines when you use the stack for real. "(2 + 3) x (4 + 5)" is "2 3 + 4 5 + x" in RPN, but on a four-function this requires the stateful memory buttons and gets out of control fast. You may need to spill out to pen-and-paper with a four-function calculator, but you never need that with RPN. I'm less certain that the comparison works out in RPN's favor if you have a calculator with parentheses--where are you getting the complex expression that you're entering? If it's on paper, then it's already in infix notation and you had to mentally convert it to RPN inside-out. Entering the infix notation may be more keystrokes but likely less mental effort because it's more of a direct transcription. I taught a sibling how to use an HP-12C and I don't think they're ever gaining that time back in efficiency.
electroly··on Myna: Monospace typeface designed for symbol-heavy programming languages
Thank you for the detail that Iosevka is a form of the name "Joseph." I've used this font for years and it never clicked for me--nor did the correct pronunciation, which it turns out was always listed on the readme.
electroly··on A startup’s quest to store electricity in the ocean
It's like saying gas at the pump costs you $3/gallon but building a storage facility costs $100/gallon. Yes, they're both $/gallon, but these aren't the same measurements--one is for a gallon of dispensed gasoline and one is for constructing storage with the physical capacity of a gallon. One is the price of gas and the other is the price of storage. You can store and then dispense many, many gallons over the lifetime of that one-gallon storage.
← PreviousPage 5 of 34Next →