fox@fury
The thing about Perl
Friday, Feb 09, 2001
Perl is different philosophically from nearly every other programming language. Because there are a thousand ways to do a given task in Perl, it's vital to comment. No two Perl programmers would tackle the same problem the same way which, while great for hacking stuff together, makes it really hard for one journeyman Perl programmer to undrstand another journeyman Perl programmer's work, unless it's really tight, well encapsulated, and intelligently documented.

One of the best books I've ever read (and I've mentioned it before, so apologies to those who've been reading since the beginning) is The Pragmatic Programmer. It discusses several tenets of programming and talks about the hows (and mroe improtantly, whys) of good programming, basically, how to turn a journeyman programmer into a master programmer. One of the things it discusses is 'shy' code. Your function shouldn't try to handle every possible error under the sun. If it gets passed something it doesn't understand or expect, it should break, preferably by throwing an exception, and it should ascertain whether the arguments passed are 'right' or not before it tries mucking with anything, lets it leave a task half-finished. The authors (and others) call this "programming by contract," stating that every method should have a contract on what kinds of data it will and will not accept, and if that contract isn't met, it should break loudly, so the pgogrammer knows and can fix it before the problem starts happening on released versions of the code. Eiffel is a great example of a language that has contracts built in to the language.

Perl, on the other hand, requires discipline. While shy code and programming by contract are still entirely valid and useful in concepts in Perl (more so than in most languages, actually), if the programmer doesn't actually write it in, Perl as a language tries to understand anything you give it. It doesn't break easily (that is, it understands almost anything you throw at it, so while the code will easily break from what you intended it to do, it won't stop running or give any sign of a problem), and tiny changes in code can fundamentally change the nature of what Perl tries to do with a given statement. This is one of the reasons Perl is so great for writing obfuscated code, and the power this flexibility affords is presumably one of the reasons for banning perl from the ACM's annual programming contests.

Mac Truck
Friday, Feb 09, 2001
I'm always looking for people who use technology in ways unanticipated by the designer. Here is a great example. This guy took his Powerbook G3 and wired it into his car. Moreover, he did it the right way, fully integrating it into the car with steering wheel controls for controling the music, a touchscreen console LCD, usb port in the center console glovebox, and the powerbook in a docking station in the back where a CD changer would go. Add in his infrared adapter for added control, and you've got a heavily wired car with a powerbook that can still be pulled out for day-duty.

The best part is that with a platform like this, it's easy to add all kinds of new features likd GPS tracking, voice-activated email, or what have you, because now it's just coding instead of trying to integrate each new tool into a car not designed for it.

Where's my AOLiza?
Thursday, Feb 08, 2001
Next installment coming up tonight. I'll post here when the new conversations are up.

In related news, Fury 3.1 is coming along nicely. the back-end coding is going really well, and it'll probably go live this weekend.

Before then I'll post a bit on what new features the site will have, as well as future directions (Fury 4.0?)

WebQuilt
Thursday, Feb 08, 2001
So in addition to Fury, AOLiza, Randompixel (yes, I really do work on it), my classes, TAing, watching Buffy and West Wing, and having a life, I'm putting time into a usability research project on campus, WebQuilt. The idea behind the project is to build a tool that allows web developers and usability folk to assess the usability of their site, using analysis tools far more compelling than simple clickstream or Analog logfile analysis. If you're interested in that kind of thing, drop me a line. I'd love to hear what kind of information you'd like to be able to get from users of your site.

If you're a fair hand with Java, and feel up to installing Tomcat, a java web server, on a Windows or Unix box, then download the current build of WebQuilt and give it a try for yourself!

Know thy reader...
Thursday, Feb 08, 2001
So my friend Ammy was very surprised by how many people she knows responded when she wrote on her weblog, Almost there, about being laid off. I know a fair number of people read fury. I have the weblogs, but I don't know who's behind the IP numbers.

So tell me, who are you? What do you like about the site? What could you do without? Have we met?

Thanks!

Funny Domains
Wednesday, Feb 07, 2001
I came across a couple funny domain names today. First is the UI design firm AM+A. their domain name is AMandA.com, and they're always careful to keep the capitalization just-so. I suppose it's important, because without it, they're just amanda.com.

On another front, today I traded emails back and forth with someone from RLM Public Relations, a (you guessed it) New York PR firm. Their domain name? YeahWhatever.com.

Bloopers: Vaio Trackpad I
Wednesday, Feb 07, 2001
I'm starting a log of UI bloopers (because oh, there are so many) and will occasionally post some of the more obvious ones here for your enjoyment and contemplation.

Today's blooper comes from my Sony Vaio 505. The trackpad on the Vaio has a lot of cool features, including the ability to use it as a scrolling tool by using just the right or bottom edge of the pad, or using it to navigate forward or back through sites, by tapping and tragging at the very top of the trackpad.

Sony does a nice job of making this feature obvious when it's happening, but I've got to wonder about their labels:

back - previous

Now the convention of course is back/forward. I'm guessing that some engineer was ardent about the fact that to be able to see the forward button, that page must have already been visited, and that the user must have hit "back" to get to a point in the history where they could go either way, thus previous would mean "go to the page I was just at" while "back" means go to the previous page in the history breadcrumb. Either way it's confusing, one term dealing with navigation in the temporal experience, and the other dealing with navigating the path metaphor that allows for backtracking. I imagine this got past testing because it's a feature most novice users don't even find, and those that do are familiar enough with the arrow pattern that they don't even read the text. I know I didn't for a while.

Inverse pattern
Tuesday, Feb 06, 2001
Funny, instead of buying books online today, I bought a typeface from a dirtworld bookstore...
Help keep Fury.com banner free!
Tuesday, Feb 06, 2001
As many of you know, I've been using PayPal to accept $0.50 donations on the AOLiza home page. It's been handy and well-received, but PayPal changed their rules last month, changing their fee from 2% of the transaction ($0.01) to 30 cents minimum per transaction.

To combat this I could simply raise my suggested donation to $2 or something, but I'm still not happy about paypal getting 15%, or my asking people for more money.

So here's plan two: If you like Fury.com, if you're a regular reader, if you'd like to support the site, and you happen to shop at Amazon, then drag this link: Amazon to your favorites bar or bookmark list, and use it the next time you shop for books. Fury.com will get a 5% referral bonus for whatever you buy (and more if this is your first Amazon purchase) and you get to feel good about helping keep up the site while buying books, music, DVDs and whatnot!

And hey, if you have a dogmatic aversion to Amazon, well, rumor has it they still sell many of their items at a loss just to drum up business, so the best way to hurt them financially is to buy from them as often as possible!

As always, I'm interested in your comments. Thanks!

The Jobs Reality Distortion Field
Monday, Feb 05, 2001
Whenever I get caught up in thinking Steve Jobs can do no wrong, I remember the NeXTcube, a box breaking new ground on so many fronts (M-O RW drives, Display Postscript, heavily graphical unix OS, a cube, not to mention objective C) that it couldn't find a market.

Apple's new directions are great, but they're not without their growing pains, specifically:

  • Abandonment of CRT Displays - I know, flat-panel displays are good, right? They're light, very crisp, give you plenty of desk space, and they're oh-so-cool. Yes, except if you're a graphic designer. The color consistancy on an LCD is abyssmal, more so on notebook displays than desktop LCDs, but they're still inappropriate for print and new media graphic design. Every professional designer I know has a 21" display, yet Apple chose to discontinue theirs, forcing third-party, non-pretty solutions on the design community, admittedly the group most attracted to Apple's industrial design.Now the 17" is all that's left, and you can bet Apple's itching to scrap it as soon as they can get their 18" LCD out the door for under $1200. (Did I mention LCDs have higher profit margins?) The price for this progress is leaving a host of Apple's most ardent supporters on the side of the road to fend for themselves.
  • Rewritable CD drives - Steve said Apple was 'late to the game' on CD-RW, and put in CD-RW drives into all but the highest Tower G4 machines (which get the SuperDrive, which in my day was the name for the 1.44 meg floppy drive in the Mac SE). CD-RW is great, but he doesn't mention that in joining the CD-RW game, he's abandoning the DVD game for these people. As of now, you can't even order a tower G4 with a DVD drive as a custom option, and the only tower that has a DVD drive isn't shipping until March. The worst part is what happens when Steve brings CD-RW to the iMac. Unless SuperDrives suddenly become plentiful, we'll see iMacs without DVD drives, and Steve's advancement will actually be a step sideways, and for many, backwards. If it's been hammered into us that we don't need floppy drives in our macs, why do we need rewritable CDs, in essence, big floppies? That's great, but not at the expense of DVD.
  • Mac OS X - Nuthin' to say here. I was worried about it when I installed Public Beta 1, but the changes to the UI are in the right direction, and a slow release is the best way to go. I'm really excited about BSD under the hood, especially once most of my Mac apps work well on top of it.

Ah well, just an unanticipated morning rant to start the week off right. I hope you all had a good weekend, got a good laugh out of the XFL. (Do the cheerleaders also get paid more if they win?) I've got a quiz in 90 minutes so I really should be off to study now.

  
aboutme

Hi, I'm Kevin Fox.
I've been blogging at Fury.com since 1998.
I can be reached at .

I also have a resume.

electricimp

I'm co-founder in
a fantastic startup fulfilling the promise of the Internet of Things.

The Imp is a computer and wi-fi connection smaller and cheaper than a memory card.

Find out more.

We're also hiring.

followme

I post most frequently on Twitter as @kfury and on Google Plus.

pastwork

I've led design at Mozilla Labs, designed Gmail 1.0, Google Reader 2.0, FriendFeed, and a few special projects at Facebook.

©2012 Kevin Fox