All posts by craigmoliver

The Business Model Canvas

In our first class of MIST 7500 we discussed business modeling using the The Business Model Canvas. For our homework we were asked to model a business we worked for. Many years ago I work for a in-hospital baby photography company. This company provided exclusive newborn photo services for hospitals. By the time I left the company we were in about 120 hospitals. The challenge for me as an IT support technician was supporting custom installs at all of these hospitals. Each hospital or hospital system had their own mix of technical requirements and complexities. We were able to standardize the photo carts that photographers wheeled into nurseries and patient rooms to photograph the babies. They consisted of a large medical grade cabinet on wheels. The top of the cabinet had a bassinet where the baby would lay. Above the bassinet, mounted to a pole, is a digital SLR with a 28mm lens and a studio flash. The camera connected through the post to a computer via USB cable. This computer connected to a LCD computer monitor mounted midway up the pole where photographer use custom software to take photos. This computer was connect to the internet at the end of the day where it uploaded the image to an FTP server to the home office in Atlanta. Photographers would sell the photos to patients directly or they could call the home office later. The home office could then edit and produce the photos and print them on a commercial printer to be shipped directly to the customer.

I developed the following models on


I also created a model for a infomediary business; a LEGO builder’s web community. The website would allows users to upload their designs and share them with other users. Users could contribute to those designs or fork the designs to their own derivatives.  Users may then purchase the bricks for designs directly from LEGO or an online market place such as BrickLink.


What is a router?


What is a router? A router is a specialized computer that makes it possible for networks to talk to networks thus making the Internet possible. The Internet is designed for redundancy and routers make this possible by maintaining a routing table. Routing tables maintain rules that enable to know where to send a packets based on their destinations. A router may not necessarily know where the final destination is but they know where routers are that may know better. Routers maintain up-to date routing tables by communicating with each other via the protocols Routing Information Protocol (RIP), Open Shortest Path First (OSPF), and Border Gateway Protocol (BGP). These protocols are essential to ensure packets are sent the most efficient way by reducing the amount of “hops” from origin to destination. The origin and destination are determined by the use of an Internet Protocol (IP) address (unique to a network) and an underlying MAC address (globally unique, device specific). Whew, that’s pretty complicated.

It gets worse. The Internet currently runs on version 4 of Internet Protocol (IP). Version 4 limits the amount of IP addresses to 4,294,967,296. There are currently many more devices connected to the Internet than 4.2 billion. This is accomplished through the use of Network Address Translation (NAT). Routers use NAT to connect private networks with local IP addresses that use private address allocations such as These networks on their cannot connect to other networks without the use of a router. Internet Protocol version 6 is currently in the long process of being rolled out which has 3.4×1038 addresses. This will reduce the need for NAT thus, in theory, increasing the overall efficiency of the Internet.

Since routers are specialized computers it’s possible to install software on them. It’s pretty common to find a router with a firewall and other security related software. Their unique position has a middle man between networks allows them to serve as a choke point for malicious network activity such Denial of Service Attacks (DoA). They can use the firewall to restrict the type traffic allowed through thus providing an extra layer of security for it’s network.

If that’s too much or you wish learn more check out these resources.

Hallo und Herzlich Willkommen

Hello. This is a blog brought to you by a graduate student currently enrolled in the Master of Internet Technology program offered by the Terry College of Business at University of Georgia (UGA). I am that graduate student. People known me personally as Craig Oliver. I am known elsewhere on the inter-tubes as craigmoliver. I’m currently employed at the Centers for Disease Control and Prevention as a web developer. The purpose for this Masters degree is broaden my knowledge of related topics and further develop management and leadership skills.

The blog may serve multiple purposes over the next two years of graduate study. The initial purpose will be to complete assignments for the first of two classes; MIST 7500 Internet Technology. Other purposes may include essays about topics related to other classes in the program. There is an off chance I will cross post topics of interest and events from my non-class life where appropriate. I have a personal blog that I haven’t updated in a while,

Note – I don’t really speak German. I did take German as my foreign in high school though. Unfortunately I have subsequently forgot it.

You can find me elsewhere on the Internet via Twitter, Facebook, YouTube, Google+, LinkedIn, and Flickr.

