Tuesday 1 April 2008 @9:28
A short video (1:22) of me venting my frustrations about email formats:
Transcript: In the old days, email was always plain text. And hard-core techies like me liked it that way.
Grudgingly, we came to accept HTML email. With hypertext markup, you can have bold-face, fonts, images.
But this is still okay because you can resize the text if you need to, the text is searchable, and Apple Mail on Leopard even recognizes dates and integrates well with the calendar program.
Where I have to draw the line is emails where the entire message is an image. It’s extremely common in our institution to create a full-page flier and then distribute it via email as an image. It doesn’t resize. It’s not searchable. The dates are not recognized. The MIME standard for multimedia email allows for plain-text alternatives in this case, but they are rarely available.
Here’s an even more egregious example, about the availability of our schedule of classes online. The link is blue. It’s underlined. But it’s not clickable. I can’t even copy and paste. I have to type it in from sight.
Just say no to image-based email. (And nevermind the inconsistency of distributing a 4 MB flash applet to demonstrate this simple point! At least I provided a plain text alternative.)
Tuesday 11 September 2007 @8:59
I was in denial about it for as long as possible, but yesterday my classes began. I can’t pretend it’s still summer anymore. Although the summer wasn’t nearly as productive as I planned back in May (I believe in aiming high; realistic goals are for weak minds
), I did get two papers accepted and I made progress on a new manuscript that I’d like to submit by mid-October.
I also sharpened my tools, battled a web-spam invasion, built a new home computer, and changed my web host. Didn’t travel very far this summer, but we hit Block Island (RI) in May, and Boston and Montréal for a few days each in August. In the coming weeks and months, I plan to finish final revisions on my RNGzip paper for JCP, pound out the new manuscript with Stefan, organize my coursework ideas for AI and write something about that, and, of course, submit my tenure portfolio. Oh, and I’ll be going to Germany for ICFP.
Tuesday 26 June 2007 @8:47
Hm, this space has been quiet for a while, but for justifiable reasons: I have two journal manuscripts submitted since the summer break began.
I’m never thrilled about writing for journals, because it often means that the key problem is already solved, and I usually would prefer to work on new problems than to “dot all the i’s” on old ones. On the other hand, it’s liberating to escape the strict space constraints of a conference paper. On the third hand, constraints are sometimes cited as catalysts for creativity. I’m reminded of the proverb “I wrote you a long letter because I didn’t have time to write a short one.”
I have also been ‘sharpening the saw’, also known as… Emacs hacking! Version 22.1 was finally released, and I took it as an opportunity to run through the manual and look for all the great little features and tweaks that have become available since the last time I studied the manual so intently. For example, just one thing that I adore for Java programming is glasses-mode (o^o). On-screen, it inserts some customizable little character in between LongCamelCaseWords so that you see them as Long·Camel·Case·Words. Ha!
Now I’d like to ‘sharpen my shell’ too. Zsh has lots of great stuff that I’m not currently using. I learned shell scripting in the early 90s on straight Bourne shell and tcsh, and only recently learned I could do concise parameter-frobbing things like ${file/foo/bar} rather than `echo $file | sed ’s/foo/bar/’` or whatever. Tab-completion for sub-commands (of svn, darcs, etc.) and host names (for ssh) would be great, and I know there are some directory-hopping features (beyond pushd/popd) that would help me. But one thing I’m grappling with is that I currently use zsh both in regular xterms and inside Emacs shell-mode. In the latter case, a lot of the fancy stuff in zsh won’t work. So do I avoid running shells inside Emacs, or hack shell-mode, or get term-mode working instead? Or, maybe forget zsh and do everything with eshell? Am I prepared to run always in Emacs, even when logged in to remote machines? I’m stuck.
Meanwhile, I cleaned up /usr/local/ on most of my machines. I try to avoid installing anything that’s not managed by apt, even if I have to backport it myself (such as with emacs22 on Debian etch). But sometimes it’s inevitable: either it’s something impossibly obscure, or I need a newer version than what’s available already, or it’s something I have hacked on myself and I need my version installed. So now what I do is keep a branch in /usr/local/src/, install it to /usr/local/stow/, and everything else in /usr/local/ is a symbolic link managed by GNU Stow. This should solve the problem of discovering some problematic file or library in local that I make-installed six years ago, and can’t remember what package it’s from or why it’s there.
Friday 16 March 2007 @10:27
I’m a latecomer to this fad, but here’s my entry into the transparent screen phenomenon that was all the rage. It’s far from perfect. But it’s true that the final image is not a composite; photoshop trickery is needed only to create the desktop background image. And even that was fairly simple-minded in my case, because I don’t know how to use any of the perspective tools in Gimp.
This reminds me: I can’t stand when someone observes an act of amateur creativity and says “he has too much time on his hands.” I guess it reflects the Protestant work ethic: idle hands are the devil’s tools and all that. But in my estimation, it tends to be said by people who spend much of their leisure time parked in front of the boob tube. Who are you to judge that reruns of Friends are more worthwhile than making an Earth sandwich? Personally, I want to live in a world where everyone has the time and inclination to pursue whatever creative outlets strike their fancy.
Monday 1 January 2007 @11:41
The holidays were good this year. The fridge is packed with food from last night’s fest. My head is still a little cloudy. I have a stack of new books to read, a new digital SLR camera — maybe I can start posting new photos here more regularly — and several interesting projects to work on before classes begin again in two weeks.
One is the final draft of our paper on type-based compression of XML. It was accepted, so I’ll be going to Utah in March to present. One review in particular was extremely helpful, and I’m looking forward to studying what he/she wrote more closely, and chasing some more references.
I’ll be submitting my tenure portfolio in the Fall of this year. Hard to believe I’m in year 5 already. This past semester was busy as hell — good in some ways, and frustrating in others. There are a few unfinished administrative things — “open loops” in David’s jargon — that are nagging at me. Hopefully I can knock them out of the way and they don’t interfere with the more interesting projects.
And let’s hope that “Web 2.0” (among other things) inspires more students to come back to computing in ’07.
Saturday 11 November 2006 @11:25
I had to see what all the fuss was about. I have been visiting ‘productivity porn’ sites like 43folders and lifehacker (and their associated flickr groups) off and on for a year. And last weekend I finally swung by a Barnes & Noble and picked up a Moleskine grid-lined notebook.
When I first opened it up, the experience was a bit deflating. I caressed the cover. I sniffed the binding. I investigated the pocket in the back. I don’t know what I was expecting… a shining beacon? A choir of angels? I guess it’s impossible not to be a little underwhelmed after the way these things are hyped on the Internets.
So I tried it for a week, sitting aside my usual cheap black-marbled composition book, half full. I carried the Moleskine notebook to meetings and seminars. I did some course planning and sketched some project ideas. I’m just up to page 12, and I have to admit it has grown on me already.
Having grid-lined pages comes in handy. It allows you to write landscape or portrait equally well. It supports very neatly-drawn ad-hoc tables. (I’m tracking meeting-time preferences for members of my committee on one such table.)
But more important is the size: 13 x 21 cm, which is a lot narrower than my old composition books, and a more extreme aspect ratio than even ISO 216 A-series paper. A narrow page is useful for typographical reasons, of course, but even for note-taking it seems to work out well. It’s hard to use my composition books on my lap or otherwise in the absence of a desk… but I guess that’s also partly because of the soft cover.
Anyway, I’d like to write more on my quest (and misadventures) to find suitable tools for project planning and task tracking. LifeBalance was fun for a while, but it doesn’t run on Linux, and the interface is too ‘widgetized’ for my taste. I set myself up on Backpack a few weeks ago; I like its interface and concept but there are certainly drawbacks for realizing the cross-cutting concerns of GTD (project view vs. context view). This morning I’m checking out org-mode for Emacs, and for now I’m amazed, but I’m still reading the manual. I guess once I manage to settle into something truly workable, I’ll write about it here. I’m sure to David Allen it’s a travesty to spend so long chasing down the perfect system rather than just getting things done. But to me it feels like a legitimate (but, so far, unending) meta-project to sharpen my tools.
Wednesday 19 July 2006 @18:51
Something has become a bit worrisome in my computing life. Since I got my Powerbook last Fall, I’ve allowed myself to become increasingly dependent on closed software applications.
One of the things I treasure about open standards and simple file formats is that I can still easily read and edit my emails and documents going back to September 1991, to the day I typed my first command at a Unix prompt. That’s nearly 15 years ago!
Many people fret about bit rot: put your newborn’s pictures in some seemingly ‘archival’ format like JPEGs on CD-ROMs, and your ability to revisit them when your kid turns 21 is very much not assured. There are two issues here: the physical media, and the file formats. In the net-centric, GNUish world I first entered as an undergrad, neither issue seems to be much of a problem.
With ‘offline’ physical media — cartridges, cards, disks, etc. — you must be extremely vigilant to copy all your stuff from one dominant form to the next during the narrow window in time when both are available. Copy your stack of 5¼″ floppy disks onto 3½″ disks. Copy those onto Zip disks. Copy those onto CD-RWs. Copy those onto DVD-Rs. Copy those onto external USB-2 hard disks. Copy those onto whatever the hell is next. Who has the patience for all that? But if you get lax and skip a step, you end up with valuable stuff on a 5¼″ floppy but a computer that only supports 3½″ and CD. Now what do you do? (Substitute the latest technologies as needed.)
This is one reason why I never recommend any kind of offline storage medium, including today’s popular USB sticks. Many folks in personal computing thought it was a major coup when Apple released the first home computer with no floppy drive — the iMac in 1998 — but the DECstation 3100s we used at Hopkins had no external storage facility at all, and they were produced in 1989. They had internal hard disks and ethernet, and that’s it. It’s still basically all I need; some of my machines can write CDs or DVDs, but I really hardly ever use that functionality.
So, my strategy for keeping data alive through the years is just to copy it over the network from one Unix machine to the next, whenever I change institutions and workstations. Nowadays, I always keep multiple copies alive (home, work, laptop) as a backup strategy as well. This has the added advantage that whenever you buy a new machine or disk, it generally has 10 times or more the capacity of the previous one. So bringing along all the old stuff every time costs very little space.
Now, as for the file formats themselves, this has until now been very easy as well. On Unix-y systems, the plain text file is still king, and the few binary formats tend to be open, stable, and supported by multiple applications (think JPEG, PS, PDF). There have always been exceptions: xfig is one that I used way back. And with the more desktop-oriented applications of Gnome, KDE, and Mac OS, there are even more exceptions: I currently rely on gnumeric and gnucash. But as long as the apps are portable, open-source, and provide a variety of export formats, I’m not too worried.
Incidentally, XML-based formats are often touted as a solution here, but they only get you so far. Sure, a text-based format is going to be easier to decode than an opaque, arbitrary, binary format. But open up the .apxl (XML) file used by Apple Keynote in your text editor and tell me with a straight face that it would help you reconstruct your presentation if you no longer had access to Keynote.
I started out writing this with the intent to think ‘out loud’ about what Mac applications I’ve come to depend on, and how I might reduce that dependence and transition back to mostly open source stuff. (Then I can make use of my GNU/Linux desktops at home and work again, instead of carrying the Mac laptop back and forth always.) But this post has become long already, and I’m ready to head home and seek out dinner, so maybe it’s best just to publish this and restart that brainstorm another day.
Thursday 29 June 2006 @14:48
My desecrated Chase card.
Working from home certainly has its advantages. The first few times I stayed home during weekdays, however, I was shocked at how frequently the phone rings! Since then, we’ve registered on various do-not-call lists. New York state had one fairly early on, and it seemed to be effective. Unfortunately, the registry does not apply to businesses with which you already have a relationship.
So the main offender these days is Chase bank. They call here literally twice a day, every single day. Art and I both have cards with Chase, although unlike many of our cards, they are separate accounts. So practically every day that I am home, I get to talk to some bored Desi with an unlikely name like ‘Veronica’ or ‘James.’ “No, I’m not interested in the credit protector.” “No, I’m not an authorized card-holder on that account.”
Today, the proverbial straw was placed, and I blew up at some poor woman — this was the second Chase call within an hour — who supposedly was not trying to sell the credit protector, but rather needed to contact Art about his account.
I called back immediately to close my account in protest. (Nothing gets the attention of a faceless bureaucracy like terminating your relationship with them. Back when Cablevision was persuading me to switch from Dish Network to their DVR system, the only way I could find to speak to people powerful enough to comprehend the defects with their technology was to ask the first-tier knuckle-draggers to close the account.) Anyway, the friendly Desi I spoke to at Chase this time recommended keeping the account but getting on their internal do-not-call list. Hint to other Chase annoyees: 800 945 9470. Allow 30 days to take effect. So my relationship with Chase was spared for another day.
But immediately afterwards, feeling a lack of satisfaction, I took a pair of scissors to my card. We have too many of these damn things anyway.
Monday 19 June 2006 @18:43
I’m toying extensively with MediaWiki today. I mainly want to set up something to help coordinate the efforts of a school-wide committee for which I recently became the chair. The work of this committee involves collaborative editing and tracking of lots of documents, so a wiki seems like the natural thing. Up until now, members mostly emailed Word documents around, and there seemed to be no canonical location for the latest versions. (More on this committee’s agenda another time, perhaps.)
Someone suggested that all the minutes and other documents from the committee could be burned onto CDs and distributed to members. His heart is in the right place, even if the recommended medium isn’t.
Aside: I feel that way too about these USB memory sticks that are so prevalent lately. All students seem to have one or more, and they seem to be the schwag du jour at certain workshops. To me, these things were obsolete long before they were even invented… they’re just high-capacity floppy disks. And the reason floppies are obsolete has nothing to do with their size. Physically moving data around on some device, no matter how convenient, is fundamentally flawed: the data should reside on the network, where it can be synchronized, backed up, accessed, and modified from anywhere. This net-centric view was how computer science departments arranged things even in 1990, but the rest of the world has not yet caught on. The fact that a computer user would reach for a USB stick to copy files from machine A to machine B — when they’re both on the same LAN — means something is fundamentally broken. Incidentally, I place blame not on the user, but on the designer of the dominant operating system.
Anyway, MediaWiki seems sufficiently powerful, but a little more confusing to configure than I expected. Configuration can mean editing ‘LocalSettings.php’ (reasonably well documented), editing other arbitrary PHP files (haphazardly documented), and/or editing certain pages in the ‘MediaWiki’ namespace of the wiki itself (mostly undocumented).
Like most software whose primary documentation is a wiki (which is by no means limited to wiki software itself), entropy prevails. Information becomes scattered and duplicated. Questions and answers from users are mixed in with exposition. The wiki model can be extremely useful for reducing the barriers for contributions, and that helps keep things up to date. I’d probably prefer having all documentation in a wiki than having it all, for example in the archive of a mailing list. But the wiki can’t compete with a well written and thoughtfully edited manual.
I seem to be taming my installation now, following a solid afternoon of tinkering. I am using namespaces to separate different projects (rather than having separate installations) and to restrict edit access to certain user groups. I learned that it makes sense to create user accounts using real names (First Last) so that you can easily refer to them and link to their user page: “Committee members include [[User:Chris League|]], [[User:Lisa Simpson|]], etc.”
Now the next step is to convince my colleagues that they can use this. I am finding it difficult to predict who will adapt to new technology and who will not. Field of expertise and age are not the determinants I would have expected. In other words, you can’t assume all the over-50s will avoid it and the under-40s will adopt it. Similarly, you can’t assume that the CS profs will be happy to learn a new system and the English profs will be reluctant. This is good, in a way. Why should everyone conform to my expectations? Keep me guessing!
Thursday 25 May 2006 @18:21
Designer Khoi Vinh posted an idea for a sort of word non-processor application, which he called BlockWriter. Though it doesn’t exist yet, he secured the domain name already… a nice touch. The motivation, as he describes it, is this:
I noticed a few years ago that some serious writers, at least in the early drafting stages of their work, were turning to manual typewriters as a method of sidestepping distractions… There’s no email to check on a typewriter, no beeps and pop-up reminders from other applications, and no access whatsoever to the Internet and its tantalizing abundance of productivity-killing diversions.
What’s more, a manual typewriter is a powerful antidote to authorial dawdling, that propensity to continually re-edit a sentence or a paragraph — thereby imparting the feeling of working without really working — instead of continuing to write new sentences or paragraphs instead. Unlike word processors or even the simplest text editors, manual typewriters don’t allow you to easily re-edit, insert and revise a sentence once it’s been committed to paper. This makes for an entirely different writing experience: the ideas come first, and the act of finessing them, of word-smithing, comes after all the ideas have been set to paper.
The application would have essentially two purposes (which could be served by separate apps). First, it would block out other distractions, perhaps going as far as to block the network. Second, it would pretty much act like a typewriter: the cursor moves forward only. You could use backspace to cross out previous words like this but otherwise you just keep typing and get the ideas out.
I can usually tune out distractions for long enough to come up with a few paragraphs at a time, assuming I’m actually interested in what they say. But I suffer much more from this latter problem: endlessly tweaking the words and the sentences. Writing in the small. Usually it’s more productive to get everything down, and then go back and tweak. The only way my dissertation got written was with me in a coffee shop with pen and paper (and, incidentally, no internet).
One of my favorite toys as a kid—before we had a home computer—was a basic IBM typewriter. It was electric, but didn’t do much more with the power than make the hammers move. I’d use it to write stories and plays, type up recipes, etc. Yes, I’m that much of a nerd. It has been so many years, that I never really thought about how a typewriter forces you to work.
Word processors (even their 1980s incarnations) encouraged endless tweaking of the words, and their WYSIWYG successors similarly encouraged tweaking of the format. It’s great that the software we have now lets us go back to insert, delete, and rearrange our text without retyping everything or sacrificing whole forests. But perhaps that flexibility has costs as well…?
Anyway, it will be interesting to see if anything comes of the idea. A hacker with more Emacs skills than I have could probably whip up a blockwriter-mode in under an hour. The first step would be to delete all keys bound to anything other than self-insert-command. 