New
The latest blog posts to take off on Hacker News. 14,544 posts.
Write Yourself a Haskell in Lisp
For me, the best way to understand something is usually to implement it myself. So when I first started getting serious about Haskell, I implemented (in Common Lisp) a simple lazy functional programming language that used graph rewriting for the interpretation. Then, years later, I mentioned this implementation in a…
Duke Nukem 3D Code Review
Since I left my job at Amazon I have spent a lot of time reading great source code. Having exhausted the insanely good idSoftware pool , the next thing to read was one of the greatest game of all time : Duke Nukem 3D and the engine powering it named " Build ". It turned out to be a difficult experience: The engine…
Execution in the Kingdom of Nouns (2006)
This rant is utterly idiotic. The great investment in literary allure is there in order to mask its hollow emptiness. Why should one class of words be put on a pedestal above another? Gee, I don't know, could it just be because natural languages ALL DO THE SAME? All natural languages have something called a WORD…
WebKit is the jQuery of Browser Engines
The news has just come out that Opera is switching all of their browsers (both mobile and desktop) to use WebKit (specifically, Chromium). I’ve seen a lot of gnashing of teeth on Twitter and I feel like I can respond because I use to feel the same way back in 2008-2009. However this is 2013 and the Chrome/Chromium…
Write More Classes
Furthermore I am of the oppinion that Python developers should write more classes.
jQuery file size
Note: The gzipped and Zopflinated file sizes refer to the total byte size of the file after compressing it using gzip or Zopfli with the default settings . For gzip, this boils down to gzip -6 file.js — the default compression level is 6 on a scale from 1 (fastest, but less compression) to 9 (slowest, but best…
Why Discourse uses Ember.js
This week, I was delighted to finally reveal Discourse, the app I’ve been working on for most of the last year in secrecy with awesome people. The launch got a lot of attention - we were …
The Chrome Javascript editor can do hot swapping
Hot swapping is the process of replacing code while the application is running. It allows a developer to see changes immediately - no recompiling, no waiting on page reloads, and no clicking to get to the application state where the code was changed. Just save the file and you’ll see the changes. I would say hot…
Why there is no Hitchhiker’s Guide to Mathematics for Programmers
For those who aren’t regular readers: as a followup to this post, there are four posts detailing the basic four methods of proof, with intentions to detail some more advanced proof techniques in the future. You can find them on this blog’s primers page. Do you really want to get better at mathematics? Remember when…
Keeping Passwords in Source Control
I learned a neat tip from my co-worker, Craig Silverstein ( more on Craig joining Khan Academy ), recently and I thought others might find it to be useful.
Remember when people tracked bugs?
I've done some well-known bitching about the halfassed and haphazard way that Open Sores projects have handled their bugs in the past, but man, things have only gotten worse since then. I mean, projects used to actually have bug databases. Boy, those were the days. Failing that, developers used to put their email…
Deconstruction of Pinkie Pie's 64-bit Chrome exploit
Back in November 2012, a Chrome Releases blog post mysteriously stated: "Congratulations to Pinkie Pie for completing challenge: 64-bit exp...
On Python security amidst recent Rails/YAML vulnerabilities
The Rails community has had a few high-profile security issues this week. They are well-summarized, with an alarming list of what follow-ons to expect, by Patrick McKenzie: What the Rails Security Issue Means for Your Startup.
How A Pull Request Rocked My World
This is a story about Pull Request
Git is an editor, and rebase is the backspace key
Writing and Stuff from Isaac Z. Schlueter
Cache Rules Everything Around Me
Attached Code: https://github.com/iainkfraser/cache_transpose Before we begin, the underlined words are briefly described in the gloss...