100 Best Gadgets of All Time
A neat list for the gadget-obsessed. I own, or have owned, 15 of the 100 items — what’s your score?
A neat list for the gadget-obsessed. I own, or have owned, 15 of the 100 items — what’s your score?
An interesting overview from Jesse Garrett about the new wave of web applications, which are based on:
I wondered several years ago whether Javascript was going to stealth its way past Perl, Python, Tcl, Ruby, and all the other “heavyweight” scripting languages. Still don’t see any technical reason it couldn’t, and would any of us really be surprised if it built up enough momentum in the browser to colonise other application areas as well? Who knows—maybe E4X will be the seed from which the extensible programming systems I’ve been dreaming of grow…
Peter Benenson, the founder of Amnesty International, has died at the age of 83. Amnesty has been a voice for the voiceless around the world, and is proof that anyone who wants to can make a difference. We’ll miss you, Peter…
A sociologist I once did some work for once told me that all human activities could be classified as belonging to one of a small number of natural timescales, which he described as:
A continuous activity is one that you’re completely absorbed in, like typing a blog posting. The “sip of coffee” category includes things like quick compiles, launching OpenOffice, and other activities that give you enough time to check on a background task (“I wonder if I have mail?”), but not enough for you to go and do something else. “Fresh pot” is rebuilding PostgreSQL from source—you park the task, go and think about something else for a while (possibly forgetting details of what you were doing), and come back some time later. “Tomorrow” and “sometime” are timescales that involve planning; the difference between them is that “sometime” requires you to put time into planning (i.e., the main task generates meta-tasks).
The sociologist’s argument was that revolutionary technologies (or programs) are ones that move an activity from one category to another. Take desktop publishing, for example—what had been a “sometime” became a “fresh pot” (early systems would sit there and think a while to format a page), then “continuous” (WYSIWYG on first-generation Macs). Email did something similar to communication, and so on.
I was reminded of all this yet again when I read Mike Clark’s recent post on how Google Maps is changing the way he works. By pulling several things together, it moves a bunch of objective-oriented tasks (how do I print the handouts for my course? where will I stay while I’m in Indianapolis?) down a category, as a group.
I think (well, I hope) that Trac will do the same thing for undergraduate team programming. From what I’ve see in the last few years, ignorance isn’t the only reason that students don’t work like professionals; the other is that when you’re juggling four or five courses, you simply can’t afford tasks that are in high-cost categories. It remains to be seen whether we can push ‘em down the stack, but I’m hopeful…
Uncategorized
Yet another fascinating article from Carl Zimmer, this one about the evolution of linguistic ability. If I had another twenty-four hours each day, I still wouldn’t be able to keep up with all the reading I’d like to do…
Three pieces of news:
A paper by Vlad Mnih, Jonathan Taylor, Lee Zamparo, Paul Gries, and Greg Wilson describing their addition of memory visualization to DrJava has been accepted by the Frontiers in Education 2005 conference. This work was done as a 49X project in the summer of 2004; congratulations, guys.
Prof. Karen Reid is speaking at 2:00 p.m. on Friday at SIGCSE 2005 about our experiences using CVS to manage undergraduate programming assignments.
Jonathan Taylor (a former 49Xer) is giving a talk on “CAPSGEN and CAPSID: Tools for Genotyping and Molecular Breeding based on DNA sequence information from multiple individuals/ecotypes/strains” on Tuesday, March 1, in MSB 2173, at 4:30 p.m.
The Python Software
Foundation has given me a grant to open source my course on
software engineering for scientists and engineers. I’ve been
consulting with several people on what the course’s exact content
should be; the other issue I have to sort out before I start work is
its format. The course will include:
The question is, how to prepare, store, transform, and present all
of this? I bring this up here because my students face many of the
same challenges every time they have to write a final report. While
they don’t need to mix slide content and prose side-by-side, they do
have to manage images, code fragments, and so on.
Lots of systems already exist that do some or all of what I want,
and new ones are appearing all the time. (For example, S5, the Simple
Standards-Based Slide Show System, uses XHTML and JavaScript to create
a simple slide show.) The problem I have is that I’ve used all of the
ones described below, and haven’t been happy with any of them:
What else is there? What have you used that helped make you
productive?
I once heard an anthropologist ask a room, “How big is a sports team?” When people said, “They’re all different sizes,” she said, “No, actually, they all have about half a dozen members. Anything larger than that (football, rugby, baseball) immediately splits into smaller groups (forwards and backs in rugby, infield and outfield in baseball).”
She went on to say that hunting parties in non-agricultural societies are usually that size as well, as are basic military units around the world (a platoon is two squad of six guys each). She thought there was a biological reason for this: we can only keep track of seven plus or minus things at once, so that’s the largest group most of us can work in effectively.
I’ve often wondered since how that applies to programming. I’ve seen three or four people work tightly on a single piece of code, but never any more—when there are more bodies, we divvy up the work, define some interfaces, and go our separate ways. Collaborative tools (bug trackers, wikis, instant messaging) don’t seem to affect this—they allow individuals to track the progress of other subgroups more effectively, but don’t make for larger subgroups.
This week’s episode of House (the only new show this season I bother watching) chronicled the good doctor’s attempt to go a week without using painkillers for his leg. I sympathize—thanks to some drywall dust and a burned-out power supply, I was unable to access my personal mail for almost sixty hours. It’s all good now, though; it’s aaaaallll gooooood…..
So, here are a few links that have accumulated in the meantime:
Here are descriptions of some real development lifecycles:
Anyone know any others?
Recent Comments