December 31, 2005

Upgrading to WordPress 2.0

Filed under: Technology — Cory @ 1:32 am

When I first started this blog back in March I decided use code directly out of the WordPress Subversion repository, rather than doing the sensible thing and using the stable release. During the first few months I updated the code from svn every couple of days, until an update relied on an underlying database change that of course wouldn’t get applied by just updating the code. At this point I stopped updating the code, and was stuck using an 1.6-alpha version of WordPress. This made me a little bit nervous from a security standpoint, but I removed the xmlrpc.php file and just dealt with it.

So when I heard that WordPress 2.0 had been released, I was anxious to upgrade. My only concern was that the database might have changed in a way that would make it difficult to import the data from my 1.6-alpha schema. Well, as it turns out, everything was extremely easy.

First I dumped the old database using `mysqldump -u username -c -t -Q -p database`. Then I set up a new site and went through the default WordPress installation procedure. I then deleted all the data from the new tables and tried to import the dumpfile. That failed because the new wp_users table did not have a user_level column. I ran `alter table wp_users add column user_level int(2) after user_registered;` and then the import worked perfectly. I copied my theme files over, as well as my images, favicon and gallery and then moved the new WordPress directory into place, and everything worked! Sweet!

Recently I made a comment on a mailing list that if I were starting a blog now that I would choose Typo. That is probably still true, but I have to say, WordPress 2.0 is very, very nice. There is a nice list of the new features on the development blog. So if you are running WordPress and you have a few minutes, go upgrade.

• • •

December 20, 2005

My Favorite Third Party Mac OS X Software

Filed under: Technology — Cory @ 1:33 am

So, back in the day I started out using Windows 95. When I learned about Linux I started using it more and more until mid-1999 when I was Linux-only on my desktop and laptop. This is the environment that I kept for the next 5 years, until one late Friday night at the office in early 2004.

I was running Debian Sid on my desktop at work, and I had dist-upgraded to pull the latest packages. I usually did this on Wednesdays of each week, but this particular week I did it on Friday. Well, as was not uncommon, X and KDE did not work upon the reboot. I was used to fixing this, so it normally wasn’t that big of a deal, but for some reason that night I decided that I was finished with this nonsense. After finally getting everything working again, I talked with my friend Mike in Austin, another long-time Debian user who was researching iBooks at the time. After an hour or so of talking with Mike, I decided what I needed to do. The next morning I woke up, drove to Fry’s in Austin and bought an iBook.

Initially it was weird, very weird. But as I came to accept the fact that Mac OS X is not Linux, things got a little easier (the `ps` command does not have an ‘f’ flag, ugh!) . Of course it was nice to have a slick music player, and an integrated mail/calendar/address book application, and those were bundled with the operating system. And before you tell me that this was available for Linux, believe me, I know. I spent years on Kmail, tried Evolution several times, and used Thunderbird after it came out. I don’t care what you say, none of it compares to the ease-of-use that I found with the Mac. But what made the whole transition really nice was all the freely available software to help mimic my Linux environment on the Mac. This is not a complete list, but here are a few of the applications that I’ve particularly enjoyed using over the past year and a half:

  • Adium – Multi-protocal instant messaging client based on the Gaim libraries. I use it for Jabber, ICQ, Yahoo Messenger and occassionally IRC and AIM.
  • Desktop Manager is an application that brings virtual desktops to Mac OS X. When I switched my desktop from Linux to Mac OS X, the thing I missed most was having virtual desktops. This little app solved that problem.
  • Firefox, of course.
  • Fugu – A really nice GUI for SFTP and SCP.
  • Handbrake – A nice little program for extracting videos and DVDs to put on my iPod.
  • MacStumbler – This helps locate wireless networks and gives information about each network.
  • QuickSynergy and Synergy – despite the awful names, these are a couple really cool apps. QuickSynergy is a graphical frontend to Synergy. According to its homepage, “Synergy lets you easily share a single mouse and keyboard between multiple computers with different operating systems, each with its own display, without special hardware.” If you have more than one computer at your desk, you should check out Synergy.
  • Skype – Talk to anyone over the Internet for free.
  • SSHKeyChain – Stores all SSH keys in the Mac OS X keychain. Basically an elaborate GUI version of ssh-agent/ssh-add.

I’d love to hear about any other useful Mac OS X applications that yall have used.

• • •

December 12, 2005

Phishing Scams – Paypal

Filed under: Idiots,Technology — Cory @ 1:34 pm

Recently I have started receiving more phishing emails, so I thought I would explain these things and give an example of one. For those that don’t know, phishing is when scammers send email disguised as reputable companies such as Paypal and eBay, and sometimes as banks. The messages tend to look very similar to emails sent by those companies, in an attempt to trick you into clicking on a link in the email. Often, you will be asked to enter some login information such as your email address and password, or even worse, your credit card number. These email messages are sometimes very difficult to distinguish from the authentic messages from the actual company, so unsuspecting recipients rarely know the difference. Here’s an example of one that I recently received:

Dear PayPal User,

We recently noticed one or more attempts to log in to your PayPal
account from a foreign IP address.

If you recently accessed your account while traveling, the unusual log
in attempts may have been initiated by you. However, if you did not
initiate the log ins, please visit PayPal as soon as possible to verify
your account:

https://www.paypal.com/us/cgi-bin/webscr?cmd=_login-run

Changing your password is a security measure that will ensure that you
are the only person with access to the account.

Thanks for your patience as we work together to protect your account.

Sincerely,
PayPal

—————————————————————-
PROTECT YOUR PASSWORD

NEVER give your password to anyone, including PayPal employees. Protect
yourself against fraudulent websites by opening a new web browser (e.g.
Internet Explorer or Netscape) and typing in the PayPal URL every time
you log in to your account.

—————————————————————-

Please do not reply to this email. This mailbox is not monitored and
you will not receive a response. For assistance, log in to your PayPal
account and click the Help link located in the top right corner of any
PayPal page.

PayPal Email ID PP321

Anyone who has a Paypal account will know that this looks very similar to the official messages that are sent out. However, this message was from a phisher, not Paypal. When I moved my mouse over the link in the above message, it pointed to http://paypalusupdate.info/cgibin/webscrcmd=_login+run/?logIN (DO NOT VISIT THAT LINK) rather than the official https://www.paypal.com/us/cgi-bin/webscr?cmd=_login-run link that it appeared in the email.

The phisher even took the time to modify the message header so that it would appear the email originated from a Paypal mail server:

From: [email protected]
Subject: PayPal Email ID PP321
Date: December 11, 2005 1:28:53 PM CST
To: XXXXXX
Reply-To: [email protected]
Return-Path: <service @paypal.com>
Delivered-To: XXXXXX
Received: (qmail 12824 invoked by uid 533); 11 Dec 2005 19:38:58 -0000
Received: from 217.79.182.36 by silver.standblue.net (envelope-from <service @paypal.com>, uid 504) with qmail-scanner-1.25 ( Clear:RC:0(217.79.182.36):. Processed in 1.311025 secs); 11 Dec 2005 19:38:58 -0000
Received: from y036.yellow.fastwebserver.de (HELO 217.79.182.36) (217.79.182.36) by a.mx.standblue.net with SMTP; 11 Dec 2005 19:38:57 -0000
Received: from mexmmgabg.paypal.com (mexmmgabg.paypal.com [128.235.17.2]) by with Microsoft SMTPSVC(5.0.2195.6824); Sun, 11 Dec 2005 12:33:53 -0700
X-Qmail-Scanner-Mail-From: [email protected] via silver.standblue.net
X-Qmail-Scanner: 1.25 (Clear:RC:0(217.79.182.36):. Processed in 1.311025 secs)
Message-Id: <[email protected]>
X-Mailer:
Mime-Version: 1.0
Organization:
Content-Type: multipart/alternative; boundary=”=_IhfLiENz5z0″

If you receive a message from Paypal, eBay or any bank, please do not click on any link in the email. If you want to be sure, open your browser and type in the URL of the site, such as www.paypal.com or www.ebay.com, login, and update your information from there. Just please, please do not click on the links in these emails.

• • •

December 3, 2005

Firefox 1.5 Released, foXpose

Filed under: Technology — Cory @ 5:30 pm

[ Firefox ]For all of my friends who are not web browser freaks, I thought I would mention that this past week Firefox 1.5 was released. This is the most significant update to Firefox in quite some time, so if it is your chosen browser you will probably want to upgrade. And if you are not currently using Firefox, consider switching.

This release includes functionality that allows Firefox to automatically apply upgrades, so you won’t have to watch for new releases to download and install. The 1.5 release also appears to be much faster than previous versions.

As usual, the new version can be downloaded at getfirefox.com.

Also, there is a new Firefox extension called foXpose that is worth checking out. The foXpose extension is much like Exposé that comes with Apple’s Mac OS X. When foXpose is installed, pressing control-shift-x (or command-shift-x on OS X) resizes all the open browser tabs and displays them in a single screen. You can return to a tab by selecting it in the foXpose display. Nifty little extension, check it out.

• • •

November 28, 2005

Back in the Day: ICQ, Winamp and WinNuke

Filed under: Friends,General,Technology — Cory @ 3:00 am

Last night my buddy Johnny Strunk and I were reminiscing about the old crazy days of instant messaging, and I started thinking about my early experiences with computers and the Internet.

Growing up in Blackstone, VA, I spent most of my teenage years focused on go-carts, guitars, basketball and squirrel hunting (yes, its true). My dad had computers around the house for years and our home was one of the first in the county to be on CompuServe. However, it was all text based and I had never really taken much of an interest.

Strunk was just the opposite. He was all into computers and was the man around our high school1 for fixing anything that used electricity. At that time, most of the computers at Kenston were still old Apple IIe’s, with a few Macintosh’s mixed in whenever the school could scrape together some extra cash. Strunk hated messing with those old Apple’s, and by the time we graduated he was happy that the school had been given an old Dell running Windows 3.1.

Around this time “AOL” was becoming a household name (at least in our neck of the woods) and Strunk had a subscription. It was at his house in the spring of 1997 that I first saw a website, and it was a memorable one: www.heavensgate.com. Those crazy black-nike-wearing, spaceship-riding aliens had just committed suicide and their website was all over the news. Of all the websites on the Internet, this is what my friend chose to introduce me to the World Wide Web.

When I arrived on the Hampden-Sydney campus as a freshman in the fall of 1997 I was far from computer saavy. It was the first year that HSC had recommended that students bring their own computers, so when it came time for me to head off to school my dad hooked me up with a sweet Pentium 166MHz with 16MB of RAM and a 3GB hard drive running Windows 95, of course. I had no idea what to do with the machine, so at first it was mainly used as a glorified CD player. Asking Strunk for help was not an option, as he was two hours away working on his computer science degree at his new home, The College of William and Mary.

 [ ICQ ] After a couple weeks of school I got an email from Strunk, telling me to go to www.mirabilis.com and download something called ICQ. I did this and installed the software, and after a few emails from Strunk, I had my UIN2 and was online. Of course, initially I had no idea what this meant or how it was significant. I hated typing emails, and this seemed to be a way to get in touch with people without composing an email, so I was all for it. Soon he showed me how to send files through ICQ, and he sent something to me that he said was music. I clicked on it, and nothing happened, so he told me to go to www.nullsoft.com and download something called Winamp. After I downloaded and installed the software, Strunk told me to drag the music file on top of the Winamp window. I can remember the excitement as I listened to that first mp3 (“Far Behind” by Candlebox) and realized that my friends and I could send music to each other, for free!

 [ Winamp ] So this whole trip down memory lane started last night when Strunk reminded me about one really annoying (and fun) feature of the early ICQ clients, some of you may also remember this. I can’t recall exactly what it was named, but there was a feature that allowed you to playback a foghorn sound on a recipients machine. Anyone who had this happen to them can probably still remember the sound. The first few times this happened to me I was completely confused and thought my computer had contracted some sort of extremely obnoxious virus. I soon discovered that I also had this ability, and neither friends nor family were spared, but I thought it was hilarious.

 [ WinNuke 95 ] This reminded me of another annoying little Windows app that we had a lot of fun with: WinNuke. WinNuke was a small app that could be given an IP address, and it would DOS it. It took advantage of the WinNuke OOB vulnerability and would completely crash the victim’s computer. Combined with ICQ (which would reveal a person’s IP address), we used WinNuke to “bluescreen” all of our friends on campus. I can remember “nuking” one friend’s computer when he was apparently nearly finished with a paper. I guess this was before word processors had auto-save because he claimed to have lost all his work, but I always doubted he had actually written anything. For some reason, these things never stopped being funny.

It wasn’t long after this that Strunk set up my first Linux desktop for me and I started down a more serious path with computers. But, that’s a story for another day.


1. For those that do not know, I attended grades 4-12 at Kenston Forest School, a small, rural private school in my home town of Blackstone, VA. This was not an elite “rich kids” boarding school. Think “Happy Days” meets “Green Acres“. The school was poor and always needed money. Fundraisers included selling Coach’s Brunswick Stew, selling fruit, selling Krispy Kreme doughnuts, and selling tickets to the “Texas Festival,” an all-you-can-eat BBQ/ribs/stew event. Notice a trend?

2. Although I have not regularly logged on to ICQ in almost 4 years, I still remember my UIN as if it were my social security number.

• • •

October 28, 2005

Hello Nissan, Goodbye Ford, Hello iPod

Filed under: General,Technology — Cory @ 1:56 am

For the past 10 years I have only really owned and driven two vehicles: a 1988 white Nissan pickup truck, and a 1994 blue and white Ford F-150. Neither of these vehicles had working air conditioners, and both were used and/or wrecked before I got my hands on them. Not having air conditioning in a vehicle doesn’t mean much to people who live in yankee states, but having spent a year in New Orleans and two years in Texas, it was beginning to mean something to me. Still, it wasn’t the driving factor for my decision to finally give up the trusty Ford. Indeed, it was the ridiculously high price of gas that caused me to look elsewhere for truck-love. Spending $250/month on gas is just plain aggrevating. This will not stand, man!

[ Return of the Nissan ]

I wasn’t really looking for anything, but a few weeks ago a guy at work sent out a message to the staff email list advertising a 1996 white Nissan pickup for sale, and relatively cheap too. Having previously owned one of these little trucks, I know how good they are, so I quickly wrote him back and arranged to have a look at the truck. The truck was in great shape and the price was right so I once again became the owner of a white Nissan pickup. The best part? After 10 years of driving in the heat, I finally own a vehicle that has air conditioning. No more sweating on the way to concerts in Austin, no more fearing summer road trips, no more wishing I had A/C!

[ Trusty Old F-150 ]But along with all that frosty happiness comes a little sadness as well. It makes no sense to keep two trucks, so I had to sell my beloved F-150. Despite its cooling deficiency, I really loved this truck. My Dad came across it when I was in my senior year of college after I neglected to put oil in the previous little white Nissan for, oh, a year or something (that was a lesson learned the hard way, sheesh). The old Ford saw me graduate college, towed all my personal possessions to New Orleans and back, carried me through the snowy Virginia winters, and made a heroic effort to get everything out here to Texas in the dead of summer (without question, those were the hottest 4 days of my life). It has been an extremely good truck, and I can’t say enough good things about that model of the Ford F-150. But, I guess at some point everything must move on.

As part of an incentive to sell the Ford, I sent out a staff email and offered my iPod mini along with the truck if I had a buyer before the weekend. Apparently iPods can be used to sell anything, in case you were wondering. Within an hour I had several inquiries, and a little over 24 hours later the title had been signed over and I had cash in my hand. [ Son of iPod ] “Cash”, you say? Yes, and what does a person do when he no longer has an iPod, but has cash? He drives to the nearest Apple Store and buys a new one, of course.

This time I opted for the recently released Video iPod. I’ve had two iPod minis and they were great, but I bought them for the size, not the price. Previous iPod models were just too big, I wanted something I could fit in my pocket. When the new iPods came out I heard that the 30GB model was much smaller, and upon visiting an Apple Store I was excited to see that this was true. In fact, its even thinner than the mini was. So, with all the cool new features and smaller size, I opted for the traditional iPod instead of the much smaller iPod Nano.

I’ve only played around with it for a few minutes so far, but I am already impressed. The only issue I have encounted involves playing “muxed” mpeg files on the iPod. I was trying out Podner for converting movie files into iPod size videos, and I found a FAQ on their site regarding the muxing issue. This macworld thread also discusses how to convert it into a non-muxed video. I don’t know anything about audio or video formats, so this is all new to me.

Sleepy now, good night.

• • •

October 16, 2005

“Shelter Famous”, or, How To Build Disaster Relief Software (with Rails)

Filed under: Friends,General,Technology — Cory @ 8:59 pm

All I wanted was sleep.

It was Labor Day and I had been out late the night before playing “nickel and dime” poker with friends. I probably made it to bed around 4am, and the only thing I had planned for my day off was sleep, and maybe catching up on the book I was reading, The Tipping Point. But my slumber would come to an end around 10:30am, and it would be another 3 weeks before I finally would get a decent night’s sleep.

When my phone rang that morning I quickly awoke and jumped out of bed, as I always do. The caller ID on my phone said “Brett’s Cell,” so I figured he was calling to tell me about a cookout or pool party at The Big E Ranch for the holiday, after all, Brett is known for his parties.

I had only been awake for a matter of seconds so I can’t remember exactly what he said, but it was something like “I need a sysadmin, can you help me?” He proceeded to tell me about the Windsor Park Mall shelter that Rackspace had set up and how a better way to track people was desperately needed. “Sure, I’ll be right there.”

When I arrived at The Ranch Brett told me the rest of the story. I already knew that Rackspace CEO Graham Weston had offered up the old Montgomery Wards building at the Windsor Park Mall for use as an evacuee shelter for victims of hurricane Katrina, and that Racker’s had been working all weekend to get it in condition. Graham bought the building a few years earlier with plans that it would become the next Rackspace headquarters. For various reasons, we relocated elsewhere so by this time the Windsor building had been vacant for around 5 years. The real problem was that evacuees had already begun arriving at the shelter, but to everyone’s amazement, neither the Red Cross nor FEMA had any computerized system in place to record information about who was entering or leaving the shelter. I found this hard to understand, mostly because where I work everything is computerized and automated.

Brett told me that he and Dirk had started working on a web-based application to handle this problem and showed me what they had so far. There was a basic page for registering members of a family and checking them in, but not much more. Dirk was no longer working on the code, and Brett does very little programming, so there was a lot of work that needed to be done. To top it off, they had chosen to use the Ruby on Rails framework, with which I had no experience. I spent the rest of that day learning the language and framework, banging my head against the wall, and wondering how to do things in Ruby. With the growing list of tasks that were piling up, it became clear that we needed to recruit teammates. I paged Brandon and called Will, who were both busy for the holiday but would be available the next day. Brett called Lister, who was ready to help immediately. The team was growing and the deadline was shrinking; the race was on.

I left the Ranch around 1am that Monday night, and returned around 9am the next morning. Will came over to help that day, but had to leave around 6pm. Shortly thereafter Brandon arrived and began redesigning the heart of the application: the family page. We worked until around 2am and then headed home to crash for a few hours. The next morning we reconfigured our work area at the Ranch so that we were all sitting at a tall table, facing each other. This worked much better, and for the next week the Ranch was not only Brett’s home, but also all of ours. Wednesday we worked from 10am until 6:30am on Thursday, only breaking for a vendor sponsored sushi dinner and a midnight caffeine run to Starbucks at the Quarry. I had no idea what time it was until Brandon said, “Crap, now we are going to have to deal with morning traffic.” It finally hit me how much fun I was having: I had completely lost track of time, I was exhausted, I was hungry and most importantly, I did not want to stop. Do I really need to sleep? Sigh.

When you are having this much fun, time completely disappears. We each had special skills to contribute, and everyone’s abilities complemented the others. We were all doing what we do best and we were focused on a single, clear goal. In other words, although each of us was playing a different instrument, we were all in the same key, and the result was harmony. Our “Disaster Orchestra” roster:

  • Brett – our point man, interface designer, blogger and badgemaster. Unlike me, he does not need sleep.
  • Will – DBA extraordinaire, software master, reporting engine. He can ruin your life with a single database view, so don’t tempt him. (Also, he speaks in weird tongues over Google Talk)
  • Brandon – blazingly fast coder, ajax lover, image-rotater. Try finding a problem he can’t solve.
  • Lister – go-to man for anything and everything, wireless ninja, sushi-destroyer. This man is everywhere at the same time.
  • Cory – sysadmin, ruby-newbie turned rails lover, food services. Just don’t ask me to install RT ever again :)

The extended family included Sharon, Tom, Ed, Marcus, Edwin, Debra, Suzy and a cast of about 200 other Rackers.

Back to our story. It is now Thursday morning and we are ready to unleash our software to the shelters. To hold them over, another Racker had written a small CGI application in Perl with MySQL to capture some basic information on the evacuees who were checking into the shelter. We wanted to import this data, so I wrote a script that logged in to his server, dumped the data, imported it on my laptop, generated a Postgres SQL file, uploaded it to our server and imported it into the database, all in one quick run. Around 2pm on Thursday Sept 8, we ran the conversion scripts, enabled our software, shutdown the old CGI script, and starting teaching the volunteers how to use the new application. 1..2..3..deploy!

It had been a few days since the evacuees had begun arriving in San Antonio, and apparently we were not the only people who were developing software to help organize all the information. We had seen volunteers in the shelters using various other applications to search for missing persons, and other systems for tracking the evacuees at the shelters, but none seemed to be as simple to use as ours. This might not seem like a big deal, but when volunteers are coming and going every hour or so, it is imperative that they be able to sit down at a workstation and immediately begin working without waiting for training, or having to read documentation. Other systems we saw required specific operating systems and browsers (Windows/Internet Explorer/ActiveX), but apparently the people who designed them had no idea what type of machines would be available at these shelters. Most workstations were loaned to the shelters by local businesses or individuals, and we even had a few ancient Pentium 166 machines running Windows 95/98. By requiring the latest in Microsoft technology, these other applications were locking out many people who were using these systems. On the other hand, our system was built to work with any system capable of browsing the web.

We were also faster to respond to the users than anyone else. We often worked right from the shelter so when a volunteer suggested a feature or had a problem, we were immediately able to make the changes and update the application. Sometimes we would watch people using the application to see how we could improve the interface, or speed up repetitive processes. It was a hyper-agile development environment, which Rails made possible. The users knew whom to contact if they had a problem, and most of the time we were within 15 feet. Also, people associated the application with us personally, which was really cool because we were proud of our work, and our users were appreciative; how often does that actually happen? ;)

Over the next few days we made many changes and added more functionality to the application. Brandon and Will both had obligations during the first weekend that the app was live, so when they returned we were able to dive back into things and resume development. We began refactoring, cleaning up the code and performing general maintenance for the next few days, that is, until our next assignment knocked on the door the following Thursday.

We were working from the Ranch when Sharon called to tell us that she had promised that we would have an ID badge system in place by Monday morning. Badges? None of us had any idea what was involved in printing ID badge cards, but then again, just a few days earlier none of us knew how to build software to manage shelters filled with evacuees from a natural disaster. Apparently she had been given 10 minutes to decide if we could do it or not, and after seeing what we had done the previous week, she had no reason to believe we couldn’t do this either. Only this time we were quite out of our element, that element being software. So, first things first, a full featured (not-so-cheap) ID card printer was ordered and shipped via next-day air. Then we started trying to figure out how we were going to actually capture pictures of everyone. Our first idea was to use a webcam and have each person step in front of it just long enough to take a picture and then move on. So, we hooked a webcam up to a linux machine and Brandon put together a system to snap pictures and upload them to our webservers. This looked like it was going to work until we realized that the image quality was pretty bad. After much deliberation we decided to look for another solution. Considering that we were running short on time, our only option appeared to be digital cameras. We hopped in Sharon’s truck and drove to CompUSA to buy a couple digital cameras and SD cards (I don’t think any of us will ever forget that painful trip).

We came up with a system where two people would work the cameras and pass off the SD cards to people sitting in front of the application. In addition, we would be able to verify information about the evacuees in the system as the pictures were uploaded. This helped greatly in cleaning up the data, as our initial import required default values for fields that were not being collected with the previous script.

As the volunteers were working their way through everyone in the shelter, we were trying to figure out how to get the necessary information from our system into the AlphaCard software that came with the printer. Because we were using load balanced web servers, we needed to store the image data in the database so that it would be accessible instantly on both web servers (no rsyncing, etc). As an image was uploaded we rotated it, resized it, and base64 encoded it to avoid storing blobs in the database. As it turns out, this worked perfectly for sending the data to AlphaCard. Our resident querymaster, Will, wrote a funky stored procedure (yay PL/PGSQL! not really), and threw together a PostgreSQL view so that we could access all the information about an evacuee in one straightforward query. Meanwhile, Brett had put together a mock-up template ID card with help from the Rackspace marketing department and connected the printer to a machine at shelter. We allowed access to the database from the shelter, pointed AlphaCard to the correct database view, and before you could say “Gimme Shelter” we were in the ID card printing business. Well, not really a business, but we were doing it, and by Tuesday evening we had around 800 ID cards printed. Top that, DMV.

Soon we were hearing stories about how the ID cards were providing the residents with a way to begin rebuilding their lives. Many people had literally lost everything in the flood, including drivers licenses and other important documents. With the ID cards that we provided, residents were able to open checking and savings accounts at banks. It did not take long for the other shelters in town to hear about what we had done. By this time Hurricane Rita was nearing landfall and evacuees had started arriving from the gulf coast. Most of the shelters still did not have net connectivity at this point, much less a usuable shelter management system with ID card printing capabilities. With an incoming rush of evacuees from the new hurricane, they wisely requested our help.

We were asked to deploy our software at the other shelters and begin preparing to print ID cards for around 2,600 evacuees. No problem! Your order will be ready in 6 days.

Previously, the ID cards were taking about 1 minute each to print (double sided, color). If we were able to print 1 card per minute non-stop (without changing ribbons, reloading cards, cleaning the printer, etc), it would take 43 hours to print all 2,600. This wouldn’t be a problem if the process could be automated to the point that a human was not required. Unfortunately, this was not possible. Each picture had to be adjusted and cropped, and the card loader on the printer could only hold 100 cards. Brett changed the printer configuration so that the reverse side of the ID card was black only, and this one small changed cut the print time from 1 minute down to around 35 seconds – almost half. Still, we spent several full days baby-sitting the printer.

After the last batch of cards was printed, things began to slow down for us as we entered maintenance mode. Occasionally we would receive a request for changes to the software, but for the most part the excitement was over.

The project turned out to be a lot of fun, mostly because it was an opportunity to work on an interesting and important problem, with smart, capable people, in an extremely fast-paced environment. I would work for Ramen and Mountain Dew to be able to do this every day.

A couple nice side effects were that we helped people who really needed help, and also that we learned a new development platform in the process (Rails).

Our efforts also received a little attention from the media. Brett usually posted any news stories on the San Antonio Safelist Blog, but the following articles specifically mention our software:

Not only did we have fun and accomplish something, but we also got a little recognition.

The Unifying Rails Dynamo

There have been many nice things said about Ruby on Rails, but there have also been a lot of nice things said about just about every other language and framework as well. It is often difficult to filter out what is actually great from what someone else just thinks is great, but in this case, it was hard to ignore what we were seeing happen right in front of us. In our situation each of the four main developers were previously using a different primary language:

  • Brett – PHP
  • Brandon – Perl
  • Will – Java
  • Cory – Python

Brett and Brandon each had some exposure to Rails, although they were both still new to it. Will and I had never coded in Ruby before, much less Rails. To be honest, the first couple days were frustrating, but I realized later that most of the tribulation came not from learning Ruby or Rails, but rather from unlearning what I already knew. Brett recorded his observations of this process on the San Antonio Safelist Blog, and it was picked up by the official Ruby on Rails Weblog. There were a few other critical tools that we built our software upon, and Brett also did a nice job of covering them on the blog.

Also of note, the Agile Web Programming with Rails book by Dave Thomas and David Heinemeier Hannson is exceptional. We had a couple copies and they went with us everywhere.

So, how do you get web developers using PHP, Perl, Java and Python to agree on a common development platform? Well, from our experience the answer appears to be “Ruby on Rails.”

• • •

August 24, 2005

OMG LOL Google Talk BRB

Filed under: Technology — Cory @ 12:37 am

Yes, I too will blog about Google Talk.

Google Talk is yet another instant messaging service, only this time it is from Google, which inherently makes it cool. If anyone is on this my username is my name (including last name), so feel free to add me if you know those two. (hint: whois) And if you need a Gmail invitation, let me know.

Although it is cool, I am not sure that this is really all that significant. IM is only useful when the people you need/want to talk to are on the same IM network as you. So, unless all my friends jump ship for Google Talk, I probably won’t use it very much. I’ll leave it on for at least the next few weeks to see who shows up.

• • •

August 3, 2005

1.21 Jigawatts!

Filed under: Technology — Cory @ 12:06 am

Straight from Slashdot:

“On July 27, scientists at the National Nuclear Security Administration’s Nevada Test Site said they generated a current equal to about four times all the electrical current on Earth. During the few millionths of a second that it operated, the 650-ton Atlas pulsed-power generator discharged about 19 million amps of current through an aluminum cylindrical shell about the size of a tuna can. Official news release is available from the DOE (PDF).”

INSANE.

Maybe that is enough power for a flux capacitor to send a De Lorean back to November 5, 1955

• • •

July 31, 2005

Saturday at DefCon, Blackjack in Vegas

Filed under: Events,Friends,Places,Technology — Cory @ 5:22 pm

Yesterday at DefCon there were a few interesting sessions, but the my favorite of the day was the Introduction to Lockpicking and Physical Security. It was interesting to see how insanely easy it is for someone to unlock a lock within seconds. The only other session I thought was really interesting was the Be Your Own Telephone Company…With Asterisk talk. I’d like to try setting up an Asterisk PBX sometime soon.

Yesterday I ended up hanging out with Dirk and Richard for most of the day. We met up with some friends of theirs for dinner at Wolfgang Puck‘s Bar and Grill at the MGM Grand. I had the Mustard Glazed Salmon with Warm Potato, Granny Smith Apples, and Watercress, and it was excellent. I ate to the point of discomfort, which is not something I often say. After dinner we walked around for a while and saw the sites. Dirk and Richard taught me a lot about blackjack during the night and after several hours of watching and asking questions, I finally decided I was ready to give it a try. I decided that $20 was all I was willing to put on the line, so at a $5 table I got $20 worth of chips and began playing. I was never down, and after about 30 or 45 minutes I had $60 worth of chips. At this point I decided it would be a good idea to cash out and quit while I was ahead.

Las Vegas reminds me a lot of New Orleans because it is very easy to loose track of time if you are not paying attention. I made it back to my room around 5:30, and I didn’t even feel tired. I think I like this town. ;)

• • •
« Previous PageNext Page »
Powered by: WordPress • Template by: Priss