Gavin Howard
gavinhoward.com · Personal blog · on HN since 2019
Gavin Howard writes about programming, Rust and Zig, open-source funding, and his personal views, including religion and politics.
What HN saysHN commenters link his technical posts on his development setup and Rust, but one criticizes his politics and his post about being banned from lobste.rs.
43HN people shared it
25linked it in comments
70stories submitted
1.1Kstory points
5 months agolast shared
2019people per year2026
Most-shared posts
- 1A New Architecture for a GUI Framework5 people · 14 points · first shared 2024 · 7 comments on HN
- 2What Rust Got Wrong on Formal Verification5 people · 12 points · first shared 2024 · discussion on HN
- 3I Believe Zig Has Function Colors4 people · 142 points · first shared 2022 · 158 comments on HN
- 4“Static Linking Considered Harmful” Considered Harmful3 people · 118 points · first shared 2021 · 169 comments on HN
- 5How to Fund FOSS, Save It from the CRA, and Improve Cybersecurity3 people · 25 points · first shared 2023 · 11 comments on HN
- 6Rust, Zig, and the Futility of “Replacing” C3 people · 24 points · first shared 2021 · 122 comments on HN
- 7Lobste.rs Will Become an Echo Chamber3 people · 11 points · first shared 2022 · 11 comments on HN
- 8Rust Is Dead to Me3 people · 6 points · first shared 2023 · discussion on HN
- 9I Have Blocked OpenAI3 people · 4 points · first shared 2023 · discussion on HN
- 10My Code Conquered Another OS3 people · 2 points · first shared 2023 · discussion on HN
- 11Why I Use C When I Believe in Memory Safety3 people · 2 points · first shared 2023 · discussion on HN
- 12The Scourge of 00UB3 people · 2 points · first shared 2023 · discussion on HN
- 13Structured Concurrency Definition3 people · 1 points · first shared 2021 · discussion on HN
- 14Is It Even Worth Working on FOSS Anymore?2 people · 163 points · first shared 2021 · 277 comments on HN
- 15Replacing CVE2 people · 62 points · first shared 2025 · 61 comments on HN
What HN people wrote when they linked it
gavinhoward · 2023-01-07
https://gavinhoward.com/
I write about anything that interests me, from tech to religion.
If you only want to subscribe to tech posts, there should be RSS feeds for specific categories and tags. Let me know if they don't work.
flangola7 · 2023-07-26
It gets worse. His website has subscribe links to Gab and Parler accounts, and a rant whining about lobste.rs banning him for being transphobic that is completely un-introspective. https://gavinhoward.com/2022/07/lobste.rs-will-become-an-echo-chamber/
I don't care how good of a C whiz this person is, if I see that crap associated with an applicant their application is going straight to the incinerator. Even if I had no problem hiring bad, asshole human beings, this guy is a legal liability.
ghoward · 2022-12-11
I do this too! [1]
It's amazing how well tmux works as a project setup tool.
[1]: https://gavinhoward.com/2020/12/my-development-environment-and-how-i-g…
jkhdigital · 2021-12-24
This might be the tl;dr quote:
> And then he offered the closest thing you’ll find to a Unified Theory of Matt Mullenweg. “As more and more of our lives start to be run and dictated by the technology we use, it's a human right to be able to see how that technology works and modify it. It’s as key to freedom as freedom of speech or freedom of religion. So that is what I plan to spend the rest of my life fighting for.”
Contrast with this link also (currently) on the HN front page: https://gavinhoward.com/2021/12/is-it-even-worth-working-on-foss-anymo…
K0nserv · 2024-07-16
The author makes the best argument for Rust in the linked post[0]
Rust is great for teams because it removes many things that make working on team code dangerous. The items mentioned above are some. I work alone, however, because I like to keep my code in my head and working with people means parts of the code are only in their head. This also means that the bigger the language is, the less space I have in my head for the code. Rust is too big for my small brain, unfortunately. Most code is written in teams and even software with a single author needs a plan for when the maintainer steps down. Besides this I disagree with the author's assertion that Rust is not well suited for them, in fact I think it's strictly better than C because it often obviates the need to keep stuff in your head. Take lifetimes, in C you have to keep track of pointers and their lifetime in your head, and by definition all other maintainers have to do the same, in Rust the compiler does that for you, less to keep in your head. In fact I think the ability offload things from your head to the compiler is one of Rust's great strength. This ties in with compile times too, yes Rust is very slow to compile, but the compiler also does a whole lot more work than the C compiler. Obviously we want rustc to be as fast as possible given the work it's doing, but it will never be as fast as a C or Go compiler.
0: https://gavinhoward.com/2023/02/why-i-use-c-when-i-believe-in-memory-s…
Joker_vD · 2024-01-31
> I think most C programmers frustrations with UB stem from knowing that the C standard has fundamental flaws and modern compilers abuse that fact for "optimizations" on UB
Do they actually know that? I don't think so. Let's take [0] for instance (the author is an expreienced C programmer who loves the language and wrote a re-implementation of bc in it):
There seemed to be a lot of misunderstandings; I could not get a handle on what this person thought UB meant. I finally figured it out: this person’s definition of UB was not “the language spec can’t guarantee anything.” Instead, it was “compilers can assume UB does not exist and optimize accordingly.” Wat. Yep. Apparently, that was news to him, even though C implementations have been behaving like that for about 30 years already, and you can read the rest of the post for the "this is evil, we the users must do something about it" take. And the proposed "something" is not "we should instead use a language with actually defined semantics", oh no. It's "use compiler flags to force more reasonable behaviour, hopefully" and "somebody should write boringcc, unfortunately, I am myself a bit too busy for that". Well, despite numerous pleas and several attempts, nobody has managed to write boringcc which is telling of something, I'm just not sure of what exactly. So... I think it is about imprinting: "Oh, it's a wonderful language, well, it would be if it was actually implemented the way I used to think it is…
vacuity · 2025-10-18
I also encourage reading [0], for another perspective on languages and formal guarantees (and a slightly different perspective than Rust's). It also talks about concurrency, which has many open problems for programming languages and software in general cough async cough.
[0] https://gavinhoward.com/2024/05/what-rust-got-wrong-on-formal-verifica… (linked in a previous thread for OP)
OgsyedIE · 2025-03-28
Absolute rules have a high burden of proof and I don't think the article meets it. One of the better essays on the merits of content creation I'm familiar with is Gavin Howard's "To Broadcast or not to Broadcast" and it provides a respectable contrast:
https://gavinhoward.com/2024/09/to-broadcast-or-not-to-broadcast-a-nua…
turtleyacht · 2024-12-28
Thank-you. Also found your article on C and discipline helpful:
https://gavinhoward.com/2023/02/why-i-use-c-when-i-believe-in-memory-s…
If I could go back, I would have started working in C and building (reinventing) all the other ideas. Building your own language and compiler surely is the just fruits of an earnest programming life.
It's not unlike plain Javascript where code patterns become the unit of work [1][2], where keywords in other languages would otherwise suffice.
The shelves have books on C and Deitel, hacking, drawing, and architecture too. I hope some of them sort of combine. I don't know the recipe to bring about a kernel hacker, but hope it can all be absorbed in a decade or two.
[1] Reliable Javascript (2015)
[2] Javascript Patterns (2010)
krackers · 2024-09-05
josephcsible · 2024-06-30
I trust you that it's not what you meant, and that you wouldn't sue over it, but not that any potential future copyright holder wouldn't (see, e.g., https://gavinhoward.com/2022/01/the-law-of-strict-licenses/). Could you make it less ambiguous by chasing the license to only restrict commercial distribution rather than commercial use?
082349872349872 · 2024-05-29
in particular: https://gavinhoward.com/2024/05/a-new-architecture-for-a-gui-framework…
I agree: typeahead is key
elicksaur · 2023-12-21
There are several links that 404 at the time of writing this comment, so maybe this person has more technical debt than they realize?[1]
Regardless, my mental model is quickly becoming to ignore anyone talking about “technical debt”. Where’s next week’s blog “All blog posts about technical debt are technical debt”?
[1] https://gavinhoward.com/img/bc_stack_plot.png
mmcnl · 2023-09-12
A super well-maintained version of the POSIX bc calculator. It's faster, less buggy and more feature-rich. It's included in macOS[1], but unfortunately not in any other major distributions yet.
[1] https://gavinhoward.com/2023/02/my-code-conquered-another-os/
prawn · 2023-07-26
Is it possible that employers could think that your political aspirations may outweigh your commitment to working consistently for them into the future? Links from your site:
https://gavinhoward.com/2020/06/i-am-running-for-office/
https://gab.com/gavinhoward
pcthrowaway · 2023-07-26
Yikes!
https://gavinhoward.com/2023/04/rust-is-dead-to-me/
> Rust the language is dead to me.
> why?
> Because, quite literally, the Rust Foundation wants to make people like me unwelcome in any Rust event, not just official ones.
> Don’t believe me?
> Look at the draft Rust Trademark Policy that the Rust Foundation is asking for comments on and go to page 12:
> > We will consider requests to use the Marks on a case by case basis, but at a minimum, would expect events and conferences using the Marks to…prohibit the carrying of firearms…
> I have a concealed carry permit. I have firearms and other weapons. I know how to use them, and I will use them in defense of my wife and myself.
> And you can bet I carry them into places I consider dangerous if it is legal to.
a1369209993 · 2023-06-10
They're (presumably) refering to "colorblind" functions. (Note that "blind" is apt here: the color isn't visible, but functions still have color and will break in subtle ways if you try to use them as if they don't.[0])
Zig's approach is probably a improvement over bare async/await, but pre-javascript languages already had more of a improvement in the form of not having async/await. "Colorblind async/await" is like bragging that only 5% of your resturant's meals cause food poisoning, compared to 100% of your competitor's.
0: https://gavinhoward.com/2022/04/i-believe-zig-has-function-colors/
insomagent · 2023-05-12
I don't know man, maybe you should remove some of these posts next time you apply:
https://gavinhoward.com/2020/10/the-next-great-project-zion/
(This one jumped out to me in particular.)
https://gavinhoward.com/2022/08/the-nature-of-heaven-what-i-learned-fr…
https://gavinhoward.com/2021/07/the-next-free-nation/
https://gavinhoward.com/2021/06/israel-is-not-an-apartheid-state/
https://gavinhoward.com/2020/07/political-slavery/
These posts you've been making might have more of an influence on your application than your medical history, bro.
edit:
In this post: https://gavinhoward.com/2021/07/the-next-free-nation/
You stated ..."So the United States must die.
But what will rise in its place will be even greater: Zion."
Bro, I would NOT want you flying my plane after reading that.
zetalyrae · 2023-02-05
Reading the section on how the author just likes C much more than other languages, I was going to comment he should try building his own C-inspired language that he feels comfortable with but fixes some of C's flaws. But it turns out that's what he's already doing: https://gavinhoward.com/2018/08/pl-design-1-principles/
layer8 · 2022-05-12
It arguably isn’t fully colorblind: https://gavinhoward.com/2022/04/i-believe-zig-has-function-colors/
tingletech · 2022-04-09
adamnemecek · 2021-02-28
The author also wrote a blog post about how much he hates wearing anti-covid masks https://gavinhoward.com/2021/02/boycotting-petty-tyrant-businesses/. Somehow I’m not surprised.
Also bc might not be quite the yardstick when it comes to software that needs to be secure.
cryptonector · 2024-09-27
Slightly off-topic, but TFA links to https://gavinhoward.com/2024/05/what-rust-got-wrong-on-formal-verifica… which says:
> But there is an even harder problem: the C10M Problem. Is it possible to use RSC to handle 10 million connections, of which 1 million need some processing every second?
(RSC being restricted structured concurrency.)
IMO the C10M problem requires: a) user-land network stacks or unikernel servers, b) NPROC (or fewer) threads or processes, c) evented, continuation-passing style code in each of those threads or processes.
I've written one such program (though without (a)), a HTTP read-only file server that does (b) and (c) and which supports "tailing" files by doing `GET`s with `Range: bytes=0-` (or some other starting offset, but no ending offset), and it scales to tens of thousands of concurrent clients trivially. To get to millions of clients I would need to use H/3 and QUIC, and also do (a). (That server also supports ETags and conditional requests. Tailing `GET`s end when the file is unlinked or renamed away. Essentially it is a poor person's Kafka.) This program stores state in a per-client data structure and in the form of a pointer to a continuation closure that is `{data structure, handler closure}` that is registered with the event system, and each handler does only non-blocking operations (if you can think of filesystem operations as non-blocking anyways, though one could also use aio).
I bet this works well with RSC if all…
all2 · 2022-01-24
Username checks out. :D
If I understand correctly, the issue is mutex on file objects at the kernel level. Basically it is a failing of the implementation of the "file" abstraction. Or perhaps a failing of the "file" abstraction itself?
Per Wikipedia [0] (because I had no idea what a TOCTTOU race condition was)
In the context of file system TOCTOU race conditions, the fundamental challenge is ensuring that the file system cannot be changed between two system calls. In 2004, an impossibility result was published, showing that there was no portable, deterministic technique for avoiding TOCTOU race conditions.[9]
Since this impossibility result, libraries for tracking file descriptors and ensuring correctness have been proposed by researchers.
It seems to me that solutions to the problem from inside the "files as an abstraction" space won't solve the problem.
I was curious to see how a different abstraction would avoid this problem. Plan 9 FS appears to have had this issue at one point [1], but notably not because of the FS implementation itself. Rather the problem was caused by the underlying system's executing outside of the P9FS ordered access to a given file (someone please tell me if my understanding is incorrect).
Here's an article that talks about the problems of this (and other) race conditions from the level of abstraction [2].
NOTE: I'm not claiming that P9FS is immune from this sort of attack, I'm only commenting on what I've found.
[0]…
oblio · 2021-02-28
You're like that person in the Adult Swim sketch about Google being a guy, where the person asking "Google" about something gets a million results showing A) and just 1 result showing B), and they decide to take B).
First of all, if you're really arguing that masks affect mental health more than they save lives (https://gavinhoward.com/2020/08/in-science-all-factors-matter/), I don't even know what to say. I'd really want to see the science behind this, but I suspect there isn't any real science. Common sense and knowledge of professions where people use a mask for long periods of time should be enough to debunk this.
Also, this is truly abhorrent:
> Of course, 161,392 people have died. (Oh whoops! It turns out that only 6% of those people died from COVID-19 alone, so it’s really 9,700 deaths)
If my car breaks don't work, I ostensibly die because I'll be crushed when my car falls of a cliff, but the real cause of my death is the fact that the car breaks didn't work.
For the other article, gee, I wonder if the folks behind it have an agenda to push: "Townhall: <<Conservative>> News, Cartoons, Top Stories".
Anyway, do realize that this is a global phenomenon, people aren't out to get your "freedoms" and countries which are far freer than the US have realized that Covid is a real pandemic and treat it using real science, not pseudo-sience peddled by crackpots or even worse, people with a hidden agenda (usually one about making $$$).
I know I won't change your mind, but…