Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 230 posts.
JavaScript: Servo’s only garbage collector
pre.sourceCode { margin-left: 2em; } .sourceCode > span.k, .sourceCode > span.o, .sourceCode > span.bp, .sourceCode > span.kd { font-weight: bold; } .sourceCode > span.kt, .sourceCode > span.cp { ...
How to zero a buffer
Now, we don't want to truly change the observable behaviour of our software — but fortunately the C standard has a more liberal concept of "observable" than most people. In particular, the C standard states that the observable behaviour includes accesses to volatile objects . What is a volatile object, you ask? It is…
Are we shooting ourselves in the foot with stack overflows?
How-to articles about designing safe, reliable, and secure embedded systems.
How I Start: Elixir
Portal is a game that consists of a series of puzzles that must be solved by teleporting the player’s character and simple objects from one place to another.
Clojure Distilled
The difficulty in learning Clojure does not stem from its syntax, which happens to be extremely simple, but from having to learn new methods for solving problems. As such, we'll focus on understanding the core concepts and how they can be combined to solve problems the functional way.
Building OS X Apps with JavaScript
OS X Yosemite introduced JavaScript for Automation. This makes it possible to build native OS X apps using good ol’ JS. This article covers the basics and walks through building an example app.
Suture – Supervisor Trees for Go
Supervisor trees are one of the core ingredients in Erlang's reliability and let it crash philosophy . A well-structured Erlang program is broken into multiple independent pieces that communicate via messages, and when a piece crashes, the supervisor of that piece automatically restarts it.
You could have invented Parser Combinators
Computer Science, Machine Learning, Programming, Art, Mathematics, Philosophy, and Short Fiction
Co-routines as an alternative to state machines (2009)
When you have to traverse some sort of a nested data structure (say, a binary tree), one approach is to create a stack that remembers where in the tree you are. Another, much more elegant approach, is to write the function recursively. A recursive function employs the machine stack used to implicitly implement…
Interactive Programming in C
I’m a huge fan of interactive programming (see: JavaScript , Java , Lisp , Clojure ). That is, modifying and extending a program while it’s running. For certain kinds of non-batch applications, it takes much of the tedium out of testing and tweaking during development. Until last week I didn’t know how to apply…
Static checking of units in Servo
Web browsers do a lot of calculations on geometric coordinates, in many different coordinate systems and units of measurement. For example, a browser may need to translate a position expressed ...
Bitcoin contracts
Bitcoin is designed to support a wide variety of transaction types. Although currently the majority of transactions are standard payments to address it is possible to build more complex protocols.
The Computer Graphics Library
Back in the 90s, one book was ubiquitous in the world of Computer Graphics. Commonly called "The CG Bible", Computer Graphics: Principles and Practice gathered a huge part of the knowledge of the time. It was commonly referenced by the best programmers of that era in interviews and articles . By 1998, the book…
The State of JavaScript in 2015
Developing Opinions - A blog by Jimmy Breck-McKye
A Hacker’s Guide to Git
A Hacker’s Guide to Git is now available as an e-book. You can purchase it on Leanpub. Introduction Git is currently the most widely used version control system in the world, mostly thanks to GitHub. By that measure, I’d argue that it’s a...
Pain we forgot
Much of the pain in programming is taken for granted. After years of repetition it fades into the background and is forgotten. The first step in making programming easier is to be concious of what makes it hard. So let’s put ourselves in the shoes of a smart but inexperienced end user trying to build, test and…
Toward a better programming
When I built the original prototype of Light Table I didn’t have any grand purpose or goal in mind. I simply had some ideas on how programming could be better and I wanted to see how hard they would be to build. Until fairly recently, it never dawned on me that I’ve actually spent the past decade trying out ideas on…
BPF: The Forgotten Bytecode
Every once in a while I run into an obscure computer technology that is a hidden gem, which over the years has become mostly forgotten. This is exactly how I feel about the tcpdump tool and its kernel counterpart the packet filter interface.