advice for Forbes Library, Northampton MA

Posted in Technology on May 27th, 2008 by Jeff


So I was just at the Forbes Library in Northampton, Massachusetts. It’s a lovely old library, full of books and music and comics and they offer Internet access to just about anyone who walks in the door, which is nice. While there I noticed they were currently hitting up the locals for $25,000 worth of technology equipment. $25K is enough for a decent number of books, but it’s actually not lot of money when it comes to computer hardware, so if I were in charge there, I’d want to make sure I got the full value out of every drop. So:

Ditch Windows in favor of Ubuntu Linux. Here’s why:

  1. Ubuntu is cheap. Ubuntu is free and will remain so. That means it would offer feature and security updates for years to come for no extra cash. It also runs like a champ on low-end hardware, which brings me to #2.

  2. Ubuntu runs like a champ on low-end hardware. This means you could not only upgrade the machines you have now without costly licensing fees, but new machines could be super low end and still offer crazy good performance. I just build myself a KPC shuttle box for around $240, and you could add a monitor on to that for about $90 more. And Dell offers Ubuntu laptops for $500. So at $330 per desktop and $550 per laptop, you could get about 38 desktops and 22 laptops. That’s 60 new machines!
  3. All you really need is Firefox anyhow. Each copy of Ubuntu comes with Firefox, probably the fastest and most compatible web browser out there. Your own web brochure says the main reason for this tech upgrade is to get more people on the internet. Perfect fit — plus no machine gets a virus because someone went to the wrong page.
  4. Ubuntu would be dead easy to administrate. I can see why a place would worry about administering a bunch of linux machines, but it wouldn’t actually be that hard. In fact, I would suggest, instead of worrying about it, adopt a no-troubleshooting policy — if there’s any serious issue with a machine, just wipe it out and install Ubuntu from scratch. The install takes about 10 minutes (and my mom could do it!), and then add another 5 minutes after that for installing Flash, installing Microsoft’s fonts, setting the printers and configuring Firefox’s home page. Compare 15 mostly idle minutes to the time required to troubleshoot a flaky Windows install, and there’s no contest.
  5. But what about..? …content filtering? Will our library content filtering run on Ubuntu? Don’t bother. Use Open DNS and block porn and other “adult content” from the network entirely. What about printing? Ubuntu recognizes pretty much any printer with no problem. What about our existing library databases? They’re web-based, so it doesn’t matter what web browser they use.

What do you think? Crazy, or just so crazy it might work?

~Jeff

batch export for quicktime pro

Posted in Technology on May 23rd, 2008 by Jeff


I recently got paid to write a short batch processing AppleScript that processed video via QuickTime Pro. It was harder than I initially thought it would be — the syntax of AppleScript is in turns wildly lax and highly specific. So it was kind of a pain, but just so nobody else has to fumble through QuickTime’s AppleScript dictionary, I’ll give the code away for free. Just cut and paste this into Script Editor:

with timeout of 86400 seconds

display dialog “Before beginning batch processing, make sure QuickTime Player is set to the desired export settings, and all videos to be processed are in a folder named ‘Input’ on the desktop.” with icon note

tell application “Finder”
set the startup_disk to the name of the startup disk
end tell

set user to do shell script “whoami”
set input_folder_name to “Input”
set input_folder to startup_disk & “:Users:” & user & “:Desktop:” & input_folder_name & “:”
set user_desktop to startup_disk & “:Users:” & user & “:Desktop:”
set output_folder to startup_disk & “:Users:” & user & “:Desktop:Output:”
set file_extension to “_export.mp4″

try
tell application “Finder”
make new folder at user_desktop with properties {name:”Output”}
end tell
end try

try
set the_folder_list to list folder input_folder without invisibles
repeat with x from 1 to count of the_folder_list
set the_file to input_folder & item x of the_folder_list
set output_file to output_folder & item x of the_folder_list & file_extension
tell application “QuickTime Player”
activate
open the_file
export front document to output_file as MPEG4 using most recent settings with replacing
close front document
end tell
end repeat
on error
display dialog “This script requires a folder named ‘” & input_folder_name & “‘ located on the desktop.” with icon stop
end try

beep

end timeout

cool wand

Posted in Culture on May 20th, 2008 by Jeff


How much of this scathing indictment of the “Millennial Generation” is fair, and how much is just standard Gen X ranting/whining? I myself am quite weary of the lame-ass business features that insist that Facebook applications, Twitter updates and SMS messaging are going to be OMG 100% MANDATORY in order to survive in the post-Millennial business workplace.

What do you think? Is this article a fair shot, or a low blow?

~Jeff

failures of dogmatic constructivism

Posted in Technology on May 18th, 2008 by Jeff

My truly shitty classroom

There’s a deep and excellent essay here by Ivan Krstić, recently displaced of the OLPC project. Man, we all had such high hopes for this P.O.S., but it looks like Negroponte’s ego and gung-ho adherence to the flimsy tenets and dogma of Constructionist thought have conspired to sink the boat:

As far as I know, there is no real study anywhere that demonstrates constructionism works at scale. There is no documented moderate-scale constructionist learning pilot that has been convincingly successful; when Nicholas points to “decades of work by Seymour Papert, Alan Kay, and Jean Piaget”, he’s talking about theory. He likes to mention Dakar, but doesn’t like to mention how that pilot ended — or that no real facts about the validity of the approach came out of it. And there sure as hell doesn’t exist a peer-reviewed study (or any other kind, to my knowledge) showing free software does any better than proprietary software when it comes to aiding learning, or that children prefer the openness, or that they care about software freedom one bit.

This passage took me back to my (mercifully short) time teaching computer science at a local Western Massachusetts high school. I had a classroom full of truly shitty Windows machines, which annoyed me to no end at first, but soon enough I discovered with an install of free software on them (Firefox, WAMPserver, Notepad++) they became perfectly reasonable ways to teach HTML and PHP.

By using the correct software, the underlying OS fell away, and it wasn’t important that these machines were 8+ years old and running Windows — they did what they needed to do to serve the students’ needs. The fact that the software was free and open was lucky (because the school system was essentially broke!) but not at all necessary for the learning process. Having the students editing text via emacs, vi, or nano wouldn’t have meant anything at all — and now, having come around to finally embracing this mode of thought and “lowering his standards” to allow a plebian OS such as Windows XP on his beloved hardware, it’s too late. The industry has figured out how to make better OLPC-style hardware powerful enough to run Windows, linux — whatever the kids might need to use in order to learn.

The true shame is epitomized by this reddit comment:

The most depressing part of it is that Negroponte rejected [Steve] Jobs’ offer of free Mac OS X on basis that it wasn’t fully open source. Now he’s thrilled to get a cut-down version of 7-year-old closed-source, commercial OS at $3 per license + $7 for extra memory to hold the bloat.

Ouch. It’s funny because it’s true.

~Jeff

john mccain kept your wiffle ball

Posted in Technology on May 15th, 2008 by Jeff


So I’ve got a new site up. Right now the database has 75 entries that attempt to describe 2008 Republican presidential candidate John McCain, but with your help, I bet we can bring it to 78 or 79.

Comments and suggestions are, as always, warmly welcomed.

~Jeff

the next market I’d like to see Apple dominate (after they’re done crushing the cell phone industry)

Posted in Technology on May 11th, 2008 by Jeff


I went looking at car stereo “head units” this weekend, and while there are some that have the feature set I’m looking for (CD playback, mp3/aac file playback via CD-R or USB, iPod integration, Bluetooth integration (Alpine in particular seem like they are doing the feature set right, at least)), they are all so fucking ugly that I can’t really get psyched about any of them. Each and every one was encrusted and bedazzled by red and blue glowing elements that wouldn’t look out of place in the movie “Tron,” which is super-duper great if you’re into light-cycle racing, but otherwise, hideous and likely to look way out of place next to your other dashboard controls.

And the interfaces — good lord, the interfaces. Every single one was “press source again and again and again until you get the right music source, then hit the select button, then dial to the correct playlist, then hit select again, and then, and then, and then” — overwhelming and cumbersome*, and you’re supposed to pull this all off while driving. God forbid you’ve got GPS, a cellphone, or XM radio going on as well.

In short, the state of car stereo design in 2008 is almost exactly like the state of smartphone design in 2006, pre-iPhone. Which is to say: in 2006 there were expensive devices that made phone calls, played music, and let you read your email and browse the web, but none of them did all of those things very well. It took Apple to come along and make a game-changing gizmo like the iPhone before people started warming to the idea that these were all viable activities that they one could reasonably expect to be able to do without compromises in a handheld device. Similarly, the car stereo market has devices that do what I want — play CDs, play mp3/aac files, and hook up to the iPod — but the interfaces are atrocious and the aesthetics are worse. Apple could come down like the hammer of Thor on this market and fix this muddled mess in one shot.

~Jeff

* Note to hardware user interface designers: if your design has the user hitting a single button over and over to get to the option they want, you’re doing it wrong.

fix quicklookd and transmission when downloading video

Posted in Technology on April 29th, 2008 by Jeff

I say we take off and nuke the entire site from orbit…
it’s the only way to be sure.

Is your Mac’s CPU pegged when Transmission (or any other Mac BitTorrent client) downloads video? That’s because quicklookd — the QuickLook daemon that sneaks around and builds thumbnails of your movie files, is trying to build a thumbnail of a chunk of video that doesn’t exist yet. Because BitTorrent clients allot the disk space non-contiguously and then fill in the data, your Mac is confused. End the confusion with two Terminal commands so long that there is no center content well that can contain them:

sudo cp -r /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Movie.qlgenerator ~/Documents/Movie.qlgenerator
sudo rm -r /System/Library/Frameworks/QuickLook.framework/Resources/Generators/Movie.qlgenerator

NOTE: So what did that do? The first command made a backup copy of the problematic Movie.qlgenerator in your Documents folder. The second command removed it. On the downside, you will lose the ability to “QuickLook” video files, and no thumbnails will be created or maintained for video files. On the upside, you will instantly gain ~75% of your CPU back as your Mac stops struggling in vain to create a thumbnail for a video frame that hasn’t actually been downloaded yet.

~Jeff

the olpc is a pile of crap

Posted in Technology on April 27th, 2008 by Jeff


So I’ve been meaning to write about this for a while, and since I’m currently ProCrastinating making breakfast (the Crastinating that Pros useâ„¢!), let me waste your time for a second:

I bought an OLPC laptop off a local 9-year-old kid about three months ago. I found it for sale on CraigsList, God help me, and I picked it up after work at his house. He met me at the door — my suspicion was his dad had bought him the laptop via the G1G1 promotion, and he was flipping it to raise some quick cash. After I checked it out, I asked him “So why are you getting rid of this?” and he replied that the house “already had a laptop” and he “had to start saving up for a car.” The whole transaction was mighty fishy, but what the hell.

I took the little green laptop home, opened it up, and it became immediately apparent that the thing was full of porn — but a 9-year-old’s idea of porn. Browser window after browser window of Pamela Anderson, Carmen Electra, and JPEGs from “Maxim.” Recent search terms included the phrase “AOL Chat” and “bust.” Apparently, the kid was in a fevered titty frenzy and couldn’t figure out how to erase the details of his porny excursion from the OLPC’s journalled history.

In fairness to the kid, I couldn’t figure it out either. And here lies the problem.

The OLPC’s hardware is great — the screen is gorgeous, and once you figure out the somewhat stupid ear antennae that lock the thing shut, it’s easy to open it up and get it situated. The keyboard is mushy and SD slot is in a moronic location, but hey, these are forgivable issues. What is not forgivable is the dismal state of the “Sugar” system software that the OLPC ships with. It’s a shambles.

It doesn’t sleep so the battery just drains and dies. Wifi is spotty to begin with and connecting to any password protected wireless networks is iffy. The “neighborhood view” shows some networks as “close” and some as “far” but it’s completely random by design(!) and doesn’t actually mean anything.

It gets much worse: the web browser crashes out again and again. Flash videos won’t play without arcane terminal commands. The concept of “cut and paste” doesn’t exist. The much-vaunted “Learn Python” button that would expose the source code doesn’t even pretend to work. You can’t program an “Activity” without signing up for a “developer key” via a strange and convoluted method. Just check out the wiki — the OLPC developers themselves can’t figure it out.

These are all showstoppers, but what’s worse is the Sugar interface.

The Sugar user interface running on top of Fedora is beyond opaque. Anyone who makes excuses for the OLPC software is a crazed zealot — it’s just awful by any metric. It’s easy to see what they were going for — a unique, non-Windows, non-linguistic discoverable interface — but it’s a complete swing and a miss. I expect most kids will be scratching their heads and eventually giving up in frustration.

And here’s the frustrating thing: All the OLPC really needed to be is a piece of hardware wrapped around Firefox. If the OLPC developers just concentrated on getting together a top notch browsing experience, the rest could take care of itself. All the “Activities” bundles written in Python could just be webapps living locally. And Ubuntu provides a top-notch browsing experience today, not in the future, but today, with great performance and nice fonts and Flash and everything Just Working. Clearly the future of educational software is on the web, or via webby technologies, but because the OLPC guys were so in bed with Fedora and so in love with Python, that option is off the table.

It’s a shame. The OLPC laptop itself is lovely hardware, but the project has been capsized by open source fundamentalists who were too in love with their own half-baked ideas. It pains me greatly to say it, but I’m looking forward to getting Windows XP running on it so it has at least some use — and that’s about as serious a condemnation of the OLPC project as I can imagine.

~Jeff

building a hackintosh

Posted in Technology on April 27th, 2008 by Jeff

Steve Jobs’ Waking Nightmare of Complete and Total Inelegance

So I hit up Newegg.com and got my ~$200 worth of parts together — the nifty Shuttle KPC case, 2 GB RAM, and a 1.8 GHz Intel Core Duo chip (I already had a 250 GB IDE hard drive and Netgear WPN311 Wifi PCI card lying around) and I was going to write this big long honking thing about building a Frankenmac/Hackintosh but then Rob Griffiths from Macworld already beat me to it.

Bottom line: Building a Hackintosh is probably not worth your time. It’s amazing how much stuff “just works,” but here are the major problems:

  1. Updates. Point software updates (10.5.2 to 10.5.3 etc.) won’t happen unless you get updates via Bittorrent from Some Dude Who Has Already Fucked Around With Them. No offense to Some Dude, but this strikes me as a really bad idea.
  2. Wifi. This was the big fat stopping point for me — after four hours of what I will charitably describe as “dicking around” with .plists and .kexts I never got my Netgear PCI card to stop freezing after choosing a wireless network. Apple is in the enviable position of having to support only a couple wifi cards, and while the Netgear is super “out of the box” compatible with Windows and Linux, Mac OS X doesn’t need to know about it. So it doesn’t.
  3. Sleep and boot. Neither worked great, requiring kernel fiddling and partition twiddling and boot DVDs left in the the drive.
  4. Install. Installing from an IDE DVD-ROM drive was a pain in the ass thanks to not being able to install a hacked Mac OS X via USB DVD-R drive, so I had to have cables and junk strewed all around. Also, Some Dude has tricked out the Mac OS X 10.5 install, “helpfully” adding apps to /Applications and modifying the background colors, icons and dock. This is analogous to getting your car back from the shop and having “Grape Job!” scratch-n-sniff stickers “helpfully” added all over your leather dashboard.
  5. The Mac Mini. Frankly, if you figure it out by the hour, unless your time is worth absolutely nothing, the amount of time you’d spend on hardware and then dicking around with a hacked mac during its lifespan would total up to way more than just picking up a new $600 Mac Mini. And then everything would work out of the box and keep working.

Stats: I Xbench’d the Hackintosh, and performance was pretty good for a $200 machine:

Results 115.24
System Info
Xbench Version 1.3
System Version 10.5.1 (9B18)
Physical RAM 2048 MB
Model Mac Pro
Drive Type Maxtor 6Y060L0 Maxtor 6Y060L0
CPU Test 104.29
GCD Loop 212.34 11.19 Mops/sec
Floating Point Basic 102.59 2.44 Gflop/sec
vecLib FFT 83.55 2.76 Gflop/sec
Floating Point Library 83.83 14.60 Mops/sec
Thread Test 132.61
Computation 136.39 2.76 Mops/sec, 4 threads
Lock Contention 129.03 5.55 Mlocks/sec, 4 threads
Memory Test 124.75
System 121.03
Allocate 170.66 626.74 Kalloc/sec
Fill 125.49 6101.37 MB/sec
Copy 91.25 1884.64 MB/sec
Stream 128.71
Copy 120.45 2487.77 MB/sec
Scale 120.40 2487.40 MB/sec
Add 138.49 2950.23 MB/sec
Triad 137.93 2950.75 MB/sec
Quartz Graphics Test 157.95
Line 125.77 8.37 Klines/sec [50% alpha]
Rectangle 166.61 49.74 Krects/sec [50% alpha]
Circle 135.69 11.06 Kcircles/sec [50% alpha]
Bezier 129.68 3.27 Kbeziers/sec [50% alpha]
Text 381.51 23.87 Kchars/sec
OpenGL Graphics Test 278.54
Spinning Squares 278.54 353.35 frames/sec
User Interface Test 171.48
Elements 171.48 787.00 refresh/sec
Disk Test 42.54
Sequential 54.36
Uncached Write 49.55 30.43 MB/sec [4K blocks]
Uncached Write 51.27 29.01 MB/sec [256K blocks]
Uncached Read 58.41 17.09 MB/sec [4K blocks]
Uncached Read 59.62 29.97 MB/sec [256K blocks]
Random 34.94
Uncached Write 12.89 1.36 MB/sec [4K blocks]
Uncached Write 76.65 24.54 MB/sec [256K blocks]
Uncached Read 78.06 0.55 MB/sec [4K blocks]
Uncached Read 90.38 16.77 MB/sec [256K blocks]

Anyway. As a computer, the Hackintosh is a shambling failure, but as a fun learning experience it was a success — I now know way more about the inner workings of .kexts and /System than I ever thought I’d have to know, and the Shuttle KPC will be a lovely PC or Ubuntu box, just not a Mac. Speaking of, Ubuntu 8.04? Literally everything worked out of the box.

~Jeff

Top 5 ploys to get people to your website

Posted in Technology on April 14th, 2008 by Jon


#5: Top 5 lists

#4: Top 50 lists

#3: Top 3 lists

#2: Top 20 lists

#1: Top 10 lists

google’s main nav bar is messed up

Posted in Technology on March 23rd, 2008 by Jeff

Can someone explain this to me? When you’re on the main page of Google, at the top, there’s this navigational menu:


…but when you go into Gmail or any of the other “Google Apps,” it’s:


And don’t even get me started about the “More” dropdown — from the main page, it looks like this:


…but in Gmail, it looks like this:


…this is messed up, right? My feeling has always been that the First Rule of Navigational User Interface Elements Club is that navigational user interface elements should not move around — they should be kept completely consistent throughout a site. The only thing I can fathom is that Google is trying to group “like with like,” i.e. if you like Gmail you’ll love Reader, etc., and once you’re in the pantheon of Google products you’ll use the (also inconsistently implemented) “Search the Web” button available there instead popping back out to the main page. Also: the nav bars seem to be sorted alphabetically, for what that’s worth, which is not much.

One of the nice things the Mac OS X Dock has is a degree of predictability: the user can place their favorite apps in the Dock in order from left to right and be fairly sure the next time they look, the apps will be there, in order, where they put them — sometimes a little larger, sometimes a little smaller, but there. Contrast this with the Windows Start Menu, which I swear to God sometimes changes content and position while I’m in the middle of clicking around in it. Consistency is important, especially as Google moves to position their product line as a full suite of apps, and a consistent user interface is way more useful and important than a tangential marketing opportunity.

~Jeff

fix the podcast update schedule in iTunes

Posted in Technology on March 22nd, 2008 by Jeff


Does this sound familiar to you? You connect your iPod or iPhone to iTunes in Mac OS X to sync, but because iTunes’ built-in podcast update schedule is so oddly sparse, you find you have to hit “Refresh” on the podcast tab to actually check for new podcasts, then after it checks for, finds, and downloads the new podcasts, you have to sync again!? There’s got to be a better way!!:
  1. Download Cronnix.
  2. Create a new cron item that looks like this:



    That command, by the way, is this:

    osascript -e "tell application \"iTunes\" to updateAllPodcasts"

  3. Save. What you just did was create a little one-line reoccurring cron script that fires off every hour on the 30 minute mark that will (launch iTunes if it’s not running and then) tell iTunes to check for and download new episodes of your favorite podcasts.

~Jeff

EXTRA CREDIT: There’s probably a better way to do this via launchd. In Mac OS X 10.5 and above, Launchd = teh new hotness!, whereas cron = teh old and busted — but honestly, I just couldn’t quite get the syntax right. My guess is that the osascript command that passes to iTunes would have to be escaped as normal, and then escaped again for the launchd XML file. So if you can figure it out, let me know.

ADDITIONAL EXTRA CREDIT: If anyone knows of a way to disable iTunes’ “You haven’t listened to this podcast in a while” download deactivation setting, again, speak up. I can see why it’s there, and it’s polite and all, but it drives me berserk.

dust mites

Posted in Fine Literature on March 22nd, 2008 by Jeff


I know one of the most horrific moments of my childhood was when I was informed that no matter how often I bathed, and no matter how hard I cleaned, there would be dust mites all over myself and everything I held dear. They are, apparently, all over everything.

Quite frankly, it still freaks me out.

I was just thinking about the first scientists who developed electron microscopes powerful enough to look at the surface of a dust mite. I wonder if, just for a second, the first scientist to put his eye up to the eyepiece might have wondered: “On the surface of this dust mite, am I going to see little cars and little cities, with little tiny people, wearing little tiny hats and little tiny sweaters, walking around on their dust mite, completely unaware?”

Because I would.

~Jeff

seven easy steps

Posted in Technology on March 9th, 2008 by Jeff


Thanks to Greg Saulmon, Andrew Shellfo and Caleb Lyons for making last week’s presentation at UMass Amherst go smoothly. The discussion afterwards was genuinely a lot of fun.

If anyone’s interested, a PDF of my part of the presentation is available here, and a t-shirt replete with Internetologist John Gabriel’s most famous (and popular) theorem is available here.

~Jeff

the three-item sticky note

Posted in General, Technology on February 27th, 2008 by Jeff


So recently, in a catastrophic meta-failure of Not Getting Things Done, I resigned myself to accept the fact I may never ever actually read through the copy of “Getting Things Done” that have had sitting on my nightstand for almost a year, and instead (at my girlfriend’s wise suggestion), just skim through the Wikipedia entry on it instead. Which, actually, turns out, is a fine alternative. I get the gist of it: Do it, Delegate it, Defer it, or Drop it. Don’t let things sit around. I totally get that.

However, what’s really helped me in the past month has been my adoption of a new, very easy to remember mini-GTD method, which I call the “Three-item sticky note.” What it is: a sticky note with three things I hope to accomplish during the day. That’s it. For a working person, I think three items is just about right — too many more, and you’ll be running around like a fool, and any less than three is, let’s face it, underachieving. For longer term planning, I put stuff on an online ta-da list that I can add or subtract to from anywhere.

But ironically, the low-tech nature of the Three-item sticky note is its biggest asset; after I write the three items on the sticky, I stash it in my pocket and it sits there bugging the hell out of me and I can’t wait to throw it out — but I can’t throw it out until I do the items! — so you best believe those things get done.

So this trick has been working for me for a couple months now, but there are other ways to be effective and Get Things Done; what’s yours?

~Jeff