TDD: tastes better without the T?
Writing tests turned me off the whole enterprise so much that eventually I decided I’d just write without them. And nothing awful happened! In fact, it was as much a breath of fresh air as I&…
The latest blog posts to take off on Hacker News. 514 posts.
Writing tests turned me off the whole enterprise so much that eventually I decided I’d just write without them. And nothing awful happened! In fact, it was as much a breath of fresh air as I&…
This is just amazing. In 20 lines of node.js code and 10 minutes of time I was able to write a HTTP proxy. Take a look: var http = require('http'); http.createServer(function(request, response) { var proxy = http.createClient(80, request.headers['host']) var proxy_request =...
In February 2003, a bunch of the outstanding bugs I'd reported against various GNOME programs over the previous couple of years were all closed as follows:
I’ve been doing a lot of work, lately, with JavaScript inheritance – namely for my work-in-progress JavaScript book – and in doing so have examined a number of different JavaScript classical-inheritance-simulating techniques. Out of all the ones that I’ve looked at I think my favorites were the implementations…
Back in the day, the first thing I learnt about vi was how to get into insert mode. It was really quite essential, because without knowing how, you couldn’t actually type anything.
These slides and notes were originally written to accompany a three hour Redis tutorial I gave at the NoSQL Europe conference on the 22nd of April 2010.
Clojure is written in terms of abstractions. There are abstractions for sequences, collections, callability, etc. In addition, Clojure supplies many implementations of these abstractions. The abstractions are specified by host interfaces, and the implementations by host classes. While this was sufficient for…
There are some programming books that I’ve read from cover to cover repeatedly; there are others that I have dipped into many times, reading a chapter or so at a time. Jon Bentley’s 19…
A real bummer — Apple removed Scratch from the iTunes store, so it’s no longer available for iPad, iPhone, or iTouch. Why? Discussion on the Scratch forums suggests that it’s be…
I prefer functional languages like Scheme, Scala or Haskell over C++ for most tasks. So, when I'm forced to program in C++, I write functional C++.
Visual Studio dev tools & services make app development easy for any developer, on any platform & language. Develop with our code editor or IDE anywhere for free.
I want to be able to write apps for my phone in in something other than the Java language; for example Ruby or Python. This isn’t one of the things my group at Google has asked me to look at, but I think it’s worth doing and worth some of my time. I’m writing this today because I’m amused by the contrast with the…
PyPy is now able to load and run CPython extension modules (i.e. .pyd and .so files) natively by using the new CPyExt subsystem. Unlike the ...
[Adobe would like me to make it clear that the opinions below are not the official views of the company and are entirely my own.] By now you have surely heard about the new iPhone 4.0 SDK language that appears to make creating applications in any non-Apple-approved languages a violation of terms. Obviously Adobe is […]
Recently Apple released new terms of service with their iPhone OS. By now most of you have seen the following section. I've copied this f...
The latest news from Google on open source releases, major projects, events, and outreach programs for early career developers.
In addition to parsing and generating machine code for your source files when valid, a compiler frontend's job is also to detect invalid code and give you a hint that explains what is wrong so you can fix the problem.
Google has long believed that users should be able to export their data and use it with whichever service they choose. For years, the Gmail ...