How to Learn Hacking
The “ hacking ” we'll be talking about in this document is exploratory programming in an open-source environment. If you think “ hacking ” has anything to do with computer crime or security breaking and came here to learn that, you can go away now. There's nothing for you here.
Reproducible SBCL builds – a month ahead of schedule
I think this might be my last blog entry on the subject of building SBCL for a while.
Crash Course on Notation in Programming Language Theory
This blog post is meant to help my friends get started in reading my other blog posts, that is, this post is a crash course on the notation ...
Creating a Bare Bones Bootloader
Upon hearing the word 'bootloader', many people cower in fear. It seems like a scary low-level thing that's very easy to mess up. To dispel some of this fear, I'm going to walk through making a super simple bootloader/OS, assuming only a basic level of familiarity with assembly language and how computers work.
A Worst Case for Functional Programming?
It's not about technology for its own sake. It's about being able to implement your ideas.
Types Are The Truth
In Chapter 9 of Types and Programming Languages , Pierce presents his exposition of the Simply typed Lambda-Calculus. It is a truly awesome chapter - each subsection in succession constructs a rich and very well detailed system of computation and Pierce is a master of precision, guiding the reader through the maze of…
Very funny, gdb. Ve-ery funny
Have you ever opened a core dump with gdb, tried to print a C++ std::vector element, and got the following?
Microsoft OCR Library for Windows Runtime
This blog was written by Jelena Mojasevic, Program Manager at Microsoft. We are pleased to announce that Microsoft OCR Library for Windows Runtime has been released as a NuGet package. The library empowers you to easily add text recognition capabilities in your Windows Phone 8/8.1 and Windows 8.1 Store apps. OCR…
Improved Error Handling in Rust
Overview of how to handle errors in the current version of the Rust programming language.
Working on The Witness, Part 1 (2012)
Mapping the walkable surfaces on the island of The Witness as a step toward bulletproofing the player movement code.
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…
Scalable Program Architectures
How to design resilient architectural patterns that last the test of time
No more `grunt watch` – faster builds with the Broccoli asset pipeline
Broccoli is an asset pipeline for building JS+CSS apps running in the browser. Read about the architecture, and how it compares to other build tools.
The Multiple SQLite Problem
If your app makes use of two separate instances of the SQLite library, you can end up with a corrupted SQLite data file.
Things I learned as an engineer that I wish I had known in grad school
…that I wish I had known when I started grad school
Cryptic Crossword: Amateur Crypto and Reverse Engineering
Reverse engineering is a special subgenre of computer programming. It's about the closest that I as a programmer get to being a scientist. Gather data, formulate a hypothesis, test, refine, repeat: reverse engineering is basically applying the scientific method to a very, very small knowledge domain. If you've never…
A Story Of realloc (And Laziness)
A Story Of realloc (And Laziness) 05 April 2014 A Simple Macro It...
Principles of high-performance programs (2012)
This article is an attempt to sum up a small number of generic rules that appear to be useful rules of thumb when creating high performing programs. It is structured by first establishing some fundamental causes of performance hits followed by their extensions.
AM – Attribute Modules for CSS
A few months ago, I read an article by Harry Roberts where he introduced an interesting concept for working with related classes in CSS. In his article, he describes the use of the [] characters in class attributes to help understand their purpose at a quick glance. He presents this example, arguing that it makes the…