Recent submissions

Comment · 1 day ago
I recall the C++ "fragile base class" problem already starting to rear its ugly head by the end. Existing base classes couldn't be reasonably extended without breaking compatibility with existing applications, and the BeOS API was routinely designed in a way that promoted subclassing. e.g. to implement a window, you'd subclass BWindow and fill it with your own subclasses of BView. It's difficult to see how they would have dug themselves out of this hole in the long term. Perhaps eventually they would have needed to ship multiple versions of their system libraries corresponding to each ABI breakage.
Comment · 1 day ago
Haiku made them magnetic. In classic BeOS you had to manually position the windows on top of each other, then hold shift and manually drag the tab over from the left. And they wouldn't be tethered together: moving one window wouldn't move the other. It was annoying enough that I never bothered. By the end of BeOS's life I was mostly using the Mac OS 8 titlebar style (accessed by holding down all the modifier keys and pressing the Be menu).
Comment · 1 month ago
You can also simply type `/model claude-opus-4-8` and it'll work. The interactive picker is not the full set of models accessible through the /model command.
Comment · 2 months ago
I haven't tried this new app, but Windows Task Manager has always had the ability to pause. Hold down Ctrl and it'll pause updates. You can also set the update frequency to Paused.
Comment · 2 months ago
> they charge self-hosted runners for using their coordination plane

They don't. Self-hosted runners are still free. They backed down from their plan to charge after receiving widespread backlash.

Comment · 4 months ago
I run Claude Desktop inside a Hyper-V VM. My VM doesn't have the "Virtual Machine Platform" feature installed at all. The app accepts this and simply disables the Cowork tab. I wonder if there's some other way to block the creation of the VM to force Claude Desktop onto this code path without having to uninstall Hyper-V.

That said, Claude (both Desktop and CLI) ships on Windows without any sandboxing support for Code. They only have sandboxing for Linux and macOS. If you need to run it on Windows, I really recommend running it in an isolated VM, which then allows you to omit the "Virtual Machine Platform" feature in the VM and solves this issue. The "Windows Sandbox" OS feature provides such a VM without needing another Windows license.

Comment · 5 months ago
UTF-16 is the internal format of the ICU library (International Components for Unicode, the support library from the Unicode standards people) which is a common way to add "full fat" Unicode support to a programming language. This has knock-on effects everywhere. If you're using ICU, you either use UTF-16, too, or you constantly convert back and forth every time you interact with ICU. You're often best off using UTF-16 in memory and only converting to UTF-8 when you write files or transmit over the network.
Comment · 5 months ago
> Amazon was AWS first customer

It wasn't. The retail business took years to move to AWS. They could not even be described as early adopters of AWS.

Comment · 5 months ago
Microsoft wrote their own replacement and it's better-integrated into Office than the old editor was. Search for "insert equation" in the Office search box. The new one supports both the old editor's style of input and actual LaTeX inputs. Heed the dates on articles talking about it: TFA is from 2018 before they wrote the new editor.
Comment · 5 months ago
30 years ago, in C89 and pre-standard C++, it was the case that `int foo()` in C is a function that accepts any parameters, and in C++ it is a function with no parameters. In C89 you have to write `int foo(void)` if you want no parameters. This counterexample to C++ being a superset of C was well-known even back then.

Another well-known counterexample is implicit conversion from void*. In C89 you can do `int* foo = malloc(100);` but in C++ it requires an explicit cast from void* to int*.

I don't believe there was ever a time, even pre-standardization, when C++ was a strict superset of C; it always had little incompatibilities here and there.

Comment · 5 months ago
> I had forgotten than you can build a perfectly legal enum from an integer out of the bounds of the enum's range. And a switch statement is non-exhaustive

These are solved by the new feature described in the article that we're commenting on right now. They're giving us unions and exhaustive switch. Ctrl+F "canonical way to work with unions" in the article to see an example. One of the best parts about C# is they never stop bringing useful features from other languages back home to us in C#. It makes for a large language with a lot of features, but if we really want something, we'll eventually get it in C#.

Comment · 5 months ago
Comment · 5 months ago
The submit button in the post box says "add comment" vs. "reply" depending on what kind of message you're posting, and the link under comments says "reply" while articles don't have that link. I called it the "top-level descriptive comment on their Show HN post" because I agree just "comment" vs. "reply" alone could be confusing. What's a better way to describe the comment that an author posts with their Show HN to begin the discussion vs. replies that are made in response to specific comments? I genuinely don't know how many more terms I could have loaded onto that phrase to make it clear which post I was talking about. That wasn't supposed to be a confusing part of my post.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton