Recent submissions

Comment · 1 month ago
Great writeup on an important topic.

I like the NLnet/German Sovereign Tech fund model that has emerged in the last few years. Maintainers go and apply for funds from these disbursers. The disbursers are not a software registry, instead their role is to provide accountability and traceability for taxpayer money to fund public internet infrastructure. My experience working with NLnet has been very positive.

I agree with the fine article's criticism that most companies don't pay, but also I think that's not as pressing of problem so long as tax-based funding is in place.

Comment · 2 months ago
Comment · 5 months ago
This is the first time I've read an AI-heavy piece and stayed engaged with it all the way through. I think the author's sharing the prompts was key to that experience.
Comment · 5 months ago
Comment · 6 months ago
Thanks, I enjoyed that.
Comment · 9 months ago
Writing unit tests is futile exercise without a specification.

The software under test is always modeling something -- business logic, a communications protocol, a control algorithm, a standard, etc. Behind each of those things is a specification. If a specification doesn't exist then the software is called a prototype. For sustained long term incremental development a specification must exist.

The purpose of unit tests is to assert specification-defined invariants at the module interface level.

Unit tests are durable iff the specification they uphold is explicit and accessible to developers and the scope of the test is small. It's futile to write good tests for a module which has ambiguous utility.

priors: I worked in embedded SW and am now a PhD student.

Comment · 11 months ago
Comment · 1 year ago
I found the linked article to be difficult to follow. Vacliv Smil wrote a book called Energy and Civilization (2017) in which he argues that the ability to harness energy is what makes civilizations thrive and enables the production of culture.
Comment · 1 year ago
Thanks for sharing. As a non-google bazel user this is quite helpful.
Comment · 1 year ago
Start with the question: what is the problem that you want to solve? Next, find codebases that solve that problem and study how they do it.

Good design is so deeply tied to the domain details. Wonham's Internal Model Principle applies to code.

Example: I wanted to solve the problem of unit testing for embedded targets. I found open source projects that do this and read the code critically to see how and why it is written. As I build my own approach, I revisit theirs to learn more as my understanding of the domain deepens.

Comment · 1 year ago
Comment · 1 year ago
Mapping escape to caps-lock makes much more sense after looking at the ADM-3A keyboard layout. Cool write-up!

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton