Tim Hatch

Weblog | Photos | Projects | Panoramas | About

March 31 - The Day of Reckoning 31 Mar, 2005

March 31 - The Day of Reckoning

Or so it seems. I’m currently operating on two hours of sleep — here’s the big list of things just today that are going on:

I’ve got a sociology test for which I haven’t studied much. I’m going to go over one of the chapters this morning in hopes that all the names will somehow magically stick in my head, because invariably it’s not the principles themselves that are asked about on tests, but the name of the guy that came up with them.

I’ve gotten my entry to the Worldwide Panorama project submitted this morning (around 5am), which should go live tomorrow (April 1, no I’m not kidding). I think the indications are that this will be the biggest WWP event yet.

COBA (my employer) is putting their new website design today (to avoid the “Launch on April 1, no really, we’ll launch” stigma), and it’s got a lot of last minute stuff to do still since we’re short a person this week. I get to fit this in around everything else.

Tonight there’s a wind symphony concert which I’ve been told about at the last minute (why don’t they advertise things like this well?) tonight which is free to students, so I’m headed off to that. I’ll be getting back in time to madly work on the homework for physics again for tomorrow, and somewhere in there find a good prank to pull on the teacher.

In the insanity that is today’s world, I was reading about a student who changed her and other students’ grades after resetting an instructor’s password. This requires great technical skills, as evidenced by the fact that it requires the mythical https:

“Knowing what information you need in order to do the password reset and gathering that information and then going and submitting the grade changes — you don’t just trip and accidentally fall into that,” Schmidt said. “That requires some specific planning and effort to do that.”

Schmidt said although eGrades is accessible through the Internet, there are security precautions that protect it from unauthorized usage.

“You have to use an encrypted web browser connection, so if you know that as the geeky https, you have to use an https connection, so that provides the real protection to it,” Schmidt said.

Altered Grades Lead to Student’s Arrest

That’s verbatim, I didn’t edit it. I don’t know about you, but resetting a password doesn’t seem like rocket science to me. I especially like how the geeky https will protect anything from unauthorized usage somehow.

Easy Unobtrusive Tabs via the DOM 30 Mar, 2005

My supervisor came to me last week wanting to get something seeminly simple — tabbed dialogs for webpages — working on a script we're doing. While this ought to be simple, the scripts that are out there make it way harder than it has to be. They're designed for ancient browsers, and rather than simply degrading nicely for them and showing headings, they try too hard, and try to sniff browsers.

With the current state of browsers, none of this is required. Try your best with the DOM, and if it starts misbehaving, just give up and still show the content. To this end, I've created a simple (by comparison!) script that uses the DOM and stylesheets to create a nicer tab view on the fly, without having to specify anything fancy beforehand. Try disabling Javascript to see what older (non-DOM) browsers see.

Note that a unique id is required for each tab, and that the activetab class needs to be applied to whichever you would like to be initially selected. This class is not used for making the tab stand out at all, but this is a likely enhancement for the future.

Note: some helper functions were borrowed from nicetitles and evolt. I believe that nicetitles was released under a license that favors the spirit of extension (although not Embrace, Extend, and Extinguish), and the code on evolt was posted for everyone as a learning experience... so while those functions are included in this Javascript, I do not intend to release this code under any more or less restrictive license. My contributions are released to the public domain (honestly, how much copyright can you put on a for loop in Javascript?), and the helper functions remain under their original licenses, whatever they are. This code was produced while employed at UNT, and released by their permission.