LEGO Meetup Group in Atlanta

In a city of 5+ million people it can be surprisingly hard to meet new friends. Fortunately we live in the future and there are helpful social tools on the web . has been useful to me in the past for professional networking. Perhaps it could help me meet some new folks that are into the same things as me. With that in mind I started a new group, Atlanta Adult Fans of LEGO.

I was surprised to get 10 people to join in the first weeks and a half. This prompted me to schedule a meetup at Mellow Mushroom in Sandy Springs. Two people joined me and we had a good time talking about LEGO, life, and other subjects while drinking beer and playing trivia. We had a good time and look forward to growing the group. We’ll see how it goes; so far so good.




LEGO Custom SNOT Roads Treasure Trove, LDraw Files Included!

While poking around on RailBricks I came across a treasure trove of LDraw files for LEGO roads. LDraw is an open format for LEGO Computer Aided Design (CAD) software useful for designing and rendering models. This work is a superb example of on the Studs Not On Top (SNOT) building technique. It includes files all kinds of roads; straight, curved, rail crossings, turn lanes, cul-de-sacs, etc; in addition to intersections with traffic lights and roundabouts. These files allow you to literally inspect the designs brick-by-brick providing an insight into the engineering and design. Building them is made easier because parts lists can be exported and bricks gathered or procured.

I can’t imagine the amount of work that went into these models. If you use them make sure you credit where you can find the LDraw files and download them yourself. Links to the LDraw files can be found in the forum links listed below.


Building the LEGO Super Emerald Night Christmas Express

Lately I rediscovered my love of LEGO and turned it into my hobby. Everyone needs a hobby and, while somewhat expensive, LEGO is as good as any. It seems to stimulate the same part of my brain as coding. My first project was a new Christmas train to ring the Christmas tree in the living room. This new train was to replace my 2 year old Lionel 30068 North Pole Central train which was destine for Ebay. Suzanne and I discussed it and, while more expensive, determined a LEGO Train would be cooler and could evolve over the years. It would also dove-tail with my new LEGO hobby.

The funds for the train came from the sale Lionel 30068 train and the sales of an unopened Transformer from 1984 (that’s another story). The first purchase was a set LEGO started producing in 2009; Emerald Night. This was a great start for the project because of LEGO’s amazing job designing this beautiful train. It’s loosely based on British Flying Scotsman and makes for an innovative example of what is possible with LEGO bricks. The train uses Technic gears as a transmission powered by a LEGO Power Functions motor. The coal tender serves a similar purpose as it’s real life inspiration by housing a lithium-polymer battery powering the motor.

Intrigued by the Emerald Night and I wanted to expand the set. Unfortunately LEGO does not offer any expansion sets, so I knew I was on my own and was going to have to build it myself. I was disappointed after sniffing around on eBay and Google so I decided to asked the experts on the unofficial LEGO StackExchange. They pointed me in the direction of BrickLink, which I had found before, but as a web developer I was turned off by the >10 year old web design. Deciding instead not to judge a book by it’s cover I dove in. BrickLink is cool because it allows you to build a “wanted list” of individual LEGO bricks, specify the quantity, choose the condition, and specify the color. Using the “wanted list” you can find sellers that have some, if not all, of the bricks you need. I made a few “wanted lists” for each of the parts of the train I wanted to build. I ended up buying 1530 bricks from 16 sellers located in the United States, Germany, and the Netherlands. These bricks combined with parts from the LEGO City Cargo Train #7939 allowed me to assemble my 9 car long (including engines) LEGO Super Emerald Night Christmas Express.

The Assembly Line
The Assembly Line


The train is lead by the aforementioned Emerald Night engine and tender. This is followed by Christmas cars carrying Santa, Rudolph, Frosty, some toys, and Christmas trees. The next three cars are passenger carriages with Christmas lights decorating and wreaths decorating the exteriors. The next-to-last car is a power car providing supplemental rear power and is dressed up to look like a baggage and crew car. The final car is of course the iconic caboose, based on custom instructions sold by juliochavez1 on Ebay, fitted with rear tail lights. I embedded the Flickr set below, if you don’t have Flash, check it out on Flickr.


LEGOs Everywhere!

Though LEGOs are cool as heck the unfortunately reality is that they are a mess. This issue has become acute the past few weeks while balancing the frustration of mess and disorganization while trying to build stuff. More time can be spent digging through LEGOs as actually building cool stuff with them. Fortunately I found a post on the web that’s helping me, and my patient wife, cope with this issue.

my LEGO mess
my LEGO mess

An evil mad scientist with a blog goes through pros and cons of several LEGO taxonomic methods designed to mitigate frustration. My personal favorite is 1×1 storage block (below). Hopefully it will help you organize your messy hobby.

LEGO 1x1 storage, capped
LEGO 1x1 storage, capped

Change or Move Your Windows 7 Default User Folder Location

I like to keep my user profile file separate from my system drive in case my hard drive crashes or I need to reinstall Windows. This used to be a tedious and difficult process until now. I found a good step-by-step tutorial that explains how to do it. You need to have some advanced knowledge of Windows 7 and it should be no problem for the average Power User, unless you are afraid of the Registry.

Playing with Legos Again

A couple months ago I was stressed out and needed a hobby. It occurred to me that downstairs, in my garage, was a gigantic tub of Legos. It was a big tub and one night, while my friend Pete was over playing video games, we went downstairs and dragged the tub upstairs. This box was filled over a decade ago as I was moving my stuff out of my parents house. We popped and open and inside were thousands of Legos. I had managed to hold on to my Lego collection that I had accrued as a kid from 4 to ~12 (when Legos became lame). Also inside was a New-in-Box Generation 1 Transformer, but that’s another story.

My kick-ass wife, who volunteered, helped me sort the jumble of Legos into some sense of order. We managed to consume a weekend laboring, sorting the bricks. It actually turned out to be good quality time. There were many themes; the castle, pirate, and boats where eclipsed by the space and town themes. Then occurred to me, it was time to rebuild.

Unfortunately I didn’t save the directions, but thanks to the magical Internet, I found a site,, that saved the day. They have Lego instructions going back to at least 1955. Based on my memory and what I think I saw in the piles I identified at least 45 different sets.

6832 Blacktron Star Rider
6981 Aerial Intruder
6878 Sub Orbital Guardian
6877 Vector Detector
6823 Surface Transport
6824 Space Dart 1
6812 Grid Trekkor
6811 Pulsar Charger
6781 Sp Striker
1478 Mobile Satellite Up Link
918 Space Transport
889 Radar Truck
6646 Screaming Patriot
1632 Motor Boat
1610 Police Car
1612 Race Car
1528 Dragster
1517 Race Car
1477 Red Race Car Number 3
6605 Road Racer
6653 Highway Emergency Van
6644 Road Rebel
6613 Telephone Booth
6684 Police Patrol Squad

6659 TV Camera Crew
6673 Solo Trainer
6529 Ultra Light I
6528 Sand Storm Racer
6509 Red Devil Racer
6508 Wave Racer
6503 Sprint Racer
6450 Mobile Police Truck
6353 Coastel Cutter
1572 Super Tow Truck
6657 Fire Helicopter
6373 Motorcycle Shop
6396 International Airport
6392 Airport
6386 Police Command Base
6385 Fire House
6384 Police Station
6378 Service Station


Then I got on Ebay and start poking around. The memories from hours of staring at catalogs came flooding back so I picked up several more sets to round out my collection. Ebay is also an excellent place to pick up spare parts.

6886 Galactic Peace Keeper
6831 Message Decoder
1974 Star Quest
6833 Beacon Tracer
6981 Spectral Starguider
1462 Galactic Scout
 6813 Galactic Chief


I didn’t have all the parts, but I had many, and pictures of the ones I rebuilt are below. Notice the big Space Shuttle model. I couldn’t help it so Suzanne and I went to the Lego Store in Lawrenceville and I got a big-boy set with a mere 1204 pieces, definitely my favorite.


World Country List For Your Database

There are many tasks developers do over and over again in many projects. One of these for me has been creating a list of countries for a database table. Using the ISO 3166 English country names and code elements I've created a T-SQL script for public consumption. Just change the use statement to your database name and find and replace the table name to your spec. Hopefully this saves you some time.