Into the Void


Etherice Got Cell Phowned!

Posted in Tech by Scott Baldwin on the July 29th, 2006

Etherice.com was down for most of yesterday, and after restoring the server I was emailed a photo from the hacker responsible… click here to view it

I wish my phone had a Unix shell built in!

Virtual Class Reunion

Posted in Life by Scott Baldwin on the July 21st, 2006

Thanks to the recent explosive growth of Social Networking Sites (SNS’s) such as MySpace and Facebook, it seems like high school reunions are quickly becoming a thing of the past. All of my friends (who went to several different high schools) say there is no official reunion for their class due to “lack of interest” or something along those lines.  With everything the Internet has to offer, who really needs to meet in person anymore, right?…

The problem is that for graduates of big classes (> 200 students, or in my case about 450) it can be difficult and time-consuming to find a significant number of ex-classmates. One reason for this is that the profiles are scattered across different SNS’s (such as MySpace and Facebook), and another is that most people do not provide information about which high school they attended. So last week I decided to address this problem by creating a virtual reunion Website for my High School class. I parked it at http://www.etherice.com/oakpark/.

The first thing you’ll notice is that I added lots of memorabilia to draw in ex-classmates, including scans of the yearbook and class photo. The second thing you’ll notice is that I don’t ask for any information from the user EXCEPT for their SNS URLs. I could have asked everyone to post pictures, bios, interests, hobbies, etc…. but everyone has done that already, and as a computer science guy I hate redundancy!… so people post their URLs and that’s it… that way everyone can just update their SNS profiles and not have to worry about replicating those changes somewhere else.  (Plus, it really simplifies the system!)

The site has been up for a few days and over 30 classmates have already signed up… not bad. I expect for that number to reach about 50 in the next month. My goal is to locate half the class (over 200), but that’s probably a little optimistic. We’ll see how this experiment turns out.

GeoLocation Logging

Posted in Tech by Scott Baldwin on the July 10th, 2006

GeoLocation, sometimes referred to as GeoIP, is the mapping of IP addresses to geographic information.  In other words, GeoLocation is how some Websites will know that you’re from Springfield, USA.

For a long time now it has been easy and straight-forward to determine the country of a user with a high degree of accuracy, but determining the user’s city or region has been a different story until very recent years.  This greatly improved accuracy is why it’s no surprise that GeoLocation has become increasingly popular in targeting specific demographics with localized ad content.  So this morning I thought to myself, “Why doesn’t Etherice have this capability yet?!”  Well it does now… check out the screenshot.

The solution I found is called GeoLite City from www.maxmind.comGeoLite City is a free, but slightly less accurate version of the commercial GeoIP City system from MaxMind.  Installation and integration with my custom logger were incredibly simple.  First I downloaded the (PEAR-compliant) database file from maxmind.com  and copied it to a location on my Webhost.  Then I downloaded the PHP interfaces for it and added this helper function to my logger script:

function ip2loc($ip) {
 global $gi;
 if ( empty($ip) ) {
  return null_or_val();
 }
 $record = geoip_record_by_addr($gi, $ip);
 $retval = '';
 if ( !empty($record->city) ) {
  $retval .= $record->city . ", ";
 }
 if ( !empty($record->region) ) {
  $retval .= $record->region . ", ";
 }
 $retval .= $record->country_name;
 return null_or_val($retval);
}

Note: null_or_val() is just a helper function that prints a red “null” instead if the value passed in is empty.

And that’s it!  One important thing to note is that I do not perform the GeoLocation lookup on every page access.  In my opinion, it is better to do the lookup on-the-fly when the data is being presented:

echo "<span class=\"sloc\">" . ip2loc($row['ip']) . "</span>\n";

First off, this method has the advantage of not having to store the GeoLocation lookup results in my SQL database, saving space.  Second, and more importantly, it keeps the log tables free of redundancy.  If you’ve ever taken a DBMS course then you know that this allows for greater normalization.  So next month when I update the MaxMind GeoLocation database with a newer, more accurate one, older logs will benefit too.

So far I’m impressed with how accurate this free database is.  According to MaxMind it’s only 60% accurate, but it seems like “misses” are not too far off from the actual city (e.g., a suburb outside the actual city).  I also like the fact that updating the database each month will consist of overwriting a single file… in fact I’ll probably just create a cron script that does it automatically.

For now I’m simply using the GeoLocation info for traffic analysis, but I may eventually parlay it into something more useful.  When you think about it, the possibilities are near-endless.

North Korea Celebrates July 4th

Posted in Life by Scott Baldwin on the July 5th, 2006

Of all countries, I never expected North Korea to be so enthusiastic about The United States’ Independence Day.  Yesterday, July 4th, N. Korea harmlessly fired six mid-range missiles into the ocean, hundreds of miles offshore.  Clearly this was not an act of war, which means it must have been a display of fireworks to celebrate the Fourth of July.  So on behalf of my country, I would like to thank North Korea for its insane, yet thoughtful display of patriotism to the United States.

The Apple Identity Crisis

Posted in Tech by Scott Baldwin on the July 5th, 2006

Since early 2006, Apple has been selling Intel-based PCs (so-called Mactels), fully capable of running Windows XP, and they will continue doing so indefinitely. The TV commercials in their latest ad campaign, however, seem to tell a different story. All the commercials feature two actors– a twenty-something cool-guy and a forty-something douchebag. The cool-guy represents an Apple computer and the douchebag represents a PC, comparing the two as if they are apples and oranges (pun intended) despite the fact that Apple computers are now PCs!

Apple is still shamelessly trying to differentiate itself from the architecture that it now is, essentially denying its newfound identity. In one of the new TV commercials, the cool-guy says that since he (the Mac) can “run Windows like a PC, there’s no reason to buy a PC anymore.” Actually, I can think of $everal excellent reason$.

Then in another spot, the douchebag is sick from the “latest virus going around”, and that “there are over 100,000 known viruses for PCs.” The cool-guy (who is perfectly healthy of course), says something like, “Good thing I’m not a PC”. (New Apple systems are PCs, but that’s beside the point.) The idea is that OSX is not as susceptible to viruses as Windows. I won’t disagree, but by the same logic, OSX is also less susceptible to useful software.

The third installment of this annoying ad campaign has the cool-guy bragging about how he (the Mac) can do all sorts of fun things, like make photo albums and edit videos. The douchebag PC-guy acts like all he can do is make spreadsheets and pie-charts. In my opinion, this will make every Windows user in the world roll their eyes knowing that there is far more software available for Windows than OSX, including photo and video editing software. True, Apple PCs can run Windows now, but if that’s your argument then why pay thousands of dollars for a Mac in the first place? OSX is by far the worst Unix-derivative on the planet, and it pales in comparison to Windows for desktop applications, so again, why get a Mac? Oh yes, of course… because they look pretty. Or maybe it’s just a cult-thing.

Apple wants to reap the benefits of adopting a PC architecture and claim that it’s still not a PC. So the question is, “Can Apple have its cake and eat it too?”… Well, as long as Apple continues to exploit the ignorance of its user base, I guess the answer is Yes. (Non-Apple PC users will continue to laugh and save thousands of dollars.)

If you haven’t yet seen the Apple commercials I’m talking about then search Apple’s Website for them. I’d post a link, but I’m sure Apple would find a way to sue me. In fact I’m expecting a letter from their legal department for not putting TM and ® symbols everywhere. Wait a second!… what’s this?!!… an email from Apple Computer, Inc… I haven’t even posted this yet! It says, “Dear Blogger, We have reason to believe you are about to upload text to the Internet that violates one of our trade secrets. We demand that you immediately cease and desist such activities or face the wrath of our legal team. […]”

I’ll take my chances.

Closing note: despite how it may seem, I personally have nothing against Apple. If you don’t believe me then just check out the Apple desktop backgrounds I created… I guarantee you won’t find any free promotion like that for Windows on this site. So instead of sending me hate-mail, download one of those delicious Apple wallpapers to remind yourself of how much Etherice truly loves Apple Computer, Inc.!