HNHacker News
TopNewBestAskShowJobs

butterisgood

640 karma · joined April 21, 2017

submissionscomments
butterisgood··on Don't rent the cloud, own instead
I think this is how IBM is making tons of money on mainframes. A lot of what people are doing with cloud can be done on premises with the right levels of virtualization.

https://intellectia.ai/news/stock/ibm-mainframe-business-ach...

60% YoY growth is pretty excellent for an "outdated" technology.

butterisgood··on TI-99/4A: Leaning more on the firmware
I still see "INCORRECT STATEMENT" in my dreams.
butterisgood··on TI-99/4A: Leaning more on the firmware
Uh... brother?!

Just kidding... That sounds like my journey as well. I had friends in the neighborhood who also had the TI-99/4a. We all had Cub Scouts and Boy's Life magazine listings to key in.

Did you have the data cassette recorder? We used to try to "load programs" from Michael Jackson's Thriller album.

butterisgood··on Apple Creator Studio
Hopefully staying as such. I like Numbers, but I suspect I could totally replace my use of it with Emacs org-mode.
butterisgood··on Apple Creator Studio
I thought Keynote, Pages, and Numbers were complimentary. Or part of an iCloud subscription or something. Is that changing?
butterisgood··on Scott Adams has died
I understand the downvoting, but recent events of the last year in the United States have reminded me that if you want people to mourn you after you're gone — not acting certain ways is a good way to get there.

I cannot recall the cartoon, but there was a revelation of "why a character was such a bad actor" (a jerk). And the reply was ironically one of care — "I don't want anyone to miss me after I'm gone".

As if to relieve the pain of loss they wanted others to feel relief.

I wish I could recall the cartoon and the author.

butterisgood··on Scott Adams has died
Or not.
butterisgood··on Fixing a Buffer Overflow in Unix v4 Like It's 1973
I think ed is still a great editor for specific tasks. As a plan 9/9front user, when you get yourself into trouble, it's sometimes the only editor you've got left (like when graphics doesn't initialize, which I've not seen on 9front — ever?)

It's really not bad, and you can use it for scripting like sed, but it's clunkier.

butterisgood··on What happened to WebAssembly
Was that not basically in the same vein as Google's NaCL? Was that not largely abandoned due to the success of WASM.

lol?

butterisgood··on “Stop Designing Languages. Write Libraries Instead” (2016)
I think this thinking makes sense if you've not used enough programming languages pragmatically.

But, if you squint, great API design is a bit like embedded domain specific language design as well.

I think there's room for both.

butterisgood··on AWS CEO says replacing junior devs with AI is 'one of the dumbest ideas'
correct.
butterisgood··on Show HN: TheAuditor v2.0 – A “Flight Computer” for AI Coding Agents
Looks neat. Can't use it due to the license.
butterisgood··on Zig's New Async I/O
I start to want a Reader Monad stack for all the stuff I need to thread through all functions.
butterisgood··on In Defense of C++
I completely forgot about that!
butterisgood··on In Defense of C++
I was not trying to be exhaustive.

And I think you're downplaying many of the ones I mentioned, but I think this level of "importance" is subjective to the task at hand and one's level of frustrations.

butterisgood··on In Defense of C++
Perl was one for me that I always had a little trouble reading again later.

I guess forth as well... hmmm

butterisgood··on In Defense of C++
I kind of like that OCaml, which I've also not used a great deal, has different operators for adding floats vs integers etc...

Extremely clear at the "call site" what's going on.

butterisgood··on In Defense of C++
I really don't like Object Oriented programming anywhere. Maybe Smalltalk had it right, but I've not messed with Pharo or anything else enough to get a feel for it.

CLOS seems pretty good, but then again I'm a bit inexperienced. Bring back Dylan!

butterisgood··on In Defense of C++
Overloaded operators were a terrible mistake in every programming language I've encountered them in. (Yes, sorry Haskell, you too!)

I don't think move semantics are really that bad personally, and some languages move by default (isn't that Rust's whole thing?).

What I don't like is the implicit ambiguous nature of "What does this line of code mean out of context" in C++. Good luck!

I have hope for C++front/Cpp2. https://github.com/hsutter/cppfront

(oh and I think you can write a whole book on the different ways to initialize variables in C++).

The result is you might be able to use C++ to write something new, and stick to a style that's readable... to you! But it might not make everyone else who "knows C++" instantly able to work on your code.

butterisgood··on In Defense of C++
A pet peeve of mine is when people claim C++ is a superset of C. It really isn't. There's a lot of little nuanced differences that can bite you.

Ignore the fact that having more keywords in C++ precludes the legality of some C code being C++. (`int class;`)

void * implicit casting in C just works, but in C++ it must be an explicit cast (which is kind of funny considering all the confusing implicit behavior in C++).

C++20 does have C11's designated initialization now, which helps in some cases, but that was a pain for a long time.

enums and conversion between integers is very strict in C++.

`char * message = "Hello"` is valid C but not C++ (since you cannot mutate the pointed to string, it must be `const` in C++)

C99 introduced variadic macros that didn't become standard C++ until 2011.

C doesn't allow for empty structs. You can do it in C++, but sizeof(EmptyStruct) is 1. And if C lets you get away with it in some compilers, I'll bet it's 0.

Anyway, all of these things and likely more can ruin your party if you think you're going to compile C code with a C++ compiler.

Also don't forget if you want code to be C callable in C++ you have to use `extern "C"` wrappers.

butterisgood··on Show HN: C++ Compiler Support Page
This is really nice! I have not been keeping up with the features as I used to. "delete with a reason" strikes me as a really good idea.
butterisgood··on Claude now has access to a server-side container environment
It does this in emacs with efrit. https://github.com/steveyegge/efrit

It can actually drive emacs itself, creating buffers, being told not to edit the buffers and simply respond in the chat etc.

I actually _like_ working with efrit vs other LLM integrations in editors.

In fact I kind of need to have my anthropic console up to watch my usage... whoops!

butterisgood··on Lisp from Nothing, Second Edition
I love that your lisp implementations are so portable. I believe one is available for Plan 9.
butterisgood··on Io_uring, kTLS and Rust for zero syscall HTTPS server
https://github.com/rminnich/9front/tree/ron_nix

Has Ron Minnich's port of "Nix" (not NixOS as you may know it), to 9front.

The entire point of this is to disallow the kernel pre-empting and switching out CPU cores that should be dedicated to an "application". (Application Cores).

One could imagine this arrangement plus io_uring would be awfully nice.

butterisgood··on Io_uring, kTLS and Rust for zero syscall HTTPS server
But, your CPU availability is time sliced... So, why is not "more than one thread per core" equivalent to "more CPU" (my point is, sometimes it is...)
butterisgood··on AWS CEO says using AI to replace junior staff is 'Dumbest thing I've ever heard'
Agree. AI is, so far, almost as good as StackOverflow, except it lies confidently and generates questionable code.
butterisgood··on Io_uring, kTLS and Rust for zero syscall HTTPS server
I just wish people who give this advice for 1 thread per core would "expand their reasoning" or "show the work".

It's not blanket good advice for all things.

butterisgood··on Io_uring, kTLS and Rust for zero syscall HTTPS server
Where do people get the idea that one thread per core is correct on a system that deals with time slices?

In my experience “oversubscribing” threads to cores (more threads than cores) provides a wall-clock time benefit.

I think one thread per core would work better without preemptive scheduling.

But then we aren’t talking about Unix.

butterisgood··on Debian GNU/Hurd 2025 released
I've worked a fair amount with LLMs from a code generation perspective, and to be honest, I find them often to be better at reading and explaining code to a human than generating good code.

It's an interesting idea to think that LLMs could be used to not only explain the code but test the potentially tricky corner cases.

I'm pretty sure LLMs are here to stay, and we're just going to have to learn the best ways to work with them.

butterisgood··on Debian GNU/Hurd 2025 released
I recall either Linus or a major Linux contributor (Alan Cox?) saying that if he had had a math coprocessor, he would have likely just ran BSD.

I don't think even 386BSD existed when Linus started Linux.

← PreviousPage 2 of 14Next →