failing like never before


One Last Try

I hate comparing other blogs to mine, because the conclusion I'm bound to reach is almost inevitably the same almost-painful answer. The problem is twofold: firstly, I'm not a very good writer and I never was, and secondly, I have almost nothing to write about.

Now the first problem I can live with, I will never be an amazing writer and it is not my goal to become one; I can live with being passably decent (being mediocre is something that college has introduced me to). But the second issue bothers me. And I wonder sometimes if its because my life is so monumentally boring that I have absolutely nothing exciting to write about, or if its merely that I'm incapable of turning mundane events into something that others might find interesting (like some bloggers are able to do). (I do so hope that it is the latter, because that would seem to imply that I'm not a total loser.) I tried over the summer, to keep a brief daily log of what was going on in my life, and it didn't take me long to realize that the only thing duller then my daily logs is a grocery list. But what the hey, I'm going to try again to write about my life, and see what happens again. So here goes:

About two weeks ago, one of my suitemates discovered the amazingness that is Heroes, and so after he finished with his midterms, he sat down with another of my suitemates and watched all of the first season of Heroes in one day, all twenty-three episodes (each one about 45 minutes long). Now if only our study habits were that good... But of course my roommate and I couldn't ignore the television extravaganza that was going on in our living room, and so by the next day we had watched two episodes and were hooked. My roommate and I finished the last episode of season one two days ago (and what a terrible and unsatisfying conclusion it was; they should have just shot Peter in the head, he would have healed anyways) and we've vowed not to start on season two until finals for this quarter are over. It remains to be seen of course, whether or not we'll be able to hold to our vows.

I managed to get an internship earlier this quarter, and though I enjoy it, its only another testament to my loser-ness. No other engineer that I know of, besides myself of course, has an unpaid internship, (companies are always looking to hire good engineers and engineers tend to be in short supply, so most companies are willing to fork over large sums of money to hire undergraduate engineers). But of course, I managed to find myself an internship at an internet startup that doesn't have the money to pay its interns, and I took the position because it seems that at the rate things are progressing, no other company is bound to hire me. On the plus side, I actually enjoy my internship position (as compared to some of my previous positions), I only have to go to the office once a week at the very most, and I get to polish up on my Ruby skills. With some luck, I may be able to turn this into a paying gig, although I think that would first require that the startup start making some money first. I spent a good chunk of time this weekend putting some work into knocking together some Ruby code, and was able to produce a new class for fetching and performing operations on e-mails using POP3. Since our web application will occasionally send a user a new e-mail (for forgotten passwords, registration confirmations, etc), I had to have a way to test if the e-mails were coming through OK. So I wrote a class that would grab an e-mail from some arbitrary e-mail account, find the newest e-mail matching a subject line, scan it to check its OK, and then extract the pertinent URL from the message body and follow it. It wasn't a very long class, but the regular expressions took me absolutely forever since I've never been much of a regex expert. I've also been writing a class that will extract data from a CSV file and then return the values from each line as an array.

We're using Selenium RC at work to do our unit testing of the web application, and although I think Selenium is pretty awesome, I've found it to be pretty freakin' slow. One very simple test cases, with only a few button clicks, assertions, and wait-for-page-to-loads, took about eleven seconds to run. Considering that we're going to be dumping over a hundred different sets of data into the CSV files for the test scenarios, running a whole series of test cases is going to be my new favorite excuse for slacking off. The biggest bottlenecks right now, appear to be the setup and tear-down times since Selenium has to start and stop Firefox for every new test case, the amount of time it takes to fetch a new e-mail using POP3, and the page refresh-times.

One of my friends is on the school's triathlon team, and recently proposed that I should join. I thought at first that our triathlon team does the full-out "Ironman" triathlon with a 26ish mile run, 113 mile bike-ride, and similarly long swim, and I immediately threw the idea out as ridiculous. But as it turns out, our school does a ridiculously short version of the triathlon that is more of an all-out sprint then anything else (seriously, their run is what I do every other night for my brief work-out). Its something that I could imagine myself being able to complete without too much of a problem, but I doubt that I'd be able to sprint that long. Of course I'd need a real racing bike first, something that isn't a twenty year-old chromoly steel mountain bike with friction shifters and a knocking headset.

Oh, and I've just checked my enrollment times for classes and have found that my second-pass is today at 4:30, and I have no idea what classes I should take. Woot.

(I guess this wasn't too bad of a write-up, certainly it couldn't be called an instant sleep-inducer for every living person.)


The 500 Epidemic

Some of you may have noticed, that about three weeks ago, all but one of the blogs that I was hosting on my server, crashed, and stayed down for about two days. When I tried to access any page, I got a 500 error, and it was traced back to a Typo application error. This was really weird, since prior to the strange epidemic of 500 errors, I hadn't touched my server in quite a few days. However, one of the blogs on my server was working absolutely fine.

The application that was still functioning had been on my server the longest time. I thought that perhaps the newer version of Typo was unstable and that the blog that was still running was using a more stable code base, but no; all my blogs were running the exact same version of typo.

I went through some basic checks to see what was going on. The log files weren't particularly helpful in telling me what had happened, and mostly just showed that the applications had all failed around the same time, for no discernible reason. I use fast CGI, so I tried switching to just regular CGI, but to no avail. I checked the permissions of files, and even set the permissions for the whole applications to 755. I double checked source files and their timestamps, and found that it had been quite some time since any of them had been altered. I also checked to make sure that rails hadn't gone and updated itself to a less stable version, but it seemed as though nothing on my server had changed. My applications had just died, for absolutely no discernible reason.

It seemed that the easiest thing to do, was to just wipe the application out, and put rails back in. So I took one of the blogs that had hardly been used, and wiped it clean out, but left the database intact. I downloaded a fresh copy of the latest stable copy of Typo, tared it, made the necessary configurations, and found to my total surprise that it gave me the exact same 500 error! After much fiddling and triple-checking to make sure I hadn't messed up the simple installation process, I was still getting the same 500 error. I wiped the application out and tried yet again, getting the same results. The only thing that could seem to be wrong, was the database, so I wiped the database clean, and did a completely fresh install. Still the same results. I had never been this confused in my life, and that includes my Chem 20a final.

But remember, I still had one functioning blog left on my server. So I decided to copy the source code from that 500-error-imune application, and put it on a sub-domain and connect to a new database. And it worked. I have no idea why that particular instance of Typo was immune to the "500 epidemic" but it was, and I was too happy to ask questions.

Three weeks later, I still have no idea what the hell happened. If someone could enlighten me, I would be very happy.