New
The latest blog posts to take off on Hacker News. 14,544 posts.
Why Clojure? (2010)
I have recently become quite an enthusiast for the language Clojure . But why? Why would someone who has spent the last 30 years programmi...
Finger Trees: A Simple General-Purpose Data Structure (2006)
Finger Trees: A Simple General-purpose Data Structure
Emacs Bytecode Internals (2014)
Byte-code compilation is an underdocumented — and in the case of the recent lexical binding updates, undocumented — part of Emacs. Most users know that Elisp is usually compiled into a byte-code saved to .elc files, and that byte-code loads and runs faster than uncompiled Elisp. That’s all users really need to know…
Falsehoods programmers believe about video
Inspired by numerous other such lists of falsehoods. Pretty much every video player in existence gets a good chunk if not the vast majority of these wrong. (Some of these also/mostly apply to users, though)
An Introduction to the Lambda Calculus (2015)
;; Done Twice as a "Dojo" at Villiers Park on Thursday 19th March 2015 ;; To groups of about 15 ultra-clever teenagers who were thi...
Golang data races to break memory safety
Go is becoming more and more popular as a programming language and getting more scrutiny from a security point of view. You might remember m...
A practical introduction to functional programming (2013)
Many functional programming articles teach abstract functional techniques. That is, composition, pipelining, higher order functions. This one is different. I...
Getting Started with Tokio
If you're interested in writing servers in Rust, Tokio is a project that should definitely be on your radar. It promises to leverage the exciting new work on futures in Rust to make it easy to build extremely efficient networked servers with natural, composable code.
An Introduction to Geometric Algebra
Linear Algebra Geometric Algebra Applications Multiplying Vectors Rotors Double Angle Formula Complex Numbers Characterizing B Ratios Conjugates Geometric Algebra is fascinating, and I believe solves a large number of problems that arise from a more traditional approach to vectors, but I've been very disappointed with…
Why the Elixir language has great potential
Update: There is a nice discussion on Hacker News about this blog post. As a developer I think it is important to stay up to date with new…
A Git catastrophe cleaned up
From the highly eclectic blog of Mark Dominus
Linux at 20, some personal memories (2011)
This is going to be long and rambling. If you're going to read it, you may want to wait until you're ill, and can't get out of bed, and your head is filled with cotton, and you're eating painkillers like they were candy. I don't want you to feel pain while reading. Being unconscious and having a speech synthesizer…
Reducing the maximum latency of a bound buffer in Erlang
Recently I came across two great articles on the Pusher blog: Low latency, large working set, and GHC’s garbage collector: pick two of three and Golang’s Real-time GC in Theory and Practice . The articles tell the story of how Pusher engineers reimplemented their message bus. The first take was done in Haskell. During…
CHIP-8 in Common Lisp: The CPU
A while back I decided to try to write a Game Boy emulator in Common Lisp based on this series of articles . I made some good progress but eventually got bogged down because I was trying to learn a bunch of complex new things at once:
Skip Lists Done Right
Skip lists are a wonderful data structure, but it is hard to get\ right. This blog post presents various techniques to optimize and\ improve the implementation of skip lists.