HNHacker News
TopNewBestAskShowJobs

dboon

717 karma · joined April 14, 2018

http://spader.zone

please contact me if you'd like! domain above, and my handle is spader. does this kind of you-know-what obfuscation even work anymore? ah, well. send me something.

submissionscomments
dboon··on sp.h: Fixing C by giving it a high quality, ultra portable standard library
The point of the library is that you do not call the low level allocation primitive to allocate a single string. Of course, in simple programs which exit immediately, there is no difference between using a page allocator and a heap allocator. In real programs, I use an appropriate allocator for the allocation rather than making arbitrary calls to malloc(). In the sp.h examples, I use the page allocator to keep freestanding Linux simple. I could swap out a single line to be backed by an arena, but it misses the forest for the trees.

sp_log() writes directly to an IO writer. An IO writer can be buffered or unbuffered, but is unbuffered by default. This is a feature, not a bug. Have a look through the IO code!

Cheers and thanks for reading.

dboon··on sp.h: Fixing C by giving it a high quality, ultra portable standard library
I don't support non-macOS BSDs explicitly yet. Not for any reason of design, just hasn't been a priority.
dboon··on sp.h: Fixing C by giving it a high quality, ultra portable standard library
Thanks for reading. "There is no heap" is meant to say that your mental model of memory shouldn't be one heap from which all memory is pulled. It should be many heaps, owned by many different allocators and providing different semantics. Hence the opinionated stance of the library; there is no allocation function that does not force you to specify the specific heap you want to allocate from. I'm sorry if I didn't explain that well.

