Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 662 posts.
State of the Common Lisp Ecosystem
Personal website of Fernando Borretti.
Let's Build a Simple Interpreter, Part 1 (2015)
“If you don’t know how compilers work, then you don’t know how computers work. If you’re not 100% sure whether you know how compilers work, then you don’t know how they work.” — Steve Yegge There you have it. Think about it. It doesn’t really matter …
Let’s Stop Ascribing Meaning to Code Points
Update: This post got a sequel, Breaking our latin-1 assumptions. I’ve seen misconceptions about Unicode crop up regularly in posts discussing it. …
Steve Yegge: Lisp is not an acceptable Lisp. (2006)
Another enjoyable read. Thanks! One thing, though -- it's about time to update your understandings of Python's object system. Python's culture doesn't insist that traditional (Smalltalkish) OO is the One True Way to re-use code, but that doesn't mean that everything in Python is not an object (because they are, since…
Reader Q&A: What about VC++ and C99?
I occasionally get asked about whether, or how well, Visual C++ supports C99. This week, I just posted two replies to this questions on UserVoice (merged below). Last fall, I also answered it in an…
Scrap your type classes
How to implement type classes in terms of term-level data structures
From Asm.js to WebAssembly
tl;dr I’m burying the lede with context and catch-up material first, so impatient or already-clued-in readers should skip to below the videos for today’s big news. Or just read Luke Wagner ‘s blog post right now.
Falling in love with Rust
Let me preface this with an apology: this is a technology love story, and as such, it’s long, rambling, sentimental and personal. Also befitting a love story, it has a When Harry Met Sally feel to it, in that its origins are inauspicious…
Java for Everything
I used to ask interviewees, “What’s your favorite programming language?” The answer was nearly always, “I just choose the right language for the job.” Duh. Does anyone ever deliberately pick the wrong language? This was clearly a way to avoid actually naming a language for fear of picking one I didn’t like.
Why Asm.js Bothers Me
Please note that this post expresses my personal opinion and mine alone, not those of my employer or my teammates.
Learn Rust the Dangerous Way
LRtDW is a series of articles putting Rust features in context for low-level C programmers who maybe don’t have a formal CS background — the sort of people who work on firmware, game engines, OS kernels, and the like. Basically, people like me.
C isn't a programming language anymore
Phantomderp and I have both recently been very aligned on a particular subject: being extremely angry about C ABIs and trying to fix them . Where we’re not aligned is why we’re mad about them.
Problems with Go channels (2016)
Update: If you’re coming to this blog post from a compendium titled “Go is not good,” I want to make it clear that I am ashamed to be on such a list. Go is absolutely the least worst programming language I’ve ever used. At the time I wrote this, I wanted to curb a trend I was seeing, namely, overuse of one of the more…
To type or not to type: quantifying detectable bugs in JavaScript
To type or not to type: quantifying detectable bugs in JavaScript Gao et al., ICSE 2017 This is a terrific piece of work with immediate practical applications for many project teams. Is it worth th…
Why undefined behavior may call a never-called function
My twitter feed has recently been filled with discussions about the following program #include <cstdlib> typedef int (*Function)(); s...
Why Ruby is an acceptable Lisp (2005)
Random code snippets, projects and musings about software from Eric Kidd, a developer and occasional entrepreneur.
Turbo 8 is dropping TypeScript
By all accounts, TypeScript has been a big success for Microsoft. I've seen loads of people sparkle with joy from dousing JavaScript with explicit types that can be checked by a compiler. But I've never been a fan. Not after giving it five minutes, not after giving it five years. So it's with great pleasure that I can…
Modern C
This new edition has been the occasion to overhaul the presentation in many places, but its main purpose is the update to the new C standard, C23 . The goal was to publish this new edition of Modern C at the same time as the new C standard goes through the procedure of ISO publication. The closest approximation of the…
I can't believe I'm praising Tcl (2008)
So the other day I both defined Tcl procedures all by myself and used them interactively, and I liked it, to the point where it felt like some kind of local optimum. This entry is an attempt to cope with the trauma of liking Tcl, by means of rationalizing it. I'll first tell the story of my fascinating adventures, and…
Strategic Scala Style: Principle of Least Power
The Scala language is large and complex, and it provides a variety of tools that a developer can use to do the same thing in a variety of ways. Given the range of possible solutions to every problem, how can a developer choose which one should be used? This is the first in a series of blog posts aiming to provide…