The original code did not work properly in Netscape 7. This had been fixed in our local implementation but not sync’d with this sample. The example has since been fixed: line 15 (in .tablinks should read overflow: visible, and a new rule .tabcontent { clear: left; } should be added.

If any other browser oddities arise, please report them and I'll do my best to get it resolved.

Facebook Interaction Graph 30 Mar, 2005

For the last couple of weeks, I've been pondering gathering information from the facebook and making a graph of the interpersonal connections to be displayed here at one of the dorms. As time went on, though, I found it would need a very good index, and grid lines just so you can locate yourself.

Note to self: doing experiments for graph theory that make on the order of 100,000 requests to a webserver (when fully optimized) will get your ip banned and account terminated (although not banned, oddly enough) from the facebook. There are about 7,500 users at UNT, and I got information on about 6,900 of them before the process died, due to the server no longer returning data for requests from my ip.

For this same project, I was going to write a script that would split up a graph (produced by GraphViz) into tiles which could be printed on cheaper paper (tabloid size, 12x18, is $3 to print, but a 24x36 costs $30) for the poster-type graph. I then started dreading actually interfacing with Freetype (not one of my favorite pastimes) and located a library called Anti-Grain which has built-in antialiasing of lines, bezier curves, and text and looks great (although it's C++, not my favorite). The documentation assumes knowledge of PPM, which is my personal favorite also, due to its simplicity. In fact, the documentation for Anti-Grain almost serves as a better way of explaining PPM than the PPM documentation does. I think a PHP library for this would be quite interesting, especially with some of the more advanced topics that it's able to do really easily (like a 3-D pie antialiased pie chart... hmm, next todo).

Links 2005-03-25 25 Mar, 2005

I've got a CSCI project due Monday and have yet to start. We're supposed to model a set of bank tellers and different types of queueing systems as an excuse to use pthreads (goody) but the assignment itself is pretty lame. Anyway, a lot of links have been piling up lately that I should get off my browser so I can actually see my tabs once again.

Education and cupcakes 25 Mar, 2005

This has been quite a week for quotes. I was passing by from math on the way to sociology and passed the free speech area which was very occupied, and there was one group for raising awareness of war casualties, one for Men Against Violence, and the Students for Moral Values.

Men Against Violence:
“Education, cupcakes, and ending violence — these are three things I can get down with. Help end campus violence and get a cupcake while doing it.”
“Nambla and moral values are roughly synonymous, aren't they?”
“Of course.”

From sociology class (unattributed on purpose): “They come out after noon on Friday and tell everybody, 'Classes have been cancelled due to the benevolence of somebody or another.'”

Tim vs. Dallas: One day left of spring break 24 Mar, 2005

This is the chronicle of a concert I went to last Sunday, and the events leading up to it. I just wanted to make that clear because I’m posting it in the middle of the week, now that I’m finally caught up with sleep.

I found out about a month ago that the Kings of Convenience [colloquially called The Perverts among friends] were going to be coming to Dallas (to the Gypsy Tea Room) on their first (to my knowledge) US tour. I’m a very predictable person, and when I mentioned this fact offhand to Kate, she dared me to go because it would be out of the norm (she bet a jumbo jack, our unit of currency for bets at work... how could I resist?). I went ahead bought tickets ahead of time because I somehow sensed that time would be running short -- I’m never on time to things -- and then found out that someone who said they’d go had other commitments and so I was left with an extra, later taken by Will at the last minute.

You’ll never guess the one thing my parents asked as I was heading out (late, of course), was “So you’re sure this isn’t a gay bar?” Hahahaha (we’re still laughing about this) yes, mom.

Traffic was light on the way there, and Google Maps’ directions were spot-on. I parked on the north side of the Tea Room and noticed a line out the door. A little odd, I thought, given that the doors had opened 45 minutes previous, and the line wasn’t moving... after about 10 minutes of waiting, we ended up asking what people were waiting for and it turns out there were two doors on opposite sides of the block and the address on Elm is the “front door.” “Nobody told me there were two holes!” After finding the right door (and the tour bus right outside) we went in to a mostly-empty largish room that is the ballroom.

About 30 minutes later, a frazzled Erlend came out to introduce Feist [didn’t catch her real name, though I should look it up], who was opening for KoC, then skittered off to presumably wake up a bit. Her first few songs were great, after which she asked if we wanted to hear another ballad or something more like a “boom-sha-ka-ka-boom” song. The response was almost exactly the same (in reality I think everyone voted twice!) and so she started the “boom-sha-ka-ka-boom” song which sounded exactly like her accapella interpretation, oddly enough. Then she offered to sing a ballad over the bass line, which brought us all to laughter.

We listened to her mesmerizing voice for the next hour, and then the Perverts came onstage to begin. I don’t remember the setlist but I had the opportunity of standing right next to someone who must be their biggest fan and knew the entire lyrics to every song they sang [I only knew two fully].

At some point, E&E became overcome with the smoke, and asked for the air conditioning to be turned back on. Erlend went into a deadpan tirade - “Why do you people smoke anyway? It’s bad for you,” which drew a few cheers from those of us who don’t smoke, and quite a grumble from those that do. As they got ready to start the next song though, Eirick told everyone “It’s good for you” with a smile, much to Erlend’s chagrin.

Someone yelled out “God bless America,” which Feist and KoC had to ask to be repeated about five times before they could make it out. Erlend explained that he thought it should be “God bless the world,” but that would sound too hippie, so he said instead that it ought to be “God bless America. And Norway,” to which Feist quickly added “and a little part of Canada.” I heard most of my favorite songs, “Cayman Islands,” “Misread,” and a few others that nobody who is reading this would likely recognize.

Once they started playing “I’d rather dance with you,” we knew it was going to be the last song. It was a beautiful rendition, and they came back for an encore, “Little kid” I think, and then everyone started leaving. My snapping fingers exhausted, I took Elm back toward downtown, and managed to get back onto 75 instead of Woodall Rogers, and was thrown northward past the exit I needed (curse you, Dallas road designer).

I thought I would simply take Mockingbird over, which was only a couple miles ahead, but then traffic stopped. And crawled. It took over an hour to make the 2-3 miles till Mockingbird, due to what must have been a very large accident (closing 3 lanes of traffic), and two stalls in the meantime. Once up to Mockingbird though (which was all but closed due to the accident, so I continued on), and past the worst of the Dallas crazies, it was just a few miles till 635. All told, we left at 11pm and I wasn’t home till 1:30. Ugh. I didn’t know that many people were on the streets at that hour.

Pictures are online in the gallery.

Week In Review (and it’s not yet over) 16 Mar, 2005

This is going to be a most interesting spring break, even without SxSW. Maybe next year on that. I spent last weekend at the Houston WHEP contest taking pictures and panoramas. Monday was spent putting in some water pipe, which continued for some of my family till today. Tomorrow I’ll be going to the arboretum in Dallas.

The Worldwide Panorama Project is gearing up again, tomorrow marks the beginning of shooting for “Marketplace.” I was originally going to track down one of those guys that sells bonsai out of the back of a pickup, but I haven’t seen any since last November so I had to think again. Right now it’s narrowed down to either the Infomart in Dallas, or some random thing in Deep Ellum this weekend. I’m a little wary of carrying a lot of gear with me there (less running speed, heh), but you do what you have to.

I’ve got two books I should really slog through before the break is over - Hair of the Dog (the American stereotype of Irish drinking), and Max Frisch’s Andorra (for German). Because of (in spite of?) that fact, I was bored earlier today and made a script that’s capable of parsing Fire.app’s logfiles and extracting funky away messages, and sorting them by popularity. It’s really ugly at the moment, but produces some decent output. Here’s the script itself (adjust path and username to your liking, several times in the code). I should have done it in Perl, and/or I should have commented it better, but this was a five minute hack to just prove it could be done.

In other news, Threadless is having another one of those $10 sales again, just so you know.

Houston WHEP 11 Mar, 2005

Random thought for the day: “That’s a mummified swamp!” We’re on the road now headed to H-town (pictures later) and coming up next weekend is the next Worldwide Panorama event (theme: Marketplace; clue of where to take a picture: none). We’ll see how that ends up (it may be a full weekend).

A few quick things today. I know it’s been a while since I updated, but rather than apologize for that, I’ll just move on and console myself in the fact that it hasn’t been a month this time :).

  • I’m addicted to half.com. If you thought ebay was bad because you get caught up in the “thrill of bidding,” what about when you get (as Kate would call it) “instant gratification”?
  • I wish Amazon’s wishlist integrated better with other places, for example (my beloved) half.com. Or B&N. Or anywhere else for that matter. I don’t care for froogle’s implementation, it seems to be missing the “impulse buy” feature that is what makes Amazon’s so good.
  • Last Christmas, after relatives hassled me for a list of things I’d like, I ended up pointing them to my Amazon wishlist. I know, it’s pretty lame and impersonal, but it was painless both for the giftee and the gifter (and saved a bit off retail too!). I don’t abhorr stores but the experience on Amazon beats driving over to Target only to find that they don’t have it in stock in the first place.
  • Sublime (the codename for the engine behind this monstrosity I call a blog) is going nowhere fast. I’m thinking of migrating to something else, something that supports Texile without a lot of custom programming on my part. My coworkers have given me a bit of a hard time (rightly) for being some sort of css advocate, yet my site is nearly completely unstyled. That’s mainly because it takes so much to actually put any sort of post up (involving editing, validation [even for really simple stuff], and finally ftp) I’m tired of writing posts as manual xml files - I don’t know how Zeldman manages to do it week after week.
  • I recently finished the book Seeing Voices. I think he made the subject very engaging, and pushed me to learn more, which is one of the primary goals of an author - convincing the reader of the legitimacy of your position. I’d give it four stars - the end notes are massive and account for roughly 1/4 of the book! I wish these were cross-referenced with minimal footnotes explaining what was in the endnote, so I could judge whether it’s worth flipping to the back, because quite often the endnotes were every bit as interesting as the main text was.
  • Now that we have ways to identify songs by their constituent bits (MusicBrainz, et al.), wouldn’t it be great if we could apply something like that to books? I was in B&N last weekend and found one book that had really nice colors on the cover. I remember some things about it but none of them would help me identify it online — the aspect ratio was reminiscent of Goodnight Moon; it was hardcover; it had a medium blue with a complementary green bar on the cover; it was very well bound (by that I mean it was sturdy, and sewn); and that it was in the childrens’ area approximately 2/3 to the right of center on the main display, laying flat; it had about 40 pages, give or take (a heavyweight satin finish); it was an easy reader. I could try AskMeFi or (gasp) actually call the store, but in the interest of “instant gratification,” I’d like to find it online, now. B&N’s site is entirely unhelpful when I asked it to produce a list of hardcover childrens’ books. It also suggests Harry Potter for ages 4-8, which seems a bit off the ball.
  • Running EtherPEG on an open segment at a major university would seem to be a thing of the past. However, with the advent of wireless, we have one huge segment for all of campus. Apparently people are interested in, among other things, a GWB action figure. Currently it doesn’t support PNGs (we’ll see if I get bored enough), and uses the somewhat-older Carbon GUI, but compiles nicely with GCC (the requirement of CodeWarrior on their page is a bit of a misnomer). I think it would be interesting to modify a generic app like this to produce realtime graphs of different types of traffic (for example, HTTP vs BT vs Gopher).
  • And now, a question: is there a separate mark for an apostrophe at the end of a word? I use ’ for interletter apostrophes, but I’m not a typography expert at all.

The Alleged Big Update 04 Mar, 2005

The previous post was insinuating that I would have some multimedia to post, and I admit that this is a bit late (almost a month!) but here it is:

Posting here has slowed down given that I have a little thing called “homework” that’s constantly coming due, and no web admin interface yet, so posts are created by hand with a little TLC.