Why I Write Games in C (yes, C)
I am an unusual beast. All my solo project games I've been making recently have been written in 'vanilla' C. Nobody does this. So I think it might be interesting to explain why I do.
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 2,232 posts.
I am an unusual beast. All my solo project games I've been making recently have been written in 'vanilla' C. Nobody does this. So I think it might be interesting to explain why I do.
Previous posts Why Go is not my favourite language and Go programs are not portable have me critiquing Go for over a decade.
This is my closing talk ( video ) from the GopherConAU conference in Sydney, given November 10, 2023, the 14th anniversary of Go being lau...
Two weeks ago, we released Firefox Quantum to the world. It’s been a big moment for Mozilla, shaping up to be a blockbuster release that’s changing how peopl...
Recently, I came across a few old and new interviews of Donald Knuth (sources: (i) Companion to the Papers of Donald Knuth , (ii) Interviews conducted by Lex Fridman Part 1 and Part 2 ), where he sheds light on his work habits, how he approaches problems, and his philosophy towards happiness. I really enjoyed reading…
A few months ago, users started reporting that Ghostty was consuming absurd amounts of memory, with one user reporting 37 GB after 10 days of uptime. Today, I'm happy to say the fix has been found and merged . This post is an overview of what caused the leak, a look at some of Ghostty's internals, and some brief…
In light of recent events regarding the performance of the Windows terminal 1 , I thought it would be worth spending some time on this topic, since it uncovers a few problems that are pestering the software industry.
This blog post is going to be a cursory overview of the internals iMessage, as I’ve discovered during my work on pypush, an open source project that reimplements iMessage.
I've been comparing notes with people who run corporate engineering blogs and one thing that I think is curious is that it's pretty common for my personal blog to get more traffic than the entire corp eng blog for a company with a nine to ten figure valuation and it's not uncommon for my blog to get an order of…
Lessons learned from 15 years of writing SumatraPDF, a great open-source PDF, eBook, and comic book reader for Windows
Describes a regular expressions technique to match a word or pattern except in certain contexts: excluding tags, ignoring contents, word blacklist.
Thoughts, tools, and libraries I use to make games
(A true story.) Philip (President): Our factory is underutilized by 10%. Either we start building more of our backlog or we lay people off. I'd rather keep everyone busy, build inventory, and get...
In 1963, the philosopher Edmund Gettier published a three-page paper in the journal Analysis that quickly became a classic in the field. Epistemologists going back to the Greeks had debated what it meant to know something, and in the Enlightenment, a definition was settled upon: to know something is to have a…
Patterns for getting the best results out of coding agents like Claude Code and OpenAI Codex. See my introduction for more on this project.
One fine day in January 2017 I was reminded of something I had half-noticed a few times over the previous decade. That is, younger hackers don’t know the bit structure of ASCII and the meaning of the odder control characters in it.
You can check out a YouTube recording of a talk based on this blog post.
I've also ended up using Emacs along side Jetbrains IDEs (PyCharm & Webstorm). It is an odd combo but it works great. Emacs for mind-control level text editing, and the IDE works great for mouse-oriented poking around and small edits.
I’ve been enamoured with languages in the Lisp family ever since I first encountered The Structure and Interpretation of Computer Programs now more than a decade ago. At the time I was disappointed that such beautiful systems found so little use in day to day programming. Lisp seemed both deeply pragmatic (Objects!)…
Personal blog of Julien (jvoisin) Voisin
This text is a transcript of a presentation I have given on October 9, 2015, at the CityCode conference in Chicago. This content is also available in video , and as a PDF Document better suited for printing.
A blog by sunfishcode
I tend to use a lot of retro software, partly because I’m a big nerd but also because I just prefer to work in a terminal. There were a ton of major commercial software products for MS-DOS that were highly polished, and can still be used effectively in an xterm today.
While I was there, I thought a lot about tools – mechanical tools, software tools, tools that last, and tools that are fragile. The somber snow-covered scenery made me think about how quickly most of the tools we use today get outdated or replaced, and I thought about the kinds of tools that I’ve been building for…
I was poking around in my ~/.cache/ folder using OmniDiskSweeper when I spotted something interesting. The OpenAI Codex desktop app (since rebranded to just ChatGPT) has 1.7GB of stuff in …
it’s too hard