In a previous article, linked here, I documented how I handle my email and the measures I use to cut down spam. Read that for the back story. When I initially posted the article, I made the mistake of referencing my actual email domain instead of using "joe.flickr@example.com" as an example. A few weeks ago, I started receiving a lot of spam that was directed to this address and I couldn't figure out why or how. I assumed Flickr had sold my email address or something. Not too far fetched considering Yahoo's current state of affairs.
I figured there had to be another reason, and today, it finally dawned on me. I read back over my other article and saw the mistake I'd made. Some spambot had scraped my blog and archived my email address for spamming. Luckily, it's an easy solution. I just send all mail directed to that address directly to the trash, never to be heard from again. I can even change my email address with Flickr so I don't miss anything legit from them. I just feel sorry for whomever actually owns the example.com domain.
Monday, November 24, 2008
Scraped Email Address Scrapped
Tuesday, August 26, 2008
Microsoft's Photosynth Tech
This is something I've been waiting quite a while for, but also something I assumed would be broken promises and unrealized potential. I'm glad to say that I was wrong.
The Photosynth tech from Microsoft started out as a small research project about new ways to display digital photos. Months ago, they showed a tech demo of what they were planning that looked magnificent. Similar to how panoramic photos are made, which I've shown before, Photosynth takes a group of photos with like elements and creates an interactive mash-up that really makes you feel like you're almost there.
All that is required is a simple browser plug-in for viewing, and client-side software for creating the "synths". Both are contained within one small downloadable package available on the Photosynth Website. In this first release of Photosynth, all synths are stored online and public, so keep that in mind when snapping photos.
The only real tip to creating a good synth is to take a large amount of overlapping photos. Differing texture works best. Objects with repeating texture such as grass or water don't work very well. Beyond that, you just point the software to your photos and hit go. A few minutes (quite a while depending on the size) later it's created the synth and uploaded it to your account on the Photosynth website, which requires a Live ID of course.
I suggest you go to the site and check out some of the spectacular synths that have been created. Some of which are of exotic places that make me feel like I'm on vacation. If you'd rather see someting a little more boring, however, check out the two synths I made. As an initial test, I just used some existing photos from a NASCAR race, and some from a mountain top picnic my wife and I went on. They turned out half decent. After that, I took a ton of photos of my home and created a synth from those, but it didn't turn out well at all. I'm thinking it wasn't too good at linking photos of grass and vinyl siding together. Two very repeating textures. I guess some more trial and error will help. The synths are embedded, so if you can't see them, then of course you need the plugin. Following are the results:
NASCAR At Bristol:
Mountain Top Picnic:
Monday, July 28, 2008
VMWare ESXi For Free.99
Today, VMware released one of their most popular enterprise products for free to the masses. With competition from the free (for lower end versions) XenServer suite, and from the free-if-you-buy-Server-2008 Hyper-V from Microsoft, I'm guessing VMware is feeling the heat. If you're new to virtualization and it's benefits, I wrote about it in general terms previously. Check out what I think just a few of the benefits to virtualization are.
VMware ESXi is what is called a bare-metal virtualization engine. Basically, that means it doesn't require an operating system. It gets installed right on top of the hardware, instead of being installed on an operating system like VirtualBox, WMware Workstation, or Windows Virtual PC. This reduces the overhead and gives more power to running the virtual machines. How much overhead does it reduce? Well, to give you an idea, a typical Windows install can be upwards of five gigabytes. VMware ESXi has a footprint of only 32 megabytes. I know that size doesn't directly relate to performance, but it should give you an idea of the mantra behind ESXi.
The plan is for them to give away the software to get people hooked on it, and then sell the infrastructure management applications that add a lot of enterprise level functionality. I think dope dealers use the same marketing technique, but hey, whatever works. In the end, it's a bold move by WMware to take their core product that cost hundreds of dollars only a couple weeks ago, and then cheapen into a commodity that anyone can get. Either way though, I'm going to piece together a junk box and install ESXi on there just to play around with it. This will get me familiar with the software. A side effect is that I may be partial to it if I ever have to make a decision on what virtual infrastructure software to use in the future. This, I would assume, is VMware's plan.
Friday, July 4, 2008
July 4th Shenanigans
So last weekend it was dirt track racing, and this week it's the Redneck Slip And Slide. Complete with a lake, trailer, and even a wedding dress. I know, I'm not helping the southern stereotype situation very much.
We have a big get together each year for our July 4th celebrations, and everyone is encouraged to invite anyone they'd like. On top of that, it was also part wedding reception for a friend who'd been married earlier in the day. We have many new faces each year, especially this time due to the wedding, and something crazy always happens even before we break out the explosives. This year we built a 120 foot long slip and slide into the lake. Not much else can be said. Here's a few pictures followed by a couple videos (don't miss the last video especially):
View from the top.
View from the bottom.
Someone lost their float, and most of their dignity.
Video from the top.
Video from the bottom (excuse the water pump, but note the wedding dress).
Thursday, July 3, 2008
Windows SteadyState Proves It's Namesake
There are many good reasons for a very well locked down PC. Most of all, it increases security and keeps the PC in tip-top shape. This is a very common scenario for workplaces. The downside is that it also decreases in functionality and productivity by disabling some needed features, like the ability to install programs. There are many solutions for allowing free reign over a computer, yet still maintaining a level of control over the administration of it. I've already spoken about the benefits of a virtual machine in that you can easily trash the whole system and then revert back to a previous saved state when you're done, thereby having full functionality but no worry of installing nasty bugs. There are applications that can do basically the same thing, freeze the state of the PC so that it can be changed and then reverted back upon as needed. Sort of like a gamesave in a video game. No matter how bad off you get, you can always just load up the gamesave and be right back where you were. DeepFreeze seems to be the most popular solution in this space, but why pay money for something when Windows SteadyState can do the same for free?
The market for SteadyState is mainly any place that has PC's set up for public use. Libraries, schools, and possibly some work places are all good candidates. Since you can enable settings and features based on the user account, it might also be a good idea to use this for a child's login account. Nothing, however, should take the place of good parenting. In simplest of terms, what SteadyState does is creates a cache file on the hard drive. When enabled, any changes whatsoever that are made are actually saved in the cache file. When the PC is rebooted, all of those changes are removed. Go ahead and install all of those nefarious programs. Four IM applications, three browser toolbars, two back-door trojans, and a partridge in a pear tree. After your PC is completely taken over by these apps, just reboot and you're free from ITD's (Internet Transmitted Diseases).
There are many other functions to SteadySate, mostly geared towards limiting what a user can do on a publicly accessed PC. You can block websites, block control panel, redirect my documents, or control access to programs. In fact, there are so many options that it can be a little confusing to configure at first. I would suggest following along the tutorial on Microsoft's site if you're having trouble with the initial configuration. The only downside I've found is that currently it only works on 32-bit Windows installations. So, if you have a need, install SteadyState and go crazy.
See below for some of the configuration screens (click for larger view):
Main configuration page.

User General settings tab.

User Windows Restrictions tab.

User Feature Restrictions tab.

User Block Programs tab.
Saturday, June 28, 2008
Dirt Track Mother Of The Year
Went to watch dirt track racing for the first time. There was a lot of very good racing, and a ton of fun to be had. I also came away with a picture of this gem of a lady.
Thursday, June 19, 2008
Easy Cropping For Digital Photo Frames
Digital picture frames seem to be quite the popular gift these days. I even gave my 80 year old grandmother one, and she absolutely loves it. They're easy enough, you just copy photos over to a memory card and then power on the frame. It automatically starts playing a slide show of the photos. However, to get the full use of the picture frame, you have to do a little optimizing of the photos beforehand.
The problem is that most digital cameras take photos in a 4:3 format, while the digital picture frames are usually 4 inches high by 6 inches wide, or a 6:4 width to height ratio (a relic left over from the days of film). If you put the 4:3 photo onto the 6:4 frame, you end up with black bars along the sides because it has to shrink the image vertically to make it fit. This ends up wasting a lot of screen real estate that could be used for displaying larger and more vibrant photos. Your only option is to crop out some of the unneeded image from the top and bottom before moving the photos over. For instance, the photo shown here could easily get rid of the black bars on the side and fill the entire width of the frame by removing some of the irrelevant portion of the image at the top.
There are many ways to crop photos, and most are very easy. For cropping just a couple of photos, applications such as the very expensive Photoshop will do. The free Picasa or GIMP work just as well. But, when you need to do a large number of photos at once, it becomes very cumbersome to open each photo and select the area that you want to crop. I found it taking an hour or more for me crop around 50 photos.
Knowing there had to be a better way, I searched and stumbled upon a very handy free tool called JPEGCrops. It really couldn't get much more simple or intuitive. You run it, click the Open Images button and select all of your images. All of your images are displayed vertically with a white outline showing the default crop selection. You can click and drag the window around to set the crop how you'd like, then scroll down to the next photo and do the same. Below each picture is also a drop down box so you can change the size of the crop. You can even select a Free crop mode where you can drag the box to whatever size you'd like.
View of the main screen:
To save a little time, you should figure out the ratio of your picture frame. Some are non-standard. I measured mine and it actually came out to be 3.5 inches by 6.5 inches. This is very close to a 4in x 7in photo, which just happens to be the default for JPEGCrops. Measure your picture frame, and see what it's ratio is. After you've figured that out, I would go into File and Preferences. There under the Basic tab, you can Add or Edit different Aspect ratios, and then select the Default Aspect. Set the Default Aspect to whatever your frame's ratio is. This will save you from having to use the drop down box under each photo when selecting the area to crop.
View of the Settings Page:
Now, go click and drag the crop window around to your desired selection on each of your photos. Some photos you may not want to crop because it would ruin the shot. You can exclude those photos easily using the drop down selection. Once you have everything set up like you like, at the bottom right of the program you tell it the folder where you want the output files to go. Tell it where you want to save all of the photos, then click the Crop all Images button and the program will do it's thing. You have the option of hitting Crop on each image manually, but I prefer to let it do them all at once in batch mode.
Don't worry, your original files are never harmed in any way. By default, it outputs separate files with a "_Cropped.jpg" name at the end. The originals remain untouched.
This tool makes it extremely easy to crop a lot of photos to a desired aspect very quickly. Just recently, I cropped around 200 photos and it only took about 15 minutes. They looked great and filled the entire screen on the digital picture frame. Give JPEGCrops a try if you have a similar need.
Friday, May 2, 2008
Take This, Lithium-Ion
I recently took a tour of the Raccoon Mountain Pumped Storage facility that is operated by the Tennessee Valley Authority. Quite an engineering marvel. It's basically a massive lake built into the top of a mountain that drains down through hydroelectric turbines and into a river, generating power. The same concept as any normal dam. The main difference being, at night, when there's excess electrical capacity on the grid, the reservoir is refilled. Say what?
The whole time I'm thinking to myself how wasteful of a process this must be. By the laws of physics, transfer of energy is always a lossy process. Heat and friction are generally the two largest contributors to energy waste. I've spoken about energy efficiency once before when talking about the world's most powerful diesel engine.
Here's a diagram of how it all works.
Waste and efficiency, especially today, are in the forefront of thought in relation to the environment. A facility such as this seemed like a stop-gap that helps with peak demand but overall is very wasteful and harmful in the long run. Turns out I was quite wrong. The whole process is about 93% efficient. It only wastes 7% of the total energy created and used in the whole process. I think that's a good trade off. Make a lot more energy during the day when it's most needed, and waste around 7% of that by "recharging" that potential for energy. Sound at all familiar? It should. Batteries work off of the same concept.
As it turns out, the whole facility is nothing but a massive battery that can generate 1,600 megawatts for about 22 hours straight. That's more than a nuclear reactor (though a nuclear rector can run at 100% capacity for many months at a time). To put 1,600 megawatts in perspective, that's 1.6 billion watts, or 26,666,666.66 (repeating of course) 60 watt light bulbs. Quite the battery. As it turns out, it takes around 28 hours to fully recharge this battery. Not bad considering you're pumping an entire lake uphill.
Environmental impact? Next to nil. In fact the Raccoon Mountain area is great for outdoor activities, and mountain biking in the area is encouraged.
Tours of the deep innerworkings aren't open to the public since 9/11, but I took quite a few pictures. I was assured that there were no problems with sharing them publicly, though I was instructed to give the workers their cut if I sold the pictures to Al Qaeda.
Some of the pictures were sub par due to low light conditions, but here goes:
From the top of the plant.
The reservoir, partially emptied.
Deep inside the plant, the tops of the four hydro generators.
Lots of buttons in the control room.
The entrance tunnel for vehicular access to the mountain.
The ~20' shaft that the turbine spins. Click here for video of it in action.
And finally, some video of my wife having a little fun in one of the long underground hallways.
Thursday, April 24, 2008
Kicked By A Mule, Eyes Go Crossed...
I've already mentioned an anaglyphic image using red and blue. A red filter in the glasses blocks the red image from one eye, and blue blocks the blue image from the other. Thus the eyes are seeing two different images. It is one of the oldest forms of stereoscopic technology and can be easily adapted to any display. The only real problem with this is that color of the images will be slightly distorted.
Another popular way is to use linearly polarized glasses. With this technology, two images are displayed on the screen, each being broadcast in an up/down pattern or a left/right pattern. The glasses block light traveling to your eyes by filters in the glasses that are geared to only show horizontally or vertically aligned light. The polarized technique is the most popular today because it doesn't distort colors in any way. It only makes the images look slightly darker. The problem with this technology is that it can't work on an LCD or CRT computer or TV screen. These monitors display all images in a top to bottom fashion.
There are many other types of stereoscopic imaging techniques, but most are a variation of the same. Recently I learned of a new type that can be done without any glasses or special screens. Turns out it's actually older than most. It's called Cross Convergence viewing. Basically you take two images and align them up side-by-side. Then, you cross your eyes until you see three images. Focus on the middle image and it begins to come into view. This image becomes 3D. Since it's simply two images side-by-side that are aligned, they can't be that hard to create yourself, right? Right. Since it's so fascinating to me (I'm easily amused), I wanted to make some of my own. I've found that it's quite easy to make your own 3D images using this method or even the red/blue anaglyphic method.
You only need two tools. Well, three including a camera. One is called StereoPhoto Maker, and the other is called AutoPano-SIFT. StereoPhoto Maker takes two images and displays the side-by-side. It uses AutoPano-SIFT as a plug-in to perfectly align the images. AutoPano-SIFT is actually uses the same algorithm used by AutoStitch that I used for making panoramic images in a previous blog post.
First, you'll need to take two images with a slightly different perspective. It's really rather easy, and there are a couple of methods for doing it. I would suggest that you turn the camera 90 degrees and take pictures as if it were a portrait, and not landscape. One method is to put your weight on your left foot, with your right foot still on the ground, and snap the picture. Then, shift your weight over to your right foot and take another. This ends up moving the camera the few inches for perspective. Another method that I find is more accurate is to simply put the camera in front of your left eye, take a picture, then move it over to your right eye and take the second picture. Either way, the most important thing is to try not to tilt the camera in any direction, or to change it's height. Imagine taking a snapshot with each of your eyes, and that's what you want to do.
To get the software setup, first, install AutoPano-SIFT. Just run through it real quick. It will only be used as a plug-in so you don't need the desktop shortcuts for it or anything. After that's installed, just extract stphmkre.exe anywhere you like. It's a stand-alone executable. No installation required. Run stphmkre.exe and go to Edit > Preferences > Adjustment tab. Make sure "Auto Crop after adjustment" is checked. Point the top box to the AutoPano-SIFT folder and hit OK. That's it as far as software setup.
Preferences page.

To begin creating an image, just drag and drop your two images on top of stphmkre.exe. They will pop up side-by-side with a gap between them. I like to have as small of a gap as possible because it's easier for my eyes to focus if they're not crossed as much. To change the gap to your liking, hit the E key to toggle through. Alternatively, you can go into Preferences and the View tab. Now you need to align them. Do this by going to Adjust and Auto Alignment. This will use the AutoPano-SIFT plug-in to make sure the images are aligned properly. It will also crop them to fit.
If you have 3D glasses and you want to make a red/blue anaglyphic photo, you can do that using the Stereo drop down and choosing either Gray or Color Anaglyph.
Try it out. Make sure the images are on the correct side. The one you took with your left eye (or on your left foot) obviously needs to be on the left side in the photo. If you have them backwards, go up to View and hit Swap Left/Right. If everything looks great, go to File and Save
Stereo Image. That's it!
Here are a few examples of some that I've done. Click for larger images. I need to get a pair of the anaglyphic red/blue glasses so I can try testing some of those, but these work really well for me and most everyone I've shown them to (except those that can't cross their eyes). Again, to see them, cross your eyes till you see three images, and focus on the one in the middle.
Cheoah Dam.

My desk.

Part of the Tail of the Dragon.

From the top of Fontana Dam.
Tuesday, April 22, 2008
No More Monkey Business

Found this in a biker shop at Deal's Gap on a recent road trip. Creative marketing at it's finest.
Tuesday, April 15, 2008
File Sharing For Dummies
There are many ways to share thousands of files with strangers, such as BitTorrent or Kazaa, but what about sharing a single file with friends? Email works for smaller files, but often files are too large for email. Ten megabytes seems to be the standard maximum size for email attachments, which seems so passe`. FTP works, but requires an FTP client. You could upload it to websites that specialize in temporarily hosting a file for you, and you pass your friend the link to download it. This works well enough, but usually requires that you have an account at that website. A few months back, while trying to simply send a non-computer savvy friend a 30 megabyte file, I was lamenting this sad state of affairs. That's when I discovered HTTP File Server. It requires nothing beyond what everyone already has, a web browser.
What is it? Well, the author answers that succinctly enough. It's a file sharing web server. You drag a file on top of the application, copy and paste the link to a friend and they download it with their web browser. Exactly for what I was looking! As an added bonus, it can even allow others to upload to your PC if configured to do so.
If you use a router or firewall, you'll need to allow the port and application through to your PC. If you need help with that, go to PortForward. Choose any port to use, and make sure it routes to your PC. After that, you don't even have to install the application. Just run the executable and off you go. I really appreciate applications like this. It makes it easy for running them off of a thumb drive. Put in the port number you chose at the top, and click the Off/On button at the top left to turn it on. That should be pretty much it as far as setup. There are many options if you're a tweaker, but none that are necessary. You can create user accounts and have it run on startup if you like. I haven't tried most of the options as I haven't had the need.
Now that it's running, it's time to share files. Find the file or folder you want to share, and just drag it on top of the application. It will ask if you want to make it a "Real" folder or a "Virtual "Folder. Honestly, I'm not entirely sure the difference, but to be able to upload to a folder, it has to be shared as a real one. Once you've dragged the file or folder over, it will automatically give you a link at the top. Copy and paste this link to your friend and they'll have a direct link to the file. If you're sharing many files, just give them the link to the root directory and they can choose which files to snag. If you want others to have the ability to upload to a shared folder, right click the folder you shared and go to Upload > Upload for accounts > Anyone. Alternatively, you can enable upload privileges on a per account basis if you have them created.
There's not much else that can be said. It's a very simple application, yet very powerful. If you have the need for sharing any number of files directly with friends, give it a shot. I took a few screen shots (with the IP address obscured) so you can get a feel for what it looks like:
The application running with one file and one folder shared. There is also an active download going.
The homepage of the web server from a remote PC.
The upload screen from the remote PC.
Friday, April 11, 2008
Photoshop Schmotoshop
I'll be the first to admit that I'm only a barely competent photographer. If it requires more than the power button and the shutter button, I'm lost. I know the theory behind white balance, shutter speed, ISO, and all that jazz, but I lack experience in putting those settings to use. Furthermore, in Photoshop, I get lost in all the buttons and layers. In light of that, here's a tip anyone can use for taking a few quickly snapped photos and making a panoramic image.
There are plenty of tools for stitching images together. I believe I read that Photoshop recently added this functionality, but my philosophy is why pay when it's free? I also choose to run instead of walk, and sit instead of stand. Anyway, a couple years ago I found a free tool that does a very good job. It's called AutoStitch, and it was the result of a research project at the University of British Columbia. The technology has been licensed by a few consumer applications. Some are mentioned on their website. Even ILM of Star Wars fame has licensed it for use in movie production. It's technically demo software that expires, but the only time it expired for me was when they released a newer version. To solve that, I just downloaded the newer version and problem solved. Also, the demo version supposedly has a few features disabled, but none that I've missed.
To use it is simple. First, you need some eligible photos. When I find a spot with a nice panoramic vista, what I do is start on the left. Snap the leftmost picture of what you want the final product to be. While you're taking that picture, eyeball an object on the right hand side of the frame. For your second photo, aim to the right, trying not to go up or down much, and align the object you chose so it's now on the left side of the second frame. Do this until you've captured the whole scene. Overlapping too much is really a possibility, as you'll see later.
Now that you have the content, it's time to fire up AutoStitch. It doesn't even require an install. Just extract the Zip file and run the executable. Click on Edit > Options, and change the Output settings so whatever you'd like. I usually set it to Scale the image based on a percentage, but I set the percentage to 100 so I get the full resolution. If I want, I'll downsize the image later with Picasa. After you've done that, just hit OK. Go to File > Open, and select all of the images you want to stitch. Once you click Open, it will start doing its thing and it will output pano.jpg in the same directory as the images you selected. Easy as that.
Here are a few examples I've done over the years. Click for larger images:
Pittsburgh from the Duquesne Incline.
From the top of Racoon Mountain pumped storage facility.
Bristol Motor Speedway.
The Pocket, Chickamauga, GA.
These are highly scaled down. I set the width to 1600 pixels when I downsized them. The full sized images are around eight megabytes and 15000x3000 resolution. A bit large for sharing through a web browser. The black borders are automatically generated by AutoStitch. You could easily crop the images and make them a perfect square without borders if you choose. I actually had a friend take one of these, crop it, and had it printed and framed. I haven't seen the final product, but he's very pleased. Cropping would definitely look better, but I opted to leave them as-is so you could get a better sense of how the program actually works. In this last one, I actually did two rows of five pictures. On the bottom row, I didn't overlap enough when I took the shot. You can see the resulting black blob trying to take over the waterfall. This is why I emphasize the fact that too much overlap is better than not enough.
If anyone would like full resolution versions of these photos, just PayPal me the sum of 5 million dollars. I'll send you a receipt. If you can't afford that, just ask nicely in the comments. Either way. Also, if anyone has another freebie suggestion comparable to AutoStitch, please, do tell.
Edit:
Turns out Microsoft has a good solution for this as well. Windows Live Photo Gallery lets you select multiple photos, go up to the top and select Make, and then "Create panoramic photo...:. Easy enough. So far the output is equivalent, though I haven't found as many options with Photo Gallery. It just outputs full resolution JPG at 100% quality. Fine for me since I like to save it in as high quality as possible then downsize with Picasa anyway.
Edit #2:
In relation to this post, I discovered an application that is handy for viewing 360 degree panoramic images. Called FSPViewer, you run it and open the panoramic image you've already created. It makes the image more like a point of view where you scroll around. Keep in mind that it expects 360 degrees of vision though. If it's anything less, it will look distorted.
Wednesday, April 9, 2008
Even Chicks Could Dig It

Normally I don't get too excited about upcoming video games, especially sequels to existing games. The publishers normally promise that game X is going to be the best game ever. And X2 is going to be even better than that., but it rarely happens. So, why am I stoked about Grand Theft Auto IV? By the numbers, I really shouldn't have an interest at all in it. It's the fourth in a series of very over hyped games that refined the sandbox genre years ago, but hasn't really innovated in quite a while. The original GTA III was fun, and I enjoyed Vice City, but I played about thirty minutes of San Andreas, got bored, and quit. Woooo, I can change how my character looks. How exhilarating. So, what's different this time around? Multiplayer. I'm not sure why the III series games left it out. Even the earlier 2D overhead view only GTA games had multiplayer.
There's something to be said for a good singleplayer game with an intriguing storyline, but when it comes to video games, to me, nothing is more gratifying than virtually gunning down your real life friends in a multiplayer game. Even working together cooperatively is many times more exciting than alone. I prefer my video gaming to be a social event. Video games as a social event? Sounds crazy, but don't hate. And yes, I know that nearly every game on the block has multiplayer these days, but not many in the sandbox genre do. Saint's Row had some very interesting multiplayer modes, but fell short due to the bugs and mega lag. I heard that later these issues were fixed, but by that time I was already done with the game.
Some of the most fun I can remember in my long history of video games was in college circa 2000. We all had our PC's on the LAN, and playing networked games was something most people had barely heard of back then. The game was Midtown Madness 2. It was the second in a series of what I consider one of the pioneers in the sandbox games. You couldn't get out of the car, but I don't remember a 3D game before it that offered a full scale version of an entire city. The ability to drive furiously around the city, hitting jumps, and dodging traffic (while trying to hit people), was a brand new experience.
One of the game modes was called Capture-The-Gold. In an eight player game, four people started out as cops, and four started as robbers. You spawned in random places on the map, with a hideout and a police headquarters placed on opposite ends. The gold would be placed somewhere on the map at random. The goal? Simply take the gold to your teams respective base. Someone on your team just had to run over the gold and high tail it. The chink in the armor was that when you had the gold, your car goes much slower than the rest. Makes sense, gold does weigh a lot. All the other team had to do was ram you hard enough and you'd drop the gold. Free for anyone to pick up.
All cars, the gold, and the bases showed up on an overhead map. I can remember pulling up the map and trying to plot the quickest route to cut off the gold carrier. "Go straight past the big pointy building, turn right and take the third left." Nothing more delectable than when you timed it perfectly and T-boned the gold carrier at an intersection. The gold would drop, and whomever could run it over would scurry on their way. It was a constant tug of war with unexpected events possible at every turn.
When we weren't trying to rip each other apart, it was fun to just drive around the city in a free run mode. We would try to find jumps, or neat places to cram our vehicles in. I still have a screen capture from when five of us were trying to get on top of this one ledge on a skyscraper at the same time. The trick was that you had to jump from the perfect angle from another skyscraper to get there. Sticking the landing was the hardest part, because it was easy to knock others off. In the picture below, the leopard printed VW Beetle (naturally) is my then girlfriend, now wife. This is the only video game I can remember that she has ever begged me to play with her. I haven't been able to find a game to pique her interest since. A testament to how a simple but fun game type such as this is well overdue.
Five cars on a roof.
So, why am I excited about GTA IV again? The graphics don't seem to be up to snuff with the rest of the gaming world, but who cares? It's a massive environment that probably wouldn't run well with higher resolution textures anyway. With the combination of a very open-ended sandbox game, and the rumors of around fifteen different multiplayer game modes, there's ingredients for a lot of crazy evenings. It supposedly has a free run mode where people can just jump in and do whatever. Explore the map and generally goof off. More importantly, it has something very similar to the Capture-The-Gold game type that I loved so dearly. Cops N Crooks. The crooks have one person that has to get to their hideout, with every other person on the team being bonus points if they make it. The cops simply have to stop them from getting there. The cop cars are even outfitted with GPS to help them navigate. Sounds very reminiscent!
Throw in motorcycles, helicopters, boats, drive-by shootings, and America's most recognizable city, and I can't resist. I'm probably getting my hopes up for something that can never meet expectations, like always, but they've suckered me in. I'll be one of the 9 million people in line to pick it up on April 29th.
Monday, April 7, 2008
Idealism Versus Pragmatism
Often times I get very aggravated at nagging incompatibilities between products and services. They either won't work altogether, or you spend hours tweaking things so they play nicely. For instance; the iPod won't play XVID files, Blu-Ray and HD-DVD are incompatible (no longer really an issue), Linux can't play most video games, and websites don't play nice with all web browsers. The latter of these I've learned about the hard way in the short time I've been contributing to the world wide blogisphere. It all comes down to a set of standards. If the standards are agreed upon by all and followed to the letter, the obsessive compulsive in me would no longer lose sleep over trying to find the perfect application for converting XVID to MP4. These types of inconsistencies are becoming evident in our lives in an ever increasing way. More companies now work together to maximize their efforts than ever before.
In a closed system, usually everything works as designed. This is generally the world that Apple lives in. A one to one world. They engineer their own hardware, and write the software that goes on them. They control the standards by which each is designed, and all usually works as planned. If it doesn't, it's their own fault and they have the means and control to fix the problem. Microsoft lives in a world where they have to support millions of third party hardware manufacturers and software developers, not to mention legacy versions of each. A one to many world. No doubt, the latter world is much more difficult to live in. Since Microsoft only writes the operating system, it is up to third parties to follow a strict set of standards put forth by Microsoft to ensure compatibility. This doesn't always happen, and problems arise as a result. I'm not here to defend Microsoft and claim that everything they do is perfect and without problems, but most of the problems exhibited with their operating systems are due to third parties not following standards or giving sub-par support. The lack of hardware support with Windows Vista lies directly at these third parties' feet, even though Microsoft ends up taking the beating. There's nothing Microsoft can do to fix the problems except to encourage those at fault.
Even though more potential problems arise, the one to many world is more common. Why? It's more lucrative. A company can narrow it's focus and do one niche function extremely well, but still be marketed to a very broad audience by the support of other companies and the products or services they sell. A larger audience equals more money. On a related note, in a semi-closed system, Apple also doesn't have third party support in areas such as video games. This lack of support means anyone with video games in mind will not buy their products.
So, back to the problem at hand. Interoperability. I've described one to one, and one to many and how these philosophies can cause or solve problems with interoperability. All is well as long as the many support standards laid about by the one. Problems arise if not. To throw an even larger wrench in the plans, what about a many to many situation? How can many companies creating products play nice with many other companies creating supporting products? The only solution here is that there has to be a single standard that both sides of the equation agree to. Both sides of the equation must be created to support that standard, usually laid out by a governing body.
As an example of many to many, I'll use the web. There are many web browsers created with a set of standards in mind, and many web sites written to those standards. The W3C, as it were. In a perfect world, all is well. All the browsers and websites would follow the W3C guidelines 100% and there would be no problems. But, what about cases in which the guidelines are vague? Programmers from Mozilla Foundation or Microsoft may interpret them differently and we have problems. What about when the W3C makes revisions to their guidelines? Do you force every website in the world to change their code? What about websites that are no longer updated? Do we trash them, or should web browsers write in support for an older revision of "standards"? In this one specific example, the pragmatist wins out. Browsers enable modes in which they support older revisions of code. Not an ideal situation, but it's the only solution in which billions of web pages remain in working order.
Here lies a very difficult question. One that brings up idealism versus pragmatism. The idealist says that everyone in the world updates their web page and everything works as designed. The perfect world. The pragmatist says that in the real world, that will never happen, and the easiest solution would be for the web browser to still work with older sites. Which solution is right? I guess the political answer would be that ideally the idealist answer is correct, whereas practically the pragmatist answer is correct, but that's like defining a word with the word.
So, if we decide to change a hole from round to square, should we force people to trash their round pegs and upgrade to a square one that will fit our newer and better square hole? Or, do we make the hole slightly larger so the round pegs will still fit? I guess it depends on the situation. I've already shown how a pragmatic view is almost completely necessary in the browser and web standard world. Yes, there are headaches in supporting various standards, but generally speaking, more stuff works that not, and that's a good thing. A good example of a successful idealist situation is in mechanical engineering.
My father works as a foundry manager for liquid metal die cast company that currently makes rear end housings for GM.
Side view of an aluminum die.
GM has very specific standards by which they must abide. That big hunk of metal is designed to within thousands of an inch. After the part is made, it's measured hundreds of times in various ways to ensure that it fits the designated standards. If the part doesn't match up, it's discarded. What I find extremely impressive is the fact that they measure bad parts by using parts per million, a number that's usually less than one. They only ship one bad part for every few million total parts produced. This is a testament to the extremely well laid out standards and the strict adherence to those standards. A scenario that would make an idealist glow with joy. In this scenario, there is no other way than a complete idealist solution. If multiple standards were followed loosely, quality would drop and bad parts would be measured possibly in parts per thousand. At first glance that doesn't sound that bad, but when millions of dollars and human lives are at stake, parts per million sounds much better.
The idealism versus pragmatism situation is a tough call. One causes headache with interoperability, and the other means you're constantly upgrading to keep up with the latest standard. Which is best? The debate will never end. What's the solution? The idealist would say that standards should be designed perfectly the first go around and never need changing. Thereby negating the need to ever upgrade or change the products or services you use. The pragmatist would say that standards will always need refining and a certain level of headaches should be expected.
Me? I just wish I could sync XVID files directly to my iPhone.
Friday, April 4, 2008
Welcome To The Machine
Normally, I'm not one to read books for entertainment purposes. After Cisco training materials and other types of informational reading all day, I'm pretty well burned out. Occasionally though, something will strike my fancy. I happened upon a science fiction short story by E.M. Forster called The Machine Stops written in 1909. Yes science fiction actually existed back then. After reading it, I found it quite incredible in how well Forster was able to foretell the future, most of which is now our past (the cinematophote!), but some we still have a good chance of seeing in our lifetime.
I find it interesting looking back at past sci-fi predictions, so that was my primary reason for giving it a read, but the story is mostly intriguing in it's own right. Give it a shot. It's a short story after all, and should only take the better part of an hour. It's not like you have anything better to do between eight to five, right?
Oh, the version I linked seems to have been scanned and converted to editable text by an OCR, so there's a few spelling and grammar anomalies that I'm guessing weren't converted from the original text 100% correctly.
Thursday, April 3, 2008
Pssst, Wanna Bypass The Web Filter?
When at work, I would say most people spend more time browsing the web than they spend on doing actual work. Many workplaces filter viewable websites quite haphazardly, even blocking some very useful ones. I could lie and say that I'm trying to help you get to those sites that you use for research, but why bother? No, today I'm here to help you whittle your productivity down even further by showing you how to get to all of those blocked sites you so desperately need to view. Hellooooo YouTube. Go use the restroom now, because this could turn out to be a rather lengthy post.
First, I'll explain about the tools needed; a web browser (duh), an SSH client application, and an SSH server application. I'll be using Portable Firefox and Portable PuTTY on my work PC. I'm using portable versions because some companies don't allow installing applications, and the portable versions don't require an install. For an SSH server, Ubuntu Linux with SSH will be running in a virtual machine on my server at home. Click here to see my solution for Linux in a virtual machine. To add SSH server functionality to Ubuntu, just go to terminal and type "apt-get install ssh". As alternatives, you could of course use Internet Explorer as a browser, and you could use FreeSSHd as an SSH server on Windows. FreeSSHd is good for Windows users that don't want to bother with Linux, but it's actually slightly more difficult to configure for a tunnel. Just check their website for that documentation. There are many options, but I'm only going to explain how I accomplish this task. If you need to use the alternatives, you can do so by using the same logic I describe here, along with a small dose of intuition.
First off, choose a port number that your company allows outbound traffic through. Port 80 is almost always open, so that could be an option, but if you're running a web server at home that could be a problem. If you want to use something other than 22, you'll have to change a setting in Linux to reflect that. Just Google for it and you should be able to find simple enough instructions for changing that. I'll be using the standard SSH port 22 because outbound traffic over this port is generally allowed, not to mention it's default. Once you've done that, make sure on your router at home that you have the correct port forwarded to your SSH server, and configure your SSH server to listen on that port. Also, make sure you allow that port through any firewalls you have installed.
Once you've chosen a port and made sure it's allowed all the way from the work PC to the SSH server at home, do a test login to double check. Open PuTTY, put in your home PC's public IP address and the port number you want to use at the top, click the SSH bullet, and click open. If you're asked for a username and password, login with your Linux credentials (or the user/pass you created in FreeSSHd), and consider yourself ready for the next step. If it doesn't work, that port may be blocked by your company, or you may have a firewall or port forwarding issue. SSH could also be incorrectly configured. Here is a screen grab of my connected SSH session. I actually use RSA keys instead of username/password, but that's a topic for another day.
SSH connected via PuTTY.
Now that SSH is working, we need to set up the tunnel. Go ahead and close the open SSH session, and begin by opening PuTTY again. On the left, go to Connection > SSH > Tunnels. In the box labeled "Source port" put in 9999. This port is actually arbitrary since it will only be used locally, so you can use any number you want. Just make sure to use the same port in the Firefox settings later. After you've entered the port, click on the Dynamic bullet, and click Add. In the big box in the middle it should say D9999. On the left side, go back to Session. Put in your home public IP address and port 22 (or whatever port you chose earlier). Then give it a name under "Saved Sessions" and click the Save button. Now, any time you need to set up the tunnel, you just open PuTTY and double click on the Saved Session name and login. Here are images from my PuTTY configs. Click for a larger view.
The Sessions page.
The tunnel configuration page.
Now that PuTTY is set up and pointing local port 9999 traffic to tunnel over port 22, we have one last step to complete. Open Firefox and go to Tools > Options > Advanced > Network and click the Settings button. Set it to manual proxy configuration, and under "SOCKS Host" point it to your localhost IP 127.0.0.1. Again, the port you choose here doesn't matter, it's just the one you told PuTTY to listen on. I'm using port 9999. That's it for settings. Internet Explorer would be relatively the same. Just find the proxy settings and point the proxy to the localhost IP and the right port. Here's my Proxy configuration page for Firefox.
Firefox proxy configuration.
At this point, if you were able to translate my mundane babble into usable directions, you should be ready to go. Just open PuTTY and double click the saved session and give it your Linux (or FreeSSHd) login and password. Open up Firefox and test by navigating to a website that you know to be blocked. If you're there, congratulations! If not, I'm sorry that I'm awful at explaining complex processes in simple terms. Do a little tinkering around and you should be able to figure out what the problem is. I've at least gotten you close and maybe conveyed the general concept well enough that you can take it and run with it.
You are now free to graze the entire web! Oh yeah, you didn't hear this from me.
Tuesday, April 1, 2008
Your Shoes Are Untied
Today marks the most useless day on the internet ever. It gets progressively worse each year, so this one must be worse than the last. Not that the internet is ever a model of productivity, but how am I to spend my non-smoker smoke breaks today? I sure can't browse the web for anything useful to read. Though, I guess I could *puff puff* contribute to the uselessness of the day with a blog post on the whole matter during my "smoke break".
I was probably ten years old, and my older brother sixteen. I remember being awakened in a rush with him shaking me, telling me I was going to be late for school. He said he would try to stall the bus for me if I would hurry. I got dressed in a mad dash and bolted out the door. He and my cousin were still standing at the bus stop. Lucky me, the bus was running late today.
After a few minutes, my brother and cousin grew increasingly agitated at the tardiness of the bus. "Forget this, I'm not going to school today.", and they left. I tried to convince them they would get into trouble, but they would hear nothing of it. Being the goody goody that I am, I stood my ground and awaited patiently.
It took me 30 minutes to realize what day it was. April 1st...on a Saturday.
Quite the elaborate set up. I never questioned why it wasn't my Mother waking me up as per usual. I guess I was 90% zombie in the morning even back then, so it never crossed my mind. They definitely went though a lot of trouble, but my guess is for them it was worth it. Having to miss He-Man made me livid.
To bring me back to a more innocent time in my life, tonight I plan on watching April Fool's Day, a typical cheesy 80's horror flick with a few decent twists. Give it a shot, if nothing else than for the spectacular acting and make-up.


