HNHacker News
TopNewBestAskShowJobs

stevefolta

148 karma · joined June 28, 2015

submissionscomments
stevefolta··on Copper – A minimal low-level programming language with OOP and generics
Looks nice and small. Too bad it doesn't quite actually build (on Linux). Also, no string interpolation (AFAIC) and no kebab-case.

Here's my current stab at a small compiled language: <https://codeberg.org/stevefolta/lx-2025>.

stevefolta··on Copper – A minimal low-level programming language with OOP and generics
Re "c)": No, self-hosting is the biggest temptation, and the worst mistake, for any programming language. It's death to bootstrapping. However, if you do succumb to the temptation to self-host, having a C backend, as Copper does, is probably the best way to handle it.
stevefolta··on Anthropeum
Someone turned me on to this recently, but mainly it ended up getting me back into Timeguessr. (I'm much better at Timeguessr.)
stevefolta··on Prefer duplication over the wrong abstraction (2016)
"If you have a procedure with ten parameters, you probably missed some." -- Alan Perlis
stevefolta··on QBE – Compiler Back End
Looks like a new 1.3 release is coming very soon.

I love QBE, but it does have its limitations: - It handles the ABIs for passing and returning structures in registers, but only with superfluous copies to and from the stack. - Can't generate debug info for data. This is probably due to lack of assembler support and/or complexity in the DWARF format. - The line number debug info directives are currently undocumented and don't support inlined functions.

But it's smol, effective, and it doesn't make you deal with phi nodes!

stevefolta··on Mere: A New Package Manager
There's also my own "KX" (<https://codeberg.org/stevefolta/kx>), a very similar project. Mere looks like it wants to be more serious in the long term.
stevefolta··on Zen-C: Write like a high-level language, run like C
Oh, it _does_ have string interpolation, my bad. Sadly, not by default -- you still have to go back and add an "f" before the string once you've started typing it and then realize that you want an interpolated string. Also, it doesn't always work -- if I define two interpolated string variables in one function, GCC chokes in a way I'm not understanding. And every interpolated string variable consumes 4K of global memory.
stevefolta··on Zen-C: Write like a high-level language, run like C
Nice! Compiles in 2s on my unexceptional hardware. But it lacks my other main desiderata in a new language: string interpolation and kebab-case.
stevefolta··on Igniting the GPU: From Kernel Plumbing to 3D Rendering on RISC-V
Hooray! Personally, I'm hoping this'll lead to support for the GPU on Spacemit SoCs.
stevefolta··on -tucky (2023)
I’ve often heard “Fontucky” for Fontana CA.
stevefolta··on Things you can do with diodes
In synthesizers, diodes are used in oscillators to shape triangle waves into sine waves.
stevefolta··on Florian Schneider Collection: Instruments and equipment up for auction
Hainbach's video on the collection: <https://www.youtube.com/watch?v=WxYGxpXBEos&t=2024s>
stevefolta··on StageConnect: Behringer protocol is open source
This video says latency is two samples: <https://www.youtube.com/watch?v=TzEoYlaj9u8&t=110s>.
stevefolta··on The Unix Executable as a Smalltalk Method [pdf]
Once you cut through all the verbiage, this is just a re-invention of Woosh (https://woosh.sourceforge.net/).
stevefolta··on GitHub pull requests were down
But if that's what they want, they may be driving out the exact wrong subset of their devs.
stevefolta··on Dwl: Dwm for Wayland
Another interesting one is Scroll, a scrolling-tiling fork of Sway: https://github.com/dawsers/scroll/
stevefolta··on They don't make 'em like that any more: Sony DTC-700 audio DAT player/recorder
I still have one of these that I bought back in its heyday, but it doesn't work. I suspect it just needs new belts.
stevefolta··on Retrobootstrapping Rust for some reason
No it can't. Not for RISC-V/musl, so I'm sure that must be true for other platforms too.
stevefolta··on Learning C3
The downside of QBE is that it doesn't have a way to generate debug symbols. But I still love and use it.
stevefolta··on The Future Is Niri
Oh, perfect, thanks! I've been using Niri for less than a week, hadn't got to using named workspaces yet, and missed the bit in the docs where it says they can be empty.
stevefolta··on The Future Is Niri
The one caveat -- and it's a big one -- is that Niri numbers workspaces dynamically, and won't let you have an empty workspace (except temporarily).
stevefolta··on Modern Baby: A pioneering computer from Manchester
> In the ENIAC the form of the [sic] that [program] storage (decimal) was quite different to that of the data that ENIAC operated on (binary).

Huh? ENIAC was a decimal machine all the way through.

stevefolta··on Carbon is not a programming language (sort of)
Depends on your definition of "a good name". It seems like yours includes "must be a short English word", but doesn't include things like "is easily web-searchable" and "doesn't conflict with existing names". Throwing out the "short English word" criterion opens up a universe of names like "Wubulus" or "Flarnit".
stevefolta··on BSD kqueue is a mountain of technical debt (2021)
> ...nobody really should be using either of them.

What's wrong with poll(), at least for smaller values of nfds? And what should one use instead when writing POSIX-compatible portable code, where epoll() and kqueue() don't exist?

stevefolta··on LwIP – Lightweight IP Stack
What is nongnu.org, and what is its relationship to gnu.org?
stevefolta··on Writing a C Compiler: Build a Real Programming Language from Scratch
Yeah, Rust is the language for people who think C++ is not complex (or hostile) _enough_.
stevefolta··on A Linux kernel syscall implementation tracker
Yeah, it seems odd that it has PowerPC but not RISC-V.
stevefolta··on 23words.com
Not true, the JS _does_ get a chance to prevent the search behavior. It's not a problem with other games.
stevefolta··on 23words.com
Too bad the keyboard doesn't work (Firefox with "Search for text when you start typing" on). They didn't do the "event.preventDefault(); event.stopPropagation();" dance.
stevefolta··on Remnants of a legendary typeface have been rescued from the Thames
I tried looking at code in Mebinac, and was surprised at how strongly it reminded me of old screenshots of Smalltalk.
Page 1 of 3Next →