Tim Hatch

Weblog | Photos | Projects | Panoramas | About

The Joys of Spelling Again 29 Apr, 2005

If you’re bored sometime and/or can’t sleep (the latter is my ailment at the moment), try out the virtual fridge magnets. On one hand, it’s purely anonymous, and feels (in a way) like SubEthaEdit on training wheels. On the other, it’s an interesting art project because you’re not confined to a grid structure like you are when editing a text file.

While I was fiddling with it, spelling random words, someone started arranging the English alphabet across the top. Well of course I wish I’d thought of this, and immediately joined in. I wasn’t the only one. Of the 51 people who it said were operating on it simultaneously, 2/3 must have been helping make the alphabet. We stacked all the letter A’s on top of each other, trying to rid the rest of the playing field of the letter A. We weren’t successful because some deviant (gah, I’m putting the world into socialogical terms again) started rearranging the letters into a pile in the middle by color, apparently. Someone else was writing slogans, including “Needs more cowbell.”


I looked away for a second after taking this screenshot, and soon found someone writing a curse word in the lower left, which was dragged out of existence even as it was still being written. It’s collaborative in the same way that the Wikipedia is — there are enough contributors, if something bad gets on there, it won’t stay for long because everyone has as much of a right to edit it as you did in the first place.

UNT Blowout 29 Apr, 2005

After a bit of convincing, I went to the “UNT Blowout” tonight (an end-of-semester party, also a really bad name in my opinion, almost as bad as “UNT Cataract” or “UNT DOA”). After the recent string of robberies, they were apparently concerned with security, and had lots of officers milling about and making their presence very much known (standing siholuetted against doorways in the main coliseum, for example). I arrived a few minutes past eight, and a really good brass band was playing (of course, everyone knows I have a sweet spot for bongos, so that’s probably tainting my opinion of them well toward the positive side). They’re playing again this Sunday at the Arts and Jazz fest, but I’ll be busy (aww).

Instead of “dancing” or “grooving” or whatever verb one applies to hip-hop (which is what went on from 8:30-when-I-left), I spent my time observing people. There were on the order of 1000 people there, and of those, I recognized about 8. Most of those were (ironically enough) PLP’ers. About 5% of the people there sat up in the bleachers and talked among one another because they were in groups, oblivious to what was going on around them. Many of the attendees (blowouters? see, bad name) actually ended up just playing the “casino night” tables that were set up in a corner. The groups that headed to the tables were quite diverse compared to the rest of the impromptu groups that formed around the camera stations and the main stage, which I thought was interesting.

One police officer was just hanging out by the tables, giving advice to people. This would have been something great to make a documentary from, if only I was an RTVF major and/or had access to proper equipment. So much was going on, interesting subplots developed.

The most interesting part about the people being drawn to the blackjack table and the other things in the vacinity is that I, too, was drawn. Not to play them, but to sit up a couple rows in the stands, looking down at the peoples’ expressions and trying to read them, understand their backstory, and why they came here while the others didn’t. Argh, this sociology class will be the death of me, I keep looking at things differently.

I tried to locate the convincer (as opposed to the convincee) who told me about tonight, and in doing so noticed that most of the people walked counterclockwise around the perimeter. Why? Don’t ask me. Maybe so they can shake hands easier with the “vendors” (a good number university representatives) giving out “free stuff” (yeah, I’m kind of bitter about paying for our “free stuff”).

“This is Texas. Collin rhymes with Sean.”
“No it doesn’t, you’d have to be pretty drunk for it to rhyme.”

Hating on the new UNT Logo 28 Apr, 2005

It has been brought to my attention that the facts reported by me and others are not in total agreement with reality. I am in the process of checking them and will edit this entry as appropriate.

For now, however, the original text is available in rev1.html in the intrest of a transparent process.

0% APR 26 Apr, 2005

I keep finding all sorts of interesting things in ads. Here’s the latest one.

Bad character entity in an ad

Fhqwhgads 26 Apr, 2005

“Say what?”
Fhqwhgads. Eww, it looks like Welsch. Don’t you hate Welsch [the language]?”
“Yeah, not as much as an… French”
“Looks like you were going to make a vowel sound there.”
“A vowel sound? Like what, ‘German?’”
ponders “German doesn’t start with a vowel sound.”
“Yeah it does. ’erman.”

I would like to note that everybody’s favorite song is available as a downloadable file that’ll play in StepMania. That is all.

New Editor Choices (PyPE Quick Start) 26 Apr, 2005

My new favorite editor: PyPE (note that with Python 2.4, you also need to make the change noted in the forum in order for it to launch. It could use a quick-start guide though, since the setup.py script actually tries to compile it using a program that isn’t included… and given that a google search for pype quick-start returns nothing of the sort, here’s my contribution to the project (cc-nc-sa, feel free to grab and include).

Okay, here we go.

  1. Install Python and wxPython. It’s not rocket science. Yes they have to be in that order.
  2. If you used the current versions of Python and wxPython, then you have to patch one line (link in previous paragraph) using a text editor of your choice. (They seem to be using DOS newlines so Notepad is safe.)
  3. Open a terminal of your choice (I use ZSH on Windows for the moment, you can use cmd or whatever), and run python pype.py.
  4. Profit!

There really isn’t that much to getting it going, it’s just not documented anywhere. One of the major things I’d like to see in an editor is automatic word-wrapping when it gets to a given length, or at least some sort of line that shows me where that spot is (50col, 80col, whatever). This is my first project when I get time after finals, see if this is perhaps exposed in the editing component and can just be toggled.

My other favorite editor is vanilla Scintilla, the same editing component which PyPE embeds… but the Unicode support in their demo app SciTE is much better than that of PyPE (probably a flag somewhere). I don’t like the colors as much (the italics are also annoying) but I really like this editing control a lot more than Dev-PHP which is what I have been using till now, which doesn’t support Unicode, crashes often, and contains a number of annoying Windows-specific bugs related to the “dirty” flag being reset when the app loses focus and drag-drop code being disabled when there are no documents (precisely the time I probably want to drag something onto it!).

Earworms: April 24, 2005 24 Apr, 2005

I’ve decided to denote my current musical tastes, not as a sidebar item for “Currently Playing” like some people, but such that it can be archived and mocked of in years to come.

So, in that spirit, here is what I’ve been enthralled with for the past couple days:

  • Ben Folds - Late
  • Cornershop - Brimful of Asha (A E D)
  • Crystal Method - Comin’ Back
  • Echo and the Bunnymen - Killing Moon (gotta love the 80’s, Em C(m?))
  • Everlast - What It’s Like
  • Fiona Apple - Not About Love (C E C EF E Am, among others)
  • Fury in the Slaughterhouse - Things Like This (Am G F (F))
  • Erlend Øye (DJ Kicks) - The Black Keys Work
  • Lucy Kinchen Chorale - Rockin’ Jerusalem (heard this live last Friday)
  • Ocean Colour Scene - Fleeting Mind (E D C B)
  • U2 - New Year’s Day

There isn’t any (intentional) meaning to those song titles, I just ended up with a bunch that had energy, a decent beat for my inner drummer to air-drum along with, and and a decent amount of minor chords it seems.

They’re Here! 23 Apr, 2005

As much as I dislike Sony as a company, I must admit their preorders for Ben Folds stuff arrived very much on time. Amazon is showing Songs for Silverman as Not Yet Released and yet I hold it, Songs for Goldfish, and Super D (yeah, I got behind with the EPs) in my hot little hands right now.

Am I the only one that cannot figure out how this DualDisc wrapper is supposed to help anything? It makes me worried about ripping the jewel case to bits when I pull it out, and it obviously prevents me from opening the jewel case intact.

I almost wonder if it's an anti-theft measure I'm supposed to discard once I purchase the disc. This thing should come with instructions.

GreaseMonkey Autolink Rant 21 Apr, 2005

There’s a feature in GreaseMonkey that autolinks things that look like URLs in the text of webpages. This is kind of a cool feature but it bothers me because it has the same idiosychracies that GroupWise at the office does.

Say you have the following text: $x = 'http://example.com/';. Where is the link? Well, there’s a delimiter before the http:// so logically when that same delimiter shows up again, it’s over. That’s what my programmer brain says. But apparently Firefox (and GroupWise) are parsing for whitespace. In emails, I have to give links like (http://example.com/ ) (with a space after) so it’s clear to the parser where the link ends, otherwise the ending paren gets tacked onto the link, even though it’s a paired delimiter.

Maybe things are not linked for a reason and I want to know if the webmaster left it plaintext on purpose. I’m working on figuring out where GreaseMonkey stores this so I can edit it to add proper delimiter support that thinks like my programmer brain.

Fall 2005 Class Schedule 21 Apr, 2005

For the sake of coreographing schedules, here’s what I think I’m taking this fall. I’m going to take the summer off from school and just work (and try to get caught up on all sorts of personal projects like learning Sign).

EIS #Cat #Course DescDaysTimeInstructor
14714CSCE 2410.004Programming Lab (Java)TR12-1:20PR. Brazile
7536DFEC 1013.005Human Development (Honors)MW9:30-10:50R. J. Glover
3188HIST 2675.002U.S. History to 1865 (Honors)TR9:30-10:50F. Smith
4080PHYS 2220.001Physics: Electricity and MagnetismMWF12-12:50PTBA
4081PHYS 2220.201Physics: Electricity and Magnetism RecitationW1-1:50PR. Lukic-Zrnic

I’m going to try to add #13906 (Algorithms Analysis) later today, making this a total of 15 hours

Python on OS-X and iTMS 1.01 20 Apr, 2005

Well, it seems that Cameron did an independent implementation of the first bits of iTMS Parser himself last night while waiting for me to release mine (though his is ugly Perl). He should have gotten some sleep and woken up in the morning to find it waiting in his inbox. His iTunes is newer though, and I’m not sure how much of the User-Agent string is actually required.

I’m experimenting with Python a bit, trying to find something a bit more shell-oriented than php (which is great, but I get counted off by some people for using an arguably html-based language for console output). So far, it’s really cool, and I tried reimplementing some of the iTMS Parser in it. I wasn’t satisifed with LWP initially which is why I didn’t write it in Perl (well, aside from the fact I hate Perl). So in PHP I ended up writing a few functions to handle HTTP requests via sockets and handle caching, gzip encoding, etc. The documentation was really good and I got to do a lot of low level stuff. However, it’s time to move on.

With about two minutes’ hacking around with python, I found out how to set up its counterpart to LWP and make it request the first 500 bytes of the first page of the iTMS XML (ignore the url broken up, that’s so it wraps nicely):

import urllib2
req = urllib2.Request('http://ax.phobos.apple.com.edgesuite.net' + '/WebObjects/MZStore.woa/wa/com.apple.jingle.app.store.' + 'DirectAction/viewAllVideos')
req.add_header('User-Agent', 'User-Agent: iTunes/4.1 (Windows; U; Microsoft Windows XP Professional Service Pack 1 (Build 2600)) DPI/96')
r = urllib2.urlopen(req)

My only complaint with working with Python on OSX in console mode is that it didn’t support readline… I was afraid I would need to recompile it (not something I was looking forward to), but I found info on how to add readline.so without recompiling Python which was very helpful.

Two people pointed out a bug in the code for index.php which is released with the parser… the fix is to change sk=id on line 44 to read sk={$v}. itms_parser_1.01.diff

iTMS Parser 1.0 Released 20 Apr, 2005

At Cameron’s prodding, I’ve finally gotten around to cleaning up the iTMS Video URL Parser so it’s releasable. This may not seem terribly useful to most people, but it’s a good example of a screen scraper that parses XML that’s been GZIPPed.

Live example at lab/itms_parser.

In the course of writing this (November 2004, by the file dates), I came across this little tidbit which I’ve been snickering over whenever I use iTunes.

<PictureButtonView ... transparentClicks="yes please">

Here are the download links for iTMS Parser 1.0, released under the BSD License as detailed in LICENSE.txt, included in the download.

My development system is PHP 4.3.* and Windows XP, and although I haven’t tested this on other platforms, the version directly previous worked just fine on OS-X.

Accountants Make a Lot of Money 18 Apr, 2005

No pun intended.

Today I got to attend a panel discussion for accountsnts — to fulfil my PLP elective requirements so I can go to the “I’m done with PLP!” banquet this weekend. The panel was pretty informative, even to me (a non-accountant).

In one sentence, this is what I took away: “Accountants make a lot of money.”

One speaker works for Homeland Security here in the Dallas Field Office (which is in Denton, go figure). The second speaker was from Peterbilt and gave a lot of war stories about how he kept up changing jobs every few years because there was no room to move up in small companies. The third speaker was John Baines, a charismatic speaker who would be great at a graduation ceremony. I sadly wasn’t able to stay for the fourth speaker because I had class at the Research Park at 6 (with a pop quiz about compiler design).

Compiler Design… ugh. I don’t know about you, but I don’t memorize assembler components and where the “optimization” step is supposed to go, those are things which can be found in books or online once needed. I made a mistake too, forgetting that /* */ is a C-style comment and not C++-style. Oops. Shows how much I code in C voluntarially.

Butter Pats to End World Hunger 18 Apr, 2005

During a post-Physics trip to Jazzman’s, the Row Six group noticed the following:

“Hey, these things can end world hunger. It says so.”
“Really? Are they butter pats?”
wrinkles brow “Butter pats to end world hunger. It’s got a nice ring.”

Butter Pats to End World Hunger

Yeah, this is the same physics class which has not graded the scantrons from last week’s test yet, and the same one in which the prof said the following profound statement:

“There’s gotta be unknowns or there’s no [physics] problems.”

— Prof. Deering

Great Minds Arrow Through The Font List Alike 18 Apr, 2005

“Sweet. I like that font. Did you read my mind to figure out what font that was?”
“No. I arrowed down through the font list till I found one that made me think, ‘Hey, that was the font Tim was using!’ I’m sharing all the best tricks of the trade with you.”

Avalon 18 Apr, 2005

I’ve been hearing a lot about Microsoft’s “Avalon” technology recently, first from Mezzoblue and then from Anne Van Kesteren, but the thing that really makes the technology make sense can be found in an impromptu video (warning, windows media) that’s a bunch of nerds sitting around a laptop and explaining features.

The key to the technology, which appears to be something like SVG (actually, it reminds me of the iTMS internals for some strange reason) that can have behaviors. Behaviors that “take zero lines of C# or VB code to set up.” I think that’s the key phrase out of the entire video. This is for programmers that want to learn platform-specific shortcuts and listen to marketing speak about whether something will require coding. Just grabbing a random example that I saw posted, Path="(Viewport3D.Models).(Model3D.Transform). (Transform3DCollection.Children)[1]. (RotateTransform3D.Rotation).Angle" looks like code to me. True it isn’t C# or VB, so they’re technically right… but this is not a technology that I’m looking forward to.

One thing which I particularly found funny is in the video at 48:15 or so. The Windows guys are alt-tabbing to prove that an app is no longer running, and one of them says,

Guy 1
frantically “How do I get out [of alt-tabbing]??”
Guy 2
Hit escape!

They also say “Code is not a great persistance format for UI” at 44:25, which is something that I can see up front as being a good thing… but actually, what are they saying? That nib files are good too? I bet none of them have had the cross-platform experience to even know that nib files are persisted as classes which are loaded at run-time. I find the model used by wxWindows and GTK to really be rather easy to use, and even though it does use code for “UI persistence,” it’s not nearly as persistently annoying as getting a frm file in VB corrupted and not knowing how to recover it.

French is a Bad Rap 18 Apr, 2005

«Je ne parle pas.»
“Is it supposed to sound like a badly rhymed rap?”
“Yes. French is one big bad rap.”

Lightbulb Goes Ding 18 Apr, 2005

“Lightbulb goes ‘Ding,’ no wonder it was still green.”

My Humming Skills 17 Apr, 2005

As I write this, my family is watching old home movies from the 1989-1991 era (can you call them movies on VHS?) in the next room and I’m trying to avoid getting emotionally involved with my amazing humming skills when I was 6. That’s just something I’d rather forget till I’m POTUSA and somehow my enemies get ahold of copies.

Yeah, it’d be more embarrassing than the Toxic video.

That is all.

QuakeCon 2005! 17 Apr, 2005

QuakeCon registration opened on Friday (yes I finished my taxes before I registered for QC), and I’m registered as the amazingly well though out Tim_Hatch. Yeah, I put zero effort into handles, I’m known as SomeCallMeTim on BF1942 at the moment because Tim was taken. I just play the games, I don’t build a persona around them. Anyway, back to QuakeCon. I’m going to try to volunteer to figure out how exactly things are going to go down, and if you want to try to get with the Denton group, look for the Ghetto Lan guys. I think a bunch of TAMSers are going to join me, which makes me semi-responsible. At least they can drive themselves.

Source Code Management 17 Apr, 2005

Increasingly, I have halves of great ideas, but cannot finish them before I have to leave wherever I am at the time. Until today, I carried around nearly half a ream of notes around with me… things which include:

  • a pie chart generator which draws from Antigrain (and therefore PNMs and antialiasing), GraphViz (for the file format), and everything I abhorr about GD
  • commenting, which was just recently enabled here although the backend interface still needs a lot of help
  • random song titles I need to look up when I find time

I need to get some sort of SCM back in place (ever since I decided I was going to transition my dual processor machine to Gentoo, I haven’t had my “server” on), along with a proper bugtracker like Mantis for all my projects. It’s hard to remember to zip things and ftp up automatically when I’m working on no fewer than three different machines (Mac, Win2k, WinXP), with varying degrees of bash compatibility and firewalled-ness.

We need to get something set up at the office which can allow for revision of files and some basic form of checkout. Right now we keep a duplicate of the production tree which we call dev and copy over from there to the live version once we’re satisfied that it works. This doesn’t give any accountability or diff features from revision to revision, although we can utilize Netware’s salvage to see who changed files and when. I’m trying to see if we can get SVN+Mantis+Trac because it seems to work so well. I hope they run well on Windows because I doubt we’ll be able to get them to even be responsive enough to give an error on Netware.

I’m Easily Amused 17 Apr, 2005

For some reason, I’m very easily amused this week. Maybe it’s all the tests — one Friday in physics (glad they drop one, I think I only got a 70-something), and one Monday in German (for which I can only find the vocab sheets for four of the seven-ish chapters). I was driving home from a soccer game Friday and heard the song which my brother likes and I, for the most part, despise due to its pleb-ness, Boulevard of Broken Dreams by Green Day.

Download the mashup in question (original location) and listen to it before you read any further. I’m not kidding.

Really, are you sure you’ve finished it? Did you like it even (especially) if you don’t like Green Day?

Okay then, continuing...

Halfway through the chorus, it was no longer BoBD, it was Wonderwall (by Oasis). I looked at my watch to make sure time was still ticking along, and sure enough, it was (good thing too because I was driving). Then it switched back to BoBD. I started cackling uncontrollably to myself, and when I went into Pizza Patron (side note, has a semi-annoying Flash thing but at least it doesn’t autoloop) they offered me another magnet. My family has no fewer than two of their magnets, along with it being on speed-dial on the home phone, my mom’s cell phone, and my cell phone. Yeah, we really don’t need another magnet.

I’m also easily amused by comics, to include Joe and Monkey, Alien Loves Predator, Penny Arcade (PG13ish), and Jim Borgman even though I have absolutely no idea who that guy is.

And movies... Garden State is in the top 5 I’ve seen this year. And then?

Todo: Maim Tim 14 Apr, 2005

“I’ve accomplished one thing off my todo list: ‘Maim Tim.’ I do this on a regular basis.”
looks down, all limbs intact. “Is this psychologically?”
“Yes, we have a voodoo doll at home.”

My only question is, who constitutes “we”?

“I’m not weird, I’m creative. Creative people are different from normal people. There’s a whole chapter in my book about it.”

Shack-a-Thon 2005 14 Apr, 2005

UNT had its annual Shack-a-thon again, and I took some random pictures which are an online album now. I went by and talked with the people from West for a while, and then to schmooze equally I went to help DSP build a vaulted ceiling on top of their hovel, all the while taunting the TAMS kids (who had some pretty imaginative signs themselves).

Ace of Base 13 Apr, 2005

I went to the Research Park a little before class tonight, and we (the guys from CSCI 3600) were talking about musical tastes and how mine are (as Cameron once put it) “Hit and miss.” They aren’t real Ace of Base fans, and in fact while I’m not either, I do have an album on my laptop (including remixes! of Ace of Base! ha, what’s the point). I was playing one of the aforementioned remixes as an example of the stuff I keep on my laptop when some girl (yes, one of the two at the research park) told me (and my entire group) off after talking loudly herself:

Rude Girl
“Not that the music sounds bad or anything, but it’s coming out of laptop speakers and it’s not really good in the first place.”
exchanges odd look with Joey
Rude Girl
“Just turn it off, it’s kind of annoying.”
“Fine.” turns back and rolls eyes to Joey and Court with a look at that can only say “I hope she doesn’t have a gun.”

Apparently it’s okay to talk loudly and to play Rammstein but not to play Ace of Base remixes.

Ready Steady Go 13 Apr, 2005

I don’t feel like typing a lot at this hour, but I just got commenting working (yay!). Tonight I got to play (and lose) at Physics Jeopardy to “prepare” for the test on Friday (with somewhat relaxed rules). We switched out who got to play Alex. Victory Hall is like a hospital.

Conformism 13 Apr, 2005

I just got back from my German class (loads of fun, we just have a little bit of light reading, Die Ermittlung) and was intending to scan something (a nifty little State-mandated evaluation which I found quite interesting).

“Do you know if we can scan to PDF in the labs and,” noticing white headphones out of the corner of my eye “is that a new iPod?”
“Obviously you haven’t been reading my blog.”
“Since when?”
“Since yesterday.”
wheels turning... “Oh yeah, I remember something about that, you IM’d me.”
“So I’m all superconformist and everything now”
“...and preppy, so do you think we can scan to PDF?”
“You can go try, and tell me.”

Systems Programming 13 Apr, 2005

CSCI 3600 (soon to change names) is turning out to be a pretty interesting class. We don't know at any given time what our grades will truly depend on, being the tests or projects, but the class (those of us that stuck it out and are still left) are pretty sure we're all going to get really good grades. It's Mehran's teaching style to scare off people early on, make them drop if they really won't try to do the work anyway, and then he is nice to the people that are left.

We're having to do a bunch of odd things with pthreads and (for the upcoming project) lex and yacc to write a parser for something which we have not yet been told about. Chances are, it's going to be something related to assembly or C, but we can't tell.

Helpful Link

“You’ll Never Be A They” 11 Apr, 2005

Kate is making me say that I’m paraphrasing, because this is taken just a little out of context (we were discussing something having to do with cake [the food, not the band] and trying to decide whether it still counted as something daring if the office went as a group to get appreciated by being given cake). Today is the awesome “Student Appreciation Party” in the student union, where they supposedly have goodies for us, but we need to go fetch them ourselves.

We don’t even remember exactly what led up to the discussion that follows.

“Fine.” snap-wave back.
“You can’t do that.”
“Since when was snap-wave in the girl box?”
“Since forever. They decided.”
“Who’s they? The proverbial they?”
“Yes. The conformists. They decide who conforms.”
“So if I don’t look like I conform, then I am doomed to be ruled over by ‘they’?”
“You’ll never be a ‘they.’”

There’s a Quiz Today, But Don’t Turn It In 11 Apr, 2005

"C is a little strange"
"Yes, but C++ is stranger still"

Everyone should just learn Objective-C, it makes life so much simpler. C++ templates provide so many places you can go wrong in the syntax, much less an actual programming error in the logic.

Physics was kind of goofy this morning. The instructor, Mr. Deering, started writing some confusing stuff on the board, then subsequently told us it was a quiz. We started trying to figure out what he really wanted, because he was skipping over a lot, but then he wrote even more on the board. Then once we got near to solving that, he said "Forget all that, let's do part 3. Just turn this in," and wrote something completely new on the board. This process took about 20 minutes out of the class, and in the end, he decided we shouldn't turn it in, but instead take it as the first review question for the test on Friday. I love this class. Not.

Physics — Come One, Come All 08 Apr, 2005

We actually learned something in physics today. The instructor called for volunteers from the “audience” to demonstrate something, and when nobody did, he picked someone for the first demonstration (spinning with weights held at arm’s length, then close).

He didn’t have that problem for the second demonstration, because I volunteered Cameron. “Palmer!” the instructor shouted. Then Cameron got to hold a wheel as it/he was spun around... we got pictures!

Cameron & The Wheel, Part 1 Cameron & The Wheel, Part 2

April Apple Meeting #1 Wrapup 07 Apr, 2005

Our last Apple meeting was Tuesday, April 5, and we had several interesting things on the program. First was my presentation on RSS which went okay, although I think it was way too technical and I rambled a lot (but I’m my own worst critic). Next we had Jonathan’s presentation on podcasting and the wonderfully-named program, “iEatBrainz.”

Michael and Eric showed up, as did a couple of people from physics (where I wrote down the date/time on an unerasable whiteboard… which I need to fix in the near future). We had a contest to see who could come up with the most original iPhoto book and/or slideshow set to music (just the slideshow, not the book). By the sort of weird irony that seems to occur at these meetings, I ended up on the same team as Kate (coworker) and Jonathan (other presenter). Weird.

Afterwards, I went over and jammed with Cameron P (his rapper name) and we did a few songs involving horns replaced with steel drums (his roommate’s most recent acquisition). We initially were recording in GarageBand using the Powerbook’s built-in mic, which picked up a lot more than we wanted, especially the “click-click-whirr” of the hard drive. Next best thing (and the only other mic we could find)? A Logitech QuickCam USB. No, I’m not kidding, it’s Mac-compatible and we didn’t have anything else. I happened to have a USB extension in my bag too, so we were able to get a little more distance away from the monitor (a pair of earbuds, no, I’m still not kidding). Here’s the product of those efforts. If we were playing places, we would call ourselves “I hope I never see those guys play live.” I’d do that too, just to mess up people who keep their music meticulously stored under c:\Documents and Settings\My Long Username\My Music\Artist Name\Artist Name - Album Name\01 Artist Name - Album Name - Track Name.mp3 as our contribution to long band names such as “…and you will know us by the trail of dead.”

Whiteboard Prototyping 04 Apr, 2005

During our redesign, we ended up making a number of interesting observations, mostly on the two whiteboards here in the office. Now that we’ve launched, I figure these will be erased into oblivion, and should be archived somewhere.

I was elected.

First is the one that's between Kate and me. Second is the one across the room which is the only one Charlie can have a chance of seeing.

Somebody Set Us Up The Bomb - COBA v3.0 01 Apr, 2005

The new coba website is now live, the product of about a year of work — the first couple of months with just me, but the vast majority with my fellow minions hard at work getting it all put together.

Go ahead and check it out before continuing to read this, which is the ersatz release notes that go along with it: http://www.coba.unt.edu/. The more marketing-oriented release notes are at http://www.coba.unt.edu/ciltc/redesign05.php which chronicles COBA v2.0 vs v3.0 from the manager’s point of view.

The redesign was made possible by the letter X, the number four (both totally random inventions), and the contents of the “Eclectic” section of iTunes Radio playing on Charlie [the boss’s] speakers (which is true).

Aims of the Redesign

First off, our list of things we wanted to accomplish with this redesign was quite large. Insurmountably large, in fact, so we had to pare it down:

  • Stunning design
  • Tableless layout, XHTML, CSS (aiming to be the first Standards compliant site at UNT)
  • More muted colors for a more professional feel
  • Alpha transparent PNGs (obviously didn’t happen)
  • Integrated search, easier-to-locate contact info

Issues Encountered

In setting all this up, we quickly discovered several things which were some prereq’s we had to fix before going any further:

  • Apache/PHP sends iso-8859-1 as the default character set out of the box. Argh. Luckily we are using PHP and have a single include file where we could add the necessary header to send utf-8. We wanted to use utf-8 to make our lives easier. I use it in all my personal projects because I want everything to be (required effort)+1 and torture test anything I release because it needs to be able to handle all those odd edge cases. I made one signup form for CS 4010 that correctly handled word breaks even in Hirigana, and tested by plunking German, Norwegian, and Japanese all in the same field just to see if it would work. (it did).
  • Things copied from Word are in Windows-1252 and not anything sensible. Typographic quotes are really a pain. We adapted some code from php.net to handle the conversion to our GCD, utf-8.
  • The XML classes in PHP are nice, but somewhat buggy on Netware where getting access to PEAR is nearly impossible, and you can’t really touch anything.
  • File reading on Netware is buggy, if you turn on warnings — error_reporting(E_ALL) and then have a loop $fp=0; while(!feof($fp)) fgets($fp,4096);, then not only will you have an infinite loop, but the warnings exhaust all memory available to Apache, and make the server hang nicely. I managed to bring down our 4-node cluster this way. The documentation on feof() does not mention this very prominently… and IMO, feof(NULL) would logically return true. Check the docs to avoid this gotcha (the worst I’ve found in PHP so far… compounded by NW’s memory management).
  • Nested floats and print stylesheet overlays are a bad combination. Our print stylesheet still has a number of issues which trigger different browser bugs in IE5, IE6, NS7, and FF1.0. This is not fun. However, it does bring up an interesting feature: Print Stylesheet Switcher. What if when you press Ctrl/Cmd-P, it pops up with a box asking if you want the high contrast version, the low-graphics version, the WYSIWYG version, etc. I think that’d be pretty cool. OmniWeb, are you listening?

The Day of Reckoning

As of last week, my coworkers finished a bunch of the little sites and we were ready to go live — so yesterday (31. March) Charlie stayed late to flip the switch. A lot of what we had on our old site was cruft (backup_of_backup_of_old_index.shtml) and needed to be gotten rid of, but some of it (like stuff out of /images) was needed by non-public pages such as our lab reservation system. Today we’ve been putting out little fires such as those and overall letting the praise sink in (which is awkward for me, hearing how much better the new version is than “that old site”, given that “that old site” was my first major assignment when I started working here 5 years ago).

Our whiteboards are full of doodles and organizational aids, trying to keep track of it all. For documenting the progress, we didn’t go with anything nearly as complex as a Gantt chart, we used (what else) an internal html document with classes and styling for the list items. We’re all such nerds.

Where do we go from here?

“Well the battle’s done, and we kinda won, so we sound our victory cheer.”

Buffy et al.

Future enhancements include:

  • Making the logo clickable
  • Fixing the issue with shades of green on the top bar
  • Perfecting printing (which may well necessitate a complete rebuild of the master stylesheet to isolate the problem)
  • Wicked-cool sitemap


“You have an infinite abyss of information at your fingertips. Use Google.” - Kate

“What do bowling balls and beds of nails have to do with Albert Einstein? Bring your friends and relativities.” - Ad heard on KCRW

Skittles Taste Like Red 01 Apr, 2005

Skittles taste like red

“Red skittles taste the best.”
“No, the purple ones do.”
“What was that line… ‘Crayons taste like purple?’”

And with that, I lost.