A Field Guide to Developers
Unfortunately, you can advertise in all the right places, have a fantastic internship program, and interview all you want, but if the great programmers don’t want to work for you, they ain’t gonna …
Unfortunately, you can advertise in all the right places, have a fantastic internship program, and interview all you want, but if the great programmers don’t want to work for you, they ain’t gonna …
Leading banks and investment funds have been foundering, because of bad debts and lack of trust; and other, less well-known kinds of fiscal chaos are also on the horizon. For example, due to an unfixable security flaw in the way funds are now transferred electronically, worldwide, it is no longer safe to write…
Version 1.1, May 18 2001. Changed section orders for better organization. (Thanks, Raffi). Clarified "metrics" in 2.6 (Thanks, Andy).
I’ve been following some discussions about the future of software applications, and a phrase that came up in my dinner with Robb Beal has been echoing in my mind. What it comes down to is this: if you want to develop software, you can build for the Web and/or Unix and/or OSS platforms; or alternatively, you can be a…
In most languages that support nested scopes, code can refer to or rebind (assign to) any name in the nearest enclosing scope. Currently, Python code can refer to a name in any enclosing scope, but it can only rebind names in two scopes: the local scope...
In the last week of October 1998, a confidential Microsoft memorandum on Redmond's strategy against Linux and Open Source software was leaked to me by a source who shall remain nameless. I annotated this memorandum with explanation and commentary over Halloween Weekend and released it to the national press. Microsoft…
Apple and Microsoft have always disagreed in how to display fonts on computer displays. Today, both companies are using sub-pixel rendering to coax sharper-looking fonts out of typical low res…
Did you invest in 10 years of medical school and training? What if you'd bought bitcoin and sat on the beach instead?
(These account balances reflect only the rewards for errors reported since the beginning of 2006. Many reward checks were issued during 1968--2005, too numerous to mention here.)
Whenever I talk or write about my own security setup, the one thing that surprises people—and attracts the most criticism—is the fact that I run an open wireless network at home. There’s no password. There’s no encryption. Anyone with wireless capability who can see my network can use it to access the internet. To me…
When you’re managing a team of programmers, one of the first things you have to learn to get right is task allocation. That’s just a five-dollar word for giving people things to do. It&…
I think some people thought I was joking earlier today when I said that we have our own compiler, Wasabi, for FogBugz. Yes, Wasabi is real. Because FogBugz is sold to customers who run it on their …
The current method for transforming functions and methods (for instance, declaring them as a class or static method) is awkward and can lead to code that is difficult to understand. Ideally, these transformations should be made at the same point in the...
How to make easy, automated snapshot-style backups with rsync and UNIX
Again and again we fall back on the folklore of the principles of good design. Sometimes I need a URI for them so this is started as collection of them. I have written about some in many places. Principles such as simplicity and modularity are the stuff of software engineering; decentralization and tolerance are the…
“ The word hack doesn't really have 69 different meanings”, according to MIT hacker Phil Agre. “ In fact, hack has only one meaning, an extremely subtle and profound one which defies articulation. Which connotation is implied by a given use of the word depends in similarly profound ways on the context. Similar remarks…
Copyright is a hot-button topic these days. Does information want to be free…or just reasonably priced? I discussed copyright at some length 25 years ago—a year before the first TCP/IP wide area network in the world went operational—two years before the first Macintosh went on sale!—in the following story. It won the…
Randy Pausch's famous Last Lecture, titled "Really Achieving Your Childhood Dreams," was delivered in 2007 after a terminal cancer diagnosis and has since become a global phenomenon. A co-founder of the Entertainment Technology Center, Pausch was known for his interdisciplinary work and for creating the ALICE…
When your alarm wakes you up in the morning, is it hard for you to get up right away? Do you find yourself hitting the snooze button and going right back to sleep?
[coined in a paper by T.H. Myer and I.E. Sutherland On the Design of Display Processors , Comm. ACM, Vol. 11, no. 6, June 1968)] Term used to refer to a well-known effect whereby function in a computing system family is migrated out to special-purpose peripheral hardware for speed, then the peripheral evolves toward…
Mike Murray, a surprisingly hapless HR manager at Microsoft, made a number of goofs, but the doozie was introducing a “Ship It” award shortly after he started the job. The idea was that…