January 2012
8 posts
“Leisure in this sense is both the crucible of all durable human meaning …...”
– Mills Baker, reviewing Josef Pieper’s “Leisure: The Basis of Culture”
Jan 23rd
Repositories of science
The first scientific paper with more than 1000 authors (1055, to be precise) was published recently1. It documented the first results from the large hadron collider.2 I think a paper in a journal is an antiquated way to desseminate results this complex, created by teams this big. There is a precedent for a system that can track, manage and publish the work of large teams on a single, though...
Jan 21st
2 notes
Computation in the wild
Karl Schroeder wonders why SETI has come up empty-handed1. The mystery deepens almost by the day, because we’ve now identified 700 extrasolar planets and the count is increasing rapidly. We should shortly be racking up lists of Earthlike worlds, and we’re closing in on good estimates of how many there must be in our galaxy. And the number is in the billions. So one central...
Jan 19th
1 note
The CS assignment I wish I had
When I came out of academia and started working in the real world, by far the biggest gap in my CS education was that I had no idea of the real monetary cost, and associated tradeoffs, of accomplishing computational tasks. With the goal of rectifying that, I wish I had been given the following assignments in some sort of advanced systems course, where people work in teams and the team with the...
Jan 10th
1 note
“…most books are old. This is not a disadvantage: this is precisely what...”
– Solitude and Leadership, by William Deresiewicz.
Jan 10th
Iteration
Consider the acclaimed painting by Matisse, Large Reclining Nude. It is a landmark piece of abstract art. But what made it special was that Matisse documented the evolution of the work from beginning to end, taking photographs of the intermediate phases over the five months he worked on it1. It started with some realistic depth and detail, and ended up with an abstract representation. And the...
Jan 5th
2 notes
Jan 5th
“To write is to make a clearing in the wilderness in which, almost literally, you...”
– Writing Undoes Me, by Pico Iyer.
Jan 4th
December 2011
6 posts
Best of 2011
Traffic grew 7X in 2011, compared to 2010. Here’s a round up of the most popular posts of 2011. Thanks for reading! Size is the best predictor of code quality The Cognitive Style of Unix GUI vs. CLI: Operation vs. Expression Smeed’s Law for Programming Stallman’s dystopia Minimalism is not a viable intellectual strategy Editing Google Docs in Emacs OOP = FP? Also: ...
Dec 28th
3 notes
How to make your new programming language...
Say you have cooked up a brand-new programming language. Now what can you do to dislodge the incumbents and have your language take over the world? Be incremental. Your new programming language must be understandable in terms of concepts that most programmers already understand. If you are going into new territory, you must justify it with shortcomings in the incumbents. C, which was probably...
Dec 26th
““Real isn’t how you are made,” said the Skin Horse....”
– The Velveteen Rabbit.
Dec 18th
Dec 9th
The 0.1x developer
One of the strongest myths in software is that of the 10x developer. The one who is 10 times more productive than the average developer. It keeps coming up again and again. I most recently saw a reference to it in Venkat’s Developeronomics piece1. It is a fallacy. Not in the sense that certain developers aren’t 10 times as productive as the average, but in the way they achieve that...
Dec 7th
4 notes
The monk tax
The idea of going to college seems to be falling out of favor. It’s expensive, and not all that useful, and saddles most graduates with debt, the naysayers argue. All this, in spite of incontrovertible data that education still pays1. But I want to draw our attention not to college, not to how they are administered, not to those who pass through them, but to that which contains all of...
Dec 5th
2 notes
November 2011
7 posts
The programming assembly-line
I read Matthew Crawford’s book, “Shop Class as Soul Craft”1, nearly 2 years ago, and in that time no other book has been on my mind more. There are things about it that ring deeply true to me, and others I think are deeply misunderstood. What’s worse, the topic is so raw and close to my heart that the thought of writing about it makes me singe. Anyway, here goes. The book...
Nov 24th
5 notes
Nov 20th
Nov 20th
The abstraction-optimization tradeoff
There are several well-known tradeoffs in computer science. For example, the time-space tradeoff, where often you can use more memory to compute an answer faster. Or the time-accuracy tradeoff, where you can compute an approximate answer quickly, and a precise one given more time. But one tradeoff that I think is widely known in folklore but not widely taught is the abstraction-optimization...
Nov 14th
6 notes
The origins of Silicon Valley
If you work in tech, your Mecca is Silicon Valley. And this story (from back in 1983) traces in lifelike detail the journey of a mid-western boy called Robert Noyce from Iowa to Palo Alto, and how he founded what is now called Silicon Valley. Even if you think you know about the Valley’s history, read this. What stood out to me was how the culture of those who work in the Valley is...
Nov 9th
1 note
“Fanboy-dom is about something irretrievable, a lost world of childhood. Jurassic...”
– The Cult of Jurassic Park, by Bryan Curtis.
Nov 8th
Jumping to analysis
A long, long time ago, I remember watching a TV interview with Zakir Husain, the world’s leading tabla player. He was asked how and what kind of music he enjoys. I don’t remember the exact words, but his gist was that he thought the way he approached and listened to music was very different than the layman’s. He would instinctively begin analyzing the music, its structures, its...
Nov 7th
2 notes
October 2011
7 posts
The empirical science of happiness
“What makes one happy?” is one of the founding questions of philosophy. It is probably much older than philosophy, perhaps as old as human thought itself. But what the ancients probably did not suspect was that one day far in the future empirical research would answer the question with some degree of objectivity. There is now a vast body of research that that documents broad...
Oct 28th
Flash Crisis
Robert X. Cringely absolutely nails it in his recent column about some of the consequences of rapidly reducing IO times on programming languages1. His major point was that slow but expressive2 high-level scripting languages such as Ruby and Python have been getting away with their lack of performance due to slow disks. With super-fast seekless flash expected to replace, or at least complement,...
Oct 17th
4 notes
“Well, I hate to break it to you, but there is no big lie. There is no system....”
– Don Draper.
Oct 17th
3 notes
Oct 11th
“If money can buy happiness, then why doesn’t it? Because people...”
– If money doesn’t make you happy, then you probably aren’t spending it right
Oct 7th
Why developers should learn the economics of code
Say you are a software developer who doesn’t entirely suck, and are wondering how to take your effectiveness to next level. Should you start learning some cool new language? Functional programming? Order a bunch of books written by bearded mobsters1? No. To elevate your craft to the next level you need to step out of it, and start thinking about what fuels your position. By that, I mean...
Oct 3rd
4 notes
Deft with descriptive filenames
A month or so ago, Jason Blevin announced Deft, an Emacs package for searching and managing notes in plain text files, very much inspired by Notational Velocity. I started using it, and immediately became a fan. (Notational Velocity, while it looked pretty good, was a nonstarter for me by virtue of not being Emacs.) There was just one tiny hitch. I already had a bunch of notes spread across text...
Oct 2nd
September 2011
9 posts
Sep 30th
2 notes
Sep 30th
1 note
Size is the best predictor of code quality
After my last post, which hypothesized a relationship between the total size of a program and the bugs in it, I was led to this paper, via this blog post, via this comment. This, by the way, is my favorite thing about blogging. Khaled El Emam, Saida Benlarbi, Nishith Goel, and Shesh N. Rai: “The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics“. IEEE Transasctions on...
Sep 26th
17 notes
Sep 25th
Sep 25th
Smeed's Law for Programming
Smeed’s law is an empirical relationship that predicts the number of deaths in traffic accidents in a country, normalized to the number of vehicles in it. There are two astounding things about this law. Firstly, the only variable used in it is the number of vehicles per capita. Secondly, the death rate increases sub-linearly with this variable. Here, D = number of deaths, N = number of...
Sep 12th
5 notes
“.. the overculture will always try to devalue anything truly threatening. If you...”
– Douglas Rushkoff, interview with Wired.
Sep 11th
3 notes
The Poisonous Long Tail
If you are at all curious or interested in where systems are headed, and the unique challenges in building warehouse-scale (not datacenter scale, there is a difference) computers, then this talk by Googler Luiz Andre Barroso is a must-see. Storage, disks, flash, energy efficiency, networking–you will learn something about all of these, and more. One of his points that I want to highlight is why...
Sep 6th
“The mathematics curriculum that we have is based on a foundation of arithmetic...”
– Arthur Benjamin, in his TED talk. I couldn’t agree more. Learning calculus for the first time was a mind expanding experience. However, in my day to day work as a software engineer I almost never have to use calculus, but do often have to wonder about questions such as “what is the...
Sep 6th
August 2011
11 posts
Aug 30th
How things grow
How do things–natural as well as man-made–grow? If you double the size of something, what happens to its other properties? Geoff West and his colleagues have spent a lot of time studying such questions. Their findings are fascinating. Living things grow sub-linearly: doubling the mass of living things only increases their metabolic rate by about 70% (to be more precise, the scaling exponent is...
Aug 29th
4 notes
Aug 27th
Reading Happiness
I keep rediscovering and re-reading this article in The Atlantic, “What Makes Us Happy?”, about the longest longitudinal study of adult life ever conducted. It is a marvelous and poignant piece of writing. Joshua Wolf Shenk, the author, does not shy away from the complexity of the issue, and does not pretend that he, or Vaillant, the protagonist of the piece, have any easy answers. ...
Aug 26th
Aug 17th
GUI vs CLI: Operation vs Expression
Consider this user interface for a car: The goal of these interfaces is to make you operate something, and operate it efficiently and safely. The grooves and clicks and limits constrain the range of motion and the number of choices. The visual look heavily hints at how to actively use it. They are usually not hard to learn. More importantly, the learning curve plateaus. Once you learn how to...
Aug 15th
18 notes
Aug 13th
Aug 12th
The Upside of Complexity
Consider the task scheduling function of the Linux kernel–back from version 1.2, released in 1995. It starts with this comment: /* * 'schedule()' is the scheduler function. It's a very simple and nice * scheduler: it's not perfect, but certainly works for most things. * The one thing you might take a look at is the signal-handler code here. * * NOTE!! Task 0 is the 'idle' task, which gets...
Aug 9th
1 note
Do you have an RSI prevention plan?
If you jaywalk a busy street, you might get away with it a few times. But if you do it every day, day in and day out, sooner or later you will get hit. The same way, if your job involves sitting in front of the computer and using it all day, it’s only a matter of time before you develop some sort of RSI or related injury. It’s not even a question of if, just when. And it’s...
Aug 1st
“We receive such ballyhoo constantly about ease and happiness being synonymous....”
– David McCullough
Aug 1st
July 2011
7 posts
“ZAKARIA: When you look at it, Mr. McCullough, what makes a great president? ...”
– Fareed Zakaria interviewing historian David McCullough
Jul 29th
An ergonomic keyboard and mouse configuration
I have long been searching for a keyboard and mouse configuration that is comfortable, ergonomic, reduces the impact on my fingers and wrists, and yet is productive. I’ve tried them all. Vertical mice. Trackballs. All types of keyboards. What I have finally settled on is the Goldtouch split keyboard, and the Apple Bluetooth magic trackpad. My setup looks like this: Yes, it’s like...
Jul 28th