As far as the syscall thing, it's actually quite interesting. NT is also extremely stable. Likewise for the stock Darwin syscalls on macOS. In practice, though, Windows loads kernel32.dll automatically, so there's no drawback in using it when appropriate. I still call directly into NT sometimes (mostly to skip complex userspace path translations that aren't useful). On macOS, you are likewise forced to link to libc (libSystem.dylib), and so I usually just end up using the syscall-wrapper libc functions there.

dboon··on sp.h: Fixing C by giving it a high quality, ultra portable standard library
There are very few C libraries which compile, stock, against the matrix of toolchains, ABIs, and operating systems that this library does. For the subset of machines which run, I don't know, 99.9% of all instructions (i.e. x86_64 + aarch64, Linux + Darwin + Windows), the library just works. This is a definition of portability. Why would portability be a binary of supporting every possible system or being hard tied to a single one?
dboon··on sp.h: Fixing C by giving it a high quality, ultra portable standard library
I had half of a manifesto about how C programmers should be embarrassed on account of Zig but I ended up paring it down to be more focused on what the library is plainly.

Zig is obviously incredible and this library would not exist without it being the standard bearer for systems programming in many ways

dboon··on Show HN: TC, A minimalistic systems language with 10 keywords (plus types)
Can you write more about the technical side? How does the transpilation work? Is it mostly naive / 1:1 or do you do any transforms on an AST? What will the language be good for when it's reasonably complete? What are you intentionally skipping?

Or, to put it another way, the description: "Tight-C is a minimal systems programming language that transpiles to C. 10 keywords, no garbage collector, no inference, no OOP — just explicit, predictable code with C-level power."

Tells me a lot about what it's not but not much about what it is.

Just to be clear, this isn't really criticism. I've had similar ideas, so I think the proposition is basically good. I just think that anyone who would use such a language would want to know its technical core. Also, another piece of unsolicited advice, you should think of a nontrivial use that no existing language can do and do it. For example, if you had a small example with a game loop that links to libtc, watches for changes to source code, and recompiles + fills in a table of function pointers for in-process hot reloading, that would be sweet and would make me seriously consider the language.

Finally, you may be interested in my C standard library replacement (https://github.com/tspader/sp). Your language would benefit from being extremely portable, using sp.h as your base gives you that by default.

dboon··on Robinhooding libraries from JavaScript to C, part 1: Interactive CLIs
I hope this means you liked it rather than hated it
dboon··on OpenCode – The open source AI coding agent
There's a desktop app which uses Tauri. Unrelated to the TUI.
dboon··on Workers who love ‘synergizing paradigms’ might be bad at their jobs
Ah god damn it, I'm Michael Scott...
dboon··on Plasma Bigscreen – 10-foot interface for KDE plasma
Yes! KDE is the only thing in the Linux world that legitimately looks better than the big competitors. Not always, and not all the time; programs that are really focused on design are still a cut above, but I truly believe that KDE looks (and feels!) better than macOS

I don't understand why there aren't more folks like us shouting it from the rooftops. It's almost bizarre how good it looks.

dboon··on Show HN: A simple CLI to stop copying repos for LLM reference
If you don't understand how the original comment and doubly so this comment are rude, then there's nothing I can do for you. Godspeed and best of luck with being angry on the internet.
dboon··on Show HN: A simple CLI to stop copying repos for LLM reference
This is rude. Don't talk to people like this. It's a self proclaimed simple tool to solve a simple, recurrent problem in my life. It also gives you a config file that lets you clone and link on any machine, pulls on sync, and puts the links in a consistent place. Nothing about it is complex or hard. But it's useful, and it's free.

Being dismissive like this doesn't make you look cool, it just makes you look like a dick.

dboon··on I love the work of the ArchWiki maintainers
Arch + KDE is pretty sweet. It looks gorgeous out of the box, and gives you a system that mostly just works but is still everything you love about Arch
dboon··on My eighth year as a bootstrapped founder
Amen.
dboon··on The Singularity will occur on a Tuesday
You’d be shocked at the amount of traction pure unabated slop gets here. HN is more winnowing chaff from wheat than anything else
dboon··on The Singularity will occur on a Tuesday
Type the word porn. Self censorship is wrong.
dboon··on Vouch
You can't get perfection. The constraints / stakes are softer with what Mitchell is trying to solve i.e. it's not a big deal if one slips through. That being said, it's not hard to denounce the tree of folks rooted at the original bad actor.
dboon··on Vouch
Oops! Usually, I just post good stuff I find and the dupe detector catches it and does the thing where it redirects you to the existing post. Apologies!
dboon··on GPT-5.3-Codex
…what? It is quite literally the opposite. This isn’t a matter of taste or perception.
dboon··on Y Combinator will let founders receive funds in stablecoins
I like your writing. Do you have a blog or publish anywhere else?
dboon··on Claude Code's renderer is more complex than a game engine
Ah, I understand. Yeah, it read to me as a "good thing" in the sense of "look, it's slow, but it has to be slow". That the complexity was inherent and therefore in some sense good.
dboon··on Claude Code's renderer is more complex than a game engine
It’s not a good thing, because it’s not a thing. The title is a sarcastic reference to the fact that it uses an order of magnitude more instructions per frame than SM64 did
dboon··on Claude Code is suddenly everywhere inside Microsoft
Codex is not a good harness, but GPT-5.2 and related flavors produce, in my experience, better code than Opus 4.5, and by a surprising margin.
dboon··on ASCII characters are not pixels: a deep dive into ASCII rendering
Fantastic article! I wrote an ASCII renderer to show a 3D Claude for my Claude Wrapped[^1], and instead of supersampling I just decided to raymarch the whole thing. SDFs give you a smoother result than even super sampling, but of course your scene has to be represented with distance functions and combinations thereof whereas your method is generally applicable.

Taking into account the shape of different ASCII characters is brilliant, though!

[1]: https://spader.zone/wrapped/

dboon··on Ask HN: What is the best way to provide continuous context to models?
I'm not OP, but send me an email. My address is in my HN profile. You and I are building the same thing, and I would love to have a chat.
dboon··on Ask HN: Share your personal website
https://spader.zone/
dboon··on Show HN: Ferrite – Markdown editor in Rust with native Mermaid diagram rendering
I use Obsidian a lot, but very few extra features or plugins. My first impression is that I don’t get what you’re making from the website. Any tool worth using in this space (which I vaguely understand to be using large collections of Markdown and/or realtime multiediting) is fast. Obsidian is fast. Zed is fast. It’s table stakes for the kind of person who would use this already.

Is it just Zed + Obsidian? A good knowledge base that scales well and uses plain markdown, but has the fancy multi edit stuff?

dboon··on How to code Claude Code in 200 lines of code
I’m a DIY (or, less generously and not altogether inaccurately, NIH) type who thinks he could do a good job of smarter context management. But, I have no particular reason to know better than anyone else. Tell me more. What have you seen? What kinds of approaches? Who’s working on it?
dboon··on Anthropic blocks third-party use of Claude Code subscriptions
No, it doesn’t.
dboon··on Anthropic blocks third-party use of Claude Code subscriptions
For anyone coming looking for a solution; I peeked around the OC repository, and a few PRs got merged in. Add this to $HOME/.config/opencode/opencode.json: plugin = ["opencode-anthropic-auth"]

That is, if that's not pulled in to latest OC by the time I post this. Not sure what the release cycle is for builtin plugins like that, but by force specifying it it definitely pulls master which has a fix.

https://opencode.ai/docs/plugins/

← PreviousPage 2 of 6Next →