New
The latest blog posts to take off on Hacker News. 21,842 posts.
2D gaming using Processing.js
We had a look at some of the basics of making a game using the Processing.js game library, so let's kick it up a notch by just getting down and making our own Super Mario game. When we're done with this part of the tutorial, we'll have a game with koopa troopers, platforms that we can jump up through but not fall down…
Massive: The asm.js Benchmark
asm.js is a subset of JavaScript that is very easy to optimize. Most often it is generated by a compiler, such as Emscripten, from C or C++ code. The result ...
Porting rr to x86-64
(TL;DR: rr from git can record and replay 64-bit programs. Try it for yourself !)
The Hypercard Legacy
Apple’s forgotten software gem was a last breath for democratized computing. Can it be revived?
Introducing SIMD.js
SIMD stands for Single Instruction Multiple Data, and is the name for performing operations on multiple data elements together. For example, a SIMD add instruction can add multiple values, in ...
A taste of Rust for C/C++ programmers
If, like me, you've been frustrated with the status quo in systems languages, this article will give you a taste of why Rust is so exciting....
A Quick Intro to Rust Macros
Note : This article is for an obsolete version of Rust, and has been superceded by the slightly less misleadingly named "A Practical Intro to Macros in Rust 1.0" .
Rebuilding the Shopify Admin: Deleting 28k lines of JavaScript
Shopify powers millions of businesses in more than 175 countries with essential commerce infrastructure. Our engineers and developers work on challenging and impactful projects spanning frontend, backend, mobile and data.
Terminals Are Weird
Terminals 1 are quite weird. Most modern users assume that they can just have straightfoward keybindings. Right? To bind Ctrl+i to something, they listen for Ctrl+i in their application. If they want to bind Ctrl+Shift+i to something different, they certainly can, they just listen for Ctrl+Shift+i as well. Naturally…
Functional options for friendly APIs
What follows is the text of my presentation, Functional options for friendly APIs that I gave at dotGo this year. It has been edited slightly for readability.
Rewriting Reddit (2005)
2012 note: This article was first published in 2005. After it was published, Django launched a RemovingTheMagic project to address some of my criticisms (though personally I still find it unusable), web.py inspired FriendFeed’s tornado.web and Google’s gae.webapp and others (though I still prefer web.py), and this…
Post Mortem: A single whitespace character
Cloud printing for retail and food and beverage operations.
Planjure: A* and Dijkstra's in Om
I wrote Planjure to learn ClojureScript and Om. It’s a fun little program. You paint islands on a canvas and run path-planning algorithms to find the optimal path for your ship to traverse from start to finish. Sailing across blue ocean is faster than hiking through green islands. The three algorithms implemented are…
Will It Optimize? (2010)
See how well you know (or can anticipate) gcc's optimizer. For each question, the left box contains some code, while the right box contains code that purports to do the same thing, but that illustrates a particular optimization. Will gcc apply that optimization? Put another way, will the code on the left be as fast as…
How to become a programmer, or the art of Googling well
*Note: Please read all italicized technical words as if they were in a foreign language. The fall semester of my senior year, I was having some serious self-confidence issues. I had slowly come to …
X86 boot sector written in C (2010)
Writing an MS-DOS-compatible boot sector in C: parsing the FAT BIOS parameter block, finding IO.SYS, and loading it via BIOS INT 13h in real mode.
The Case of the Modified Binaries
SUMMARY After creating and using a new exitmap module, I found downloaded binaries being patched through a Tor exit node in Russia. Tor is a wonderful tool for protecting the identity of journalists, their sources, and even regular users around the world; however, anonymity does
Mono for Unreal Engine
Miguel de Icaza's Blog
Docker Development Patterns
In the past I've written about my "home cloud" that used to be OpenVz containers, and how I've come to advocate rebuilding the "build server" for every build