Why I left Heroku, and notes on my new AWS setup
On Friday, we migrated Soundslice from Heroku to direct use of Amazon Web Services (AWS) . I'm very, very happy with this change and want to spread the word about how we did it and why you should consider it if you're in a similar position.
Using Voice to Code Faster than Keyboard
2021-11-13 page moved to http://xahlee.info/emacs/emacs/using_voice_to_code.html
Statistical Formulas For Programmers
When someone says “7 is greater than 5”, you declare that they’re really the same.
Developer and Power Users Tool List for Windows
Everyone collects utilities, and most folks have a list of a few that they feel ...
A few words on Doug Engelbart
Doug Engelbart died today. His work has always been very difficult for writers to interpret and explain.
A new Light Table experience
With our release of the 0.2.0 version of Light Table we laid the foundation we needed to continue moving forward. In this release we wanted to focus on making that foundation a joy to use by taking the time to really craft an experience. To that end, even though 0.3.0 is still an alpha, it will feel much better to…
HTML5 Flash Player (Shumway) lands in Mozilla
Today Shumway landed in the Firefox codebase. Shumway is a way to support playing Flash (SWF files) without the Adobe Flash Player. The Adobe Flash Player has been plagued with bugs so being to play Flash without the normal player is a big step forward for security. Shumway is an HTML5 technology experiment that…
Gzip + poetry = awesome
Day 16: gzip + poetry = awesome
Scala – 1 Star – Would Not Program Again
With Scala you feel smart having just got something to work in a beautiful way but when you look around the room to tell your clojure colleague how clever you are, you notice he left 3 hours ago and there is a post-it saying use a Map. Daniel Worthington-Bodart
21 Nested Callbacks
About 21 months ago, before I even knew what a callback was, I built my first webpage. In honor of its 21 nested callbacks, I think it's about time I finally take a second look at it.
Why Use Make
I love Make . You may think of Make as merely a tool for building large binaries or libraries (and it is, almost to a fault), but it’s much more than that. Makefiles are machine-readable documentation that make your workflow reproducible.
Callbacks are imperative, promises are functional
You will often hear it said that JavaScript is a ‘functional’ programming language. It is described as such simply because functions are first-class values: many other features that define functional programming – immutable data, preference for recursion over looping, algebraic type systems, avoidance of side effects…
Improving the security of your SSH private key files
Update (July 2015): This post is now rather outdated, and the procedure for modifying your private key files is no longer recommended. A better solution is to use ssh-keygen -o .
Learning JavaScript - my experience and advice
Derek Sivers official site. Thoughts on philosophy, culture, self-improvement. Author of Useful Not True, How to Live, Hell Yeah or No, Anything You Want.
How A Pull Request Rocked My World
This is a story about Pull Request
Stunned by Go
The original working title for this post was "Go is hostile to developers". This was named at a time of extreme frustration, and it didn't ...
WebKit for Developers
Feb 2015: A lot’s happened since I wrote this post two years ago. Chrome forked WebKit and started Blink, Opera adopted Chromium, and node-webkit became nw.js. This post describes a complexity of defining WebKit that doesn’t exist much anymore; with Chrome’s departure the WebKit world is more simple and clear.
LLVM Intermediate Representation is better than assembly
The crucial part is IR. It's a common language that sits between the high-level program and the low-level backend . IR is used to express high level concepts and is specific enough that any backend can produce a fast machine code.
Why SICP Matters
In 2011, to celebrate the 150th anniversary of MIT, the Boston Globe made a list of the most important innovations developed there. They asked me to explain the importance of SICP, and this is what I sent them: