« | » Main « | »

Robert Read has written a concise, pithy, and relevant guide to How to be a Programmer. I wish I could organize my thoughts like this. It's a down-to-earth walkthrough of all sorts of different skills that make a good programmer, from the technical (how to optimize loops; how to utilize embedded languages) to the personal (how to recognize when to go home) to the inter-personal (how to deal with difficult people; how to be widely trusted). Highly recommended.

tagged: how-to, dev mindset   /   via: Ferdy Christant» react

Ferdy Christant describes a sneaky way to display a progress bar (he performs the whole action, then displays a pre-timed animated gif before taking the user to the next page).

Some things never change! About 18 years ago, while I was an employee of the University of Pennsylvania robotics lab, I installed a beta of Ultrix v1.0. This was on a large VAX with a dot-matrix printer console. When the install started, the console printed something like,

Installing.....

with a new dot added every few seconds, to indicate that work was progressing. New messages would appear at various points, with the same parade of dots to show everything was OK. At one point, it seemed like there were an awful lot of dots, and we should have gotten to the next message already. After a long while, it became clear there was no forward progress, and I ^C-ed the install.

Digging into it, the install was a shell script, and it became clear what was going on: at each step, the script started two processes: one to print the dots, and one to do the work. If the work process got wedged, the dot process happily printed dots until the end of time (or until the tape monkey got bored and hit ^C).

tagged: ui, unix   /   via: Ben Poole» react

Jeff Darcy recounts a horror story about his hosting provider (Featureprice) which only made me glad I wasn't a customer of theirs, and which pointed me to the irreverently-titled YourHostSucks. Mine (JumpDomain) seems not to be mentioned. Whew.

tagged: web   /   via: Canned Platypus» react

FingerWorks produces a number of slick input devices which are like touch pads on steroids: you use them with your whole hand, with all sorts of gestures for controlling your computer (twisting your hand like opening a jar means Ctrl-O, for example). I'd love to try one (they're expensive, though desk space might be even more of an issue!)

tagged: hardware   /   via: Unsanity» react

Slava Karpenko (Unsanity.org) wrote that shareware is dead (because the distinction between shareware and traditional software is so blurred).

A number of other people commented. I thought a bit about the thing that made shareware different from "regular" software, and these people are all right: the "share" aspect of it has completely changed.

I was trying to put my finger on what made it different now, when I found that Buzz Andersen hit the nail on the head, coining the term "indieware" (like independent record labels, or independent movie makers).

Driving to work today, I saw a car with what looked like three identical bumper stickers from last fall's gubernatorial campaign here in Massachussetts. I thought, "Wow, this guy really wanted R****y to win." Getting closer, I saw that the stickers were modified to promote three different pairs of candidates for governor and lieutenant governor: Nomar and Manny, Homer and Lenny, and Yoda and Mace. Nice hack.

tagged: funny, politics, spotted» react

Another thing that's probably been out there forever: type a phone number into Google, and it will tell you whose it is, where they are, and how to get there. Try it: (301) 424-6613.

tagged: google   /   via: Sifry's Alerts» react

Somehow, although it's been online and growing since 9/99, I had never seen McSweeney's Lists: pithy, witty lists with more than a little tongue-in-cheek. My favorite is Cable News Shows in Geometry Geek Heaven.

tagged: funny, blogs   /   via: memepool» react

Nonograms are intriguing graphical puzzles requiring cold logic to solve. I first encountered them in a Games magazine on a cross-country flight, and was riveted. PictureLogic is a polished implementation for the Palm. The puzzles are also called Griddlers (a much better name, in my opinion).

Small nonogram of a dog

tagged: games» 2 reactions

Nick Hornby is a great author (High Fidelity and About A Boy), and his son is autistic (as is one of mine). From a review of his latest book, a lovely image of the hidden meaning in autistic behavior:

His one profound worry, in truth, is his young son, Danny, who is autistic and can barely communicate. Danny's relationship to music is different from his dad's, but, not surprisingly, no less intense: he has to listen before he goes to sleep at night, he wanders the house with a portable cassette player, the volume cranked, and he goes to his room sometimes to listen to songs more carefully, his head lowered onto his player's speaker. What can he be hearing? What can the music be saying to him? Perhaps, Hornby suggests, what Danny is listening so intently for is that something everyone longs for from a song — that "something in him that he wants others to articulate."

tagged: autism, music   /   via: Signal vs. Noise» react

¶  Survey of evolution-fish owners, which explains how the fish symbol on cars came about in the first place.

¶  Codeville is the beginnings of a clever Python version control system.

¶  Paint Shop Pro 8 uses Python for scripting.

tagged: python, quick links» react

I'm currently at DEMO 2003, launching the Kubi Client.

There's a ton of luminaries here (Dan Bricklin, Mitch Kapor, John Patrick, and Les Vadasz on a panel about the future of innovation), and there's a bunch of interesting companies showing cool technology (for example, quantum cryptography).

Two of the companies here are ones that I have blogged before: Oddpost and Picasa, so it was great to be able to meet the people behind the companies.

tagged: kubi» react

(This entry is a new format, for quick links without a lot of comment on my part, in a similar spirit to Kottke's remainders, which early on linked to my deleting code article)

¶  Flash mind-reader

¶  Acme license-plate maker

¶  Animated atlas

¶  my tiny garden

tagged: quick links» react

reStructured Text is another near-plain-text format for structuring text so that it can be transmogrified into a number of other useful formats. This is the right way to go: give people something familiar and forgiving to deal with, and have the computers pick up the slack.

I think this is one of the reasons Palm Grafitti worked out: it was almost ordinary writing, or close enough that people could remember it, while also being constrained enough for the computer to deal with.

Java understood this with their JavaDoc format: just enough extra junk to make it structured for the computer. It's one of the things that truly surprised me about C#: they use XML tags in comments to structure the in-code documentation. Seems like a high barrier to acceptance to me.

It's also one of the things that should get fixed about Ant and XSLT: their reliance on XML as an input format. There are already some proposals about this. XML wasn't meant to be typed by people.

(Nerdly Ironic Disclaimer) To produce this website, I write XSLT stylesheets (in XML), and all of the content is authored in XML by hand (usually in Notepad). That doesn't mean it's the right way to do it!

tagged: xml, c#   /   via: Daily Python-URL» react

I don't usually go in for passing these things along, but this little amusement is so well-done, I thought I would. It's a stupid animation hack designed to poke fun at "our leader". Informed political discourse it's not, but it made me smile.

I love the talk radio show Car Talk (although I hate cars). My favorite part has always been the credits at the end of the show, filled with dozens of fictitious staffers, like the russian chauffer, Picov Andropov. The difficulty was trying to listen and appreciate and remember them while they were being read full-speed over the radio. Turns out the complete Car Talk Credits are on-line.

tagged: funny, cars   /   via: JOHO the Blog» react

Last night I had a grand old time at the Brookline Library Winter Gala. Brookline has a high author-to-citizen ratio, and a number of them were on hand for casual conversation: I spoke to Marvin Minsky, David Weinberger, Evan Schwartz, Lawrence Cohen, Steven Shore, Abelardo Morell, and Sandra Stotsky.

Topics included:

  • Stephen Wolfram (whose book was present, though he was not, and there was some doubt as to his Brookline residency)
  • Science's role in the world
  • The history of cellular automata
  • The requirements in general for a theory to be interesting (Minsky claimed it has to be able produce five kinds of things, not just three)
  • The prudence of having rope about you at all times (Minsky was wearing a tie made of mountain-climbing rope, explaining that he had once saved his daughter from quicksand with rope he had on hand)
  • The social skills of geeks (you can tell you're talking to the geek with social skills because he's looking at your shoes)
  • Harvard admissions
  • Autism
  • Russian history
  • Humans are the only animals that crawl before they walk (horses, for example, are running within minutes of birth)
  • Color perception (is it a coincidence that the human eye can register three independent variables — light/dark, red/green, and blue/yellow — and TVs use three colors to produce their images)
  • Blue's Clues (how Nick Jr managed the transition between hosts so as not to upset their young viewers)
  • Brookline politics (we're electing town officials in May)
  • Sonny and Cher
  • How our fifth-graders are doing in school
  • Underwear (don't ask)

Other literary luminaries present included Linda Barnes, Gary Wolf, Eli Newberger, Arthur Golden, Jayne-Anne Phillips, and many more.

If you are in the Brookline area, I highly recommend joining the party next year.

tagged: books, gatherings» react

Ever wonder how Amazon manages to produce all those recommendations all over their site? Amazon.com Recommendations: Item-to-Item Collaborative Filtering is a short paper describing their algorithm, and comparing it to other approaches that wouldn't work as well for their 29 million customer database.

tagged: amazon, algorithms   /   via: UXblog» 2 reactions

The forecast for today was 1 to 3 inches of snow. Reality:

Snow on table and chairs

tagged: photos, me» react

We're in crunch bug-fixing mode at work, which means we all have to be disciplined about finding, identifying, reporting, and fixing bugs. Often this means analyzing situations where a number of bugs appear at once, in sequence, due to errors in handling earlier problems. The rule in this case is to fix the error handling before fixing the errors. Read more about it in my latest article, Fix Error Handling First.

tagged: exceptions» react

My fifth-grader and his friend spent yesterday afternoon emailing pictures of worms to girls in their class.

George Bernard Shaw always detested the absurd hodge-podge of English spelling. He first made the classic observation that "fish" could be spelled "ghoti" (by using pieces from laugh, women, and nation). One of his legacies is the Shavian alphabet, a phonetic alphabet for English.

Androcles and the Lion, in Shavian alphabet

Like Esperanto, the Shavian alphabet is an idealistic attempt to synthetically improve human communication. I admire its idealism. Also like Esperanto, there is a small but dedicated community keeping it alive, despite a lack of general acceptance (or even awareness). For example, there is a proposal to add Shavian to Unicode.

Interesting to note, though, that even Shaw gave up on a little phonetic purity for the sake of convenience: the four most common words in English (the, of, and, to) are spelled with a single letter rather than phonetically.

tagged: characters   /   via: Everything Burns» 1 reaction

The web comes through again. Alert reader (as Dave Barry would say) Jim Flanagan sent the answer to my desperate plea. The site is lazyweb.org.

The interesting fact about it that I had forgotten is that it's all based on trackbacks to the requester's blog, rather than direct postings.

Thanks, Jim!

tagged: online» react

Dave Thomas, one of the authors of The Pragmatic Programmer, is running a blog, PragDave. Should be good. For example, his take on a snippet of DocBook markup is exactly right.

I wish his URL scheme were a little more customary. There doesn't seem to be a way to link to a particular entry in the flow of the blog. And I've never seen a comma-v file in a URL before! Is the blog running on RCS or something?

tagged: blogs, development   /   via: benpoole.com» react

Sometime about two months ago, I visited a site and I can't find it again. It was an exchange of ideas site, where people would post ideas for projects, and coders could find ideas of stuff to build. The site was held up as an example of its own technique, since it was thought up by one guy, but built by another, and the domain name had been donated by someone who already owned it.

I know I found it via a blog, but I can't remember which. Irony: isn't this why blogs started in the first place, as a log of sites visited, to help with this very problem?

Someone, please help: where's the site? Send me the answer!

tagged: help   /   via: (I wish I could remember)» react

The space shuttle orbiter Columbia broke apart today attempting to land. It's a sad day for all noble science and engineering causes.

The space shuttle was an inspiration to me. The first space shuttle was launched in April 1981, when I was in my freshman year of college. I had followed much of the space program through my youth, and was always amazed at what "they" had accomplished. But when the first shuttle went up, because I was in college, I had the sense that I could soon be one of "them", and that it could be something that "we" accomplished. That realization, that I could be a part of the most significant advances in engineering, was eye-opening and inspiring to me. I'll always think back on the space shuttle as the first possibility of me as a "real" engineer.

I grieve for the seven astronauts, I grieve for their families, and I grieve for the idealism that carried them aloft.

tagged: space» react

« | » Main « | »