Keith's Blog

Online Maps

Taking a short break from work, here is a not so comprehensive listing of "web 2.0" online mapping sites.

http://maps.google.com : The original. When google maps first came out, I remember being amazed by what google had been able to do with a webpage. They also have satellite images, with overlayed streets. Although they were the first, and they are still the fastest, google maps feature set has been superseded.

http://maps.ask.com : This one is actually my favorite. It is almost as fast as google, and it allows for adding push-pins at any location, has the same satellite/hybrid view, and calculates routes nicely. It even allows you to add stops, move the stops, and rearrange the stops. And you can even convert the directions to walking directions (avoiding freeways and the like).

http://maps.yahoo.com/beta/ : I find this one quite annoying. It's based on Flash, so it requires the flash plugin, and also responds a little slower to it's AJAX enabled counterparts.
It has a similar concept of many stops on a route, but you can't easily move them, nor is the interface as intuitive or snappy. Zooming in and out do this annoying scale, and then load at the new zoom level, looks pretty hokey to me. The map itself also doesn't look as smooth

http://local.live.com/ : This is Microsoft's version. The maps look nice, you can add pushpins, it even will show you traffic data on the freeways. However, you can't use those pushpins in a route? Why? I'm not really sure what the pushpins are for if you can't use them in driving directions. They have a really nift "Birds Eye View" of some areas where you get the satellite image tilted at an angle, so you can see building sides. Nifty, but not available for most areas.

Conclusion: Google Maps is still the best I think when all you want is a quick map, or even a quick map between two points. But as soon as you want to specify stops, place pushpins, or do anything a little more complicated, use maps.ask.com. IMHO.


Source Control

The concept of source code control is a fairly old one. It consists of a system that allows people to modify a source file, compare differences to an old version, and to check in that file. This allows collaboration between multiple engineers on the same source.

I have used many different sorts of source control systems. In order that I met them:

Visual SourceSafe: A Microsoft product, strictly GUI. It's setup was kind of a nightmare, with file shares and user permissions; but once it worked, it was rather simple to use. You quite simply checked in and out files, and you could download different versions (branches). I liked it, and it integrated into Visual Studio so nicely.

CVS: (Concurrent Versioning System): CVS is great because it's pretty easy to set up, quite configurable, and fairly lightweight. It has the concept of multiple checkouts and merging, so two people can work on the same file at the same time. I only ever had two problems with it.
1. The file-based locking the server used kept messing up, requiring reboots.
2. If the repository changes, and you have modified files, you might have to manually edit CVS files to update the repository location.

RCS: (Revision Control System): I used this for quite a while at my new job, and it's a lot like CVS, but a lot simpler. It has less options, and requires quite a bit of configuration and environment variables. It's also a very old system, dating back to the early 80s.

Subversion: I've been using this on my new project for a few months now, and I think it's great. The command line is beatifully simple, requiring no more than "svn commit file.cpp" to commit a file. It's fast, widely supported, and very featured.

StarTeam: This is the new system that my product is moving towards. It's primarily a Windows GUI product, but our source control guy has written scripts to allow for command line usage. Although he tried to make it as simple as Subversion, it isn't quite so. The tool requires info files to be created for every view/project you check out, and the # of command line options is a little staggering. I imagine I'll get used to it, but I would have prefered Subversion, oh well.



Too funny not to share

I ran across this "news" story today, apparently some British guy had a batleth sharpened. The UK cops did a house raid, and found it. The picture is priceless, some stodgy police officer holding a batleth. Some trekkies take their Klingon props very seriously.

http://www.thesun.co.uk/article/0,,2-2006240126,00.html


I must be getting old


While I was talking to someone at work today, the topic of braces came up. We started relating our orthodontic horror stories. In the middle, he said something along these lines,

"I might be a little bit older than you, but when I was in High School in 82/83...."

1982!! I seem to recall, no wait, I don't recall the slightest bit from 1982. Although there was probably some Sesame Street and Mr. Rogers.

It must be the beard.


Mini-Vin


From the totally random dept:

While taking a walk around the complex where I work, I saw this guy walking to his car. I'd seen him around before, and everytime I see him, I think the same thing.

"This guy looks just like a mini Vin Diesel"

It's actually rather startling, he looks exactly like him, except that he's about 5'4".


Rude Climber

While I was climbing in the gym today, I witnessed a very poor example of climbing ettiqueite. There was this guy there lead climbing with whom I can only suppose is his girlfriend. She was attempting to lead a fairly overhung 5.7.

She was obviously a new lead climber, as she hadn't quite figured out the ins and outs of clipping. She clipped, and then reached under the clip to get the rope for the next clip. Needless to say, she got herself into a mess.

While she was in this connundrum, the guy belaying her was shouting things at her like "you didn't clip right!" "you did that totally wrong" "oh, it's so messed up, just come down!" and the worst of all "just forget it, I'm letting you down". Imagine him saying this in a very sarcastic, superior voice. I looked at my belay partner and said to him, "that guy's being a total jerk, I wonder why she puts up with it?".

My point is simply that, there are plenty of people climbing in a gym, no need to put up with a rude partner.


Wilderness Critters

Below are some critters generally found in the wilderness. Although they may look friendly, these are wild creatures, and should be treated as such.


Can you spot the frog in this picture? He has excellent granite camoflauge. It was so good, that I didn't notice him for several minutes, even though we were both sitting on the same rock.



Here's a snake that seemed like he was trying to climb a sheer rock up out of the stream. But he was actually after one of the granite frogs, that was completely invisible to my eyes until the moment the frog sensed it's impending doom and jumped to safety.




Here's an odd woodland creature, who for some reason, is attempting to wade an ice cold stream. You see these creatures out in the wilderness from time to time, but it's best to leave them to whatever they are doing at the time.


Database breakage

This weekend, I was unhappy to learn that the database behind my photo gallery broke. I went into the administration site, and saw that all the gallery tables were gone! This obviously caused my photo gallery to provide an error messages, ERROR_STORAGE_FAILURE. A singularly unhelpful message.

Fortunately, my hosting provider has a restore feature, where I can restore database backups that occur about twice/day. One click, and about 30 seconds later, all was well again. However, I still don't know why it broke in the first place.

On a totally unrelated note. If you plan on sport climbing outdoors, please don't be rude and obnoxious. Don't do things like asserting superiority, making snyde comments, and climbing directly underneath someone else.


New Glasses

Today I picked up a new pair of glasses that I had ordered last week. These new glasses are a bit of a style improvement over my last ones. They have a much smaller, and more squarish shape. They also are plastic lenses, which are thinner and lighter than my previous glass variants. And a big bonus, they become clear, and not the slight yellow hue that plagued my previous pair. The new ones also have the automatic sunglasses capability.

So, in summary:
Upsides
    • thinner, lighter lenses
    • totally clear when indoors
    • more stylish
Downsides
    • Right now, I have the fisheye effect going on, that will hopefully subside over the next day or so.
    • The bridge accross the nose is a little different, and I can feel it on my nose. Hopefully this too will pass.


Code Resurrection

This weekend I spent some hours resurrecting some old code I had written to present and modify a database of the various coins I had collected. I built it originally back in 2000, and made updates over the next few years. For some reason, I was inspired to dig it out and update it to run on my new hosting provider. I ran into a few snags though.

  • The original version used ODBC to connect to SQL Server via Win32::ODBC (Perl). My new hosting provider is Linux running MySql. I didn't want to rewrite all the database access, so I wrote a wrapper on top of DBI::MySql that looks just like Win32::ODBC. And it even works!
  • Originally, it ran in one directory, /coins, with the code in /coins/cgi-bin, and the images in /images/coins. Now it runs in /cgi-bin/coins, and /coins/images. This required a tedious search and replace
  • I only had an Access database containing the actual data. I had to export as CSV, and write a program to turn those files into SQL insert statements.
  • The data I have is not the latest version, but the code is the latest, so the code uses some fields that don't exist in the data, most notabely some of the auto price update stuff I wrote.
  • It's really a 2000 website, complete with frames, "pure" HTML (no CSS), and even a client side image map!
It's not quite ready yet, so it's not viewable to the general public.



Carnivorous Herbivore

Today for lunch, I had two corn dogs. These were not your normal corn dogs. They had the same warm, soft outer corn based shell, a pink, highly processed hot dog at the core, and a stick up through the center. However, these dogs contained no meat. They were a clever infusion of soy and chemicals to produce a perfect synthetic meat that tastes as good as it looks. In fact, if I didn't know I was eating soy, I would swear they were your everyday good old american corn dogs.


So far, I've also tried vegie burgers, chicken patties, chicken strips, sweet+sour chicken, bbq beef, ham, and sliced beef. All pretty tasty, but some a better fakery than others.

For a great vegan place in Irvine, try http://www.wheelofliferestaurant.com/
Their Thai food is very convincing, and no more expensive than a regular place. It also has a nice family feel too it


GTA: San Andreas

Nearly a year ago, I walked into a game store and bought a copy of Grand Theft Auto: San Andreas. I played the game pretty consistantly, running, cycling, driving, and flying my way through the virtual Los Angeles, San Fransisco, and Las Vegas. Some of the tasks were tedious, but most were very entertaining. The story was also quite involved. Your character, CJ, participates in gang warfare, driving contests, clandestine operation involving military aircraft, petty and grand theft, among many others.

However, this game suffers from a major problem. The final task is too difficult. It involves a lengthy cutscene, then a challenging battle through a crack-house, followed by a gun-battle with a traitor to the gang, then you must escape a burning building while enemies are shooting you, all with a time clock. This is followed (I've read, I didn't make it this far) by a car chase after the final villian. It has so many challenges, and no saves, that I never could get all the way through, even after many tries.

So I cheated, and downloaded the ending video on the internet. After seeing that, I uninstalled the game and put away my strategy guide. I wonder what game might be next?


Triumph

Last night, after several attempts, I defeated Gannon in the Legend of Zelda: The Windwaker. It was quite a surprise actually. I was expecting to have to deliver several more hits to the foe, when all of a sudden, my character sinks his sword into Gannon's skull, and then end movie begins.

It was actually kind of dissappointing. I was expecting grand things from this pretty grand game, but the ending was less than 2 minutes worth, and mostly just talking. I expected Hyrule to resume it's former state, but it ended much the way in began, just sans Gannon.

I also expected to see all the characters I had met throughout the game, and how things were better now that I had defeated Gannon. A few of them showed up, but not nearly enough to satisfy. For how a Zelda game should end, see the Super Nintendo version, A Link to the Past.


Annoying games

So I'm playing 'The Legend Of Zelda: The Windwaker", and I've finally reached the final boss of the game, Gannondorf himself. But before this, there were these three puppet-bosses that I had to fight. To beat them, I had to follow this pattern of hitting them, and then shoot a small section of them with a particular arrow. Normally this wouldn't have been difficult, except that the targeting was set to target a non-vital section of the enemies.

Which brings me to the "annoying" part of this game. The 3D nature of the game makes "targeting" necessary. Basically, you push a button, and it auto-targets something. Without this, the game would be almost impossible. So, the game designers, in all their infinite wisdom, decided to make the end bosses harder by messing up the targeting. And then they had the boss move so fast that your view updates slower than the boss moves, making it hard to even see the boss. I finally got the last puppet-boss via a lucky shot.

None of the bosses are all that difficult, but they are tedious. But perhaps it's because I grew up in the world of Super Mario Brothers, and the original Nintendo. Children of the 90's seem to be able to handle these 3D games with much more grace.