Railfanning Chicago

My kids love trains and I must admit I’m a fan as well. On weekends I always try to take them to the train yard. We sit in the car and wait for the trains and locomotives to go by. It’s the main Amtrak train yard, so there are plenty of Amtrak cars and engines – long haul GE Geneses, and many shunting locomotives. Every once in a while we see coaches all the way from California, or some vintage carriages.

In the summer the boys were ecstatic because we spotted a locomotive that endured a collision. From what I could find, a truck carrying oil field pipe ran into the eastbound Empire Builder in early December, 2013 at a rural grade crossing near Motley, Minnesota, and took out locomotive #90. It was sitting on a siding for several months, awaiting repair. Kids were disappointed when it finally disappeared.

Locomotive after head-on collisionAmtrak locomotive after head-on collision, patiently awaiting repair.

Amtrak engine #90 after head-on collision, patiently awaiting repair.

This past weekend was a very exciting day. Adrian noticed a brand new, electric Amtrak locomotive being push around the yard. It was quite a surprise, considering the fact Amtrak mid-western lines are not electrified. Something didn’t quite add up. Adrian right away recognized it as Siemens ACS-64. He’s very familiar with it, since I bought him a wooden version for the National Train Day. We watched the locomotive roll right by us. Indeed it was Amtrak Cities Sprinter (ACS-64) manufactured by Siemens. I did some quick googling to discover that they get assembled in Sacramento, California and Chicago is one of the stops on their way to the East Coast. The locomotives hitch a ride on the California Zephyr to Chicago and then on the Capitol Limited from Chicago to the Wilmington, DE. ACS-64 is slowly going to replace the toasters that currently serve the electrified lines of the eastern corridor.

Needless to say, we were quite lucky that day 🙂

ACS-64 rolling through Chicago Amtrak train yard

ACS-64 rolling through Chicago Amtrak train yard

 

ACS-64 coupled to P42DC

ACS-64 being coupled to P42DC

 

ACS-64 with clean breakes

Siemens ACS-64 with clean brakes

 

Siemens ACS-64

Siemens ACS-64

 

Siemens ACS-64 with Sears Tower in the background

Amtrak #635 with Sears Tower in the background

TT Mobile showcase

My friends at TT are really busy trying to get the mobile clients out the door and into production. TT’s twitter account is buzzing with all kinds of photos and videos. I am really happy and proud of how far my apps have come. The end result is looking beautiful and I am sure the end-users will be delighted by both the design and functionality.

I really enjoyed working on TT Mobile, as it presented a very unique set of challenges. How to effectively push price updates over potentially slow cellular connections? How to ensure users don’t accidentally place trades (butt trading anyone)? And how to effectively integrate with the rest of TT’s eco-system? I think the team did a splendid job and the apps are rock solid. One disappointing fact is that both Android and iOS apps could have been released over a year ago, had we chosen to re-use logic. There are ways to write the code once, and use it verbatim on multiple mobile platforms (naturally the look-and-feel needs to be done separately, so that the app feels “native”). I have long argued with the executives and advocated for shared business logic, since it seemed like a no-brainer.

  • Shorter time-to-market. In today’s fast-moving world it’s imperative to be there first.
  • Lower cost of development.
  • Less bugs.
  • Parallel releases on multiple platforms.
  • Lower long-term maintenance costs.
  • Less testing effort.

Other companies are not as short-sighted and have long recognized the benefits of writing the common logic once, instead of re-implementing it for every platform. Xamarin has their cross-platform C#. Google is pushing Java with its ability to share code between Android, iOS and the web. Dropbox uses C++ for shared logic. RemObjects has their cross-platform Swift. Not to mention frameworks like Flash and Cordova. I still cannot believe that the decision makers would rather have us maintain two separate codebases, but I guess you need to be good at engineering to comprehend the benefits.   

On a positive note, I am extremely pleased with the aesthetics of TT Mobile apps; graphical design and usability are essential. Nobody wants to use an app that looks “f-ugly” or that feels cumbersome. Folks at TT spent countless hours doing usability studies and polishing the design. Trust me – a lot of love went into making of these apps. They look awesome, they are snappy and I really hope you’ll enjoy them 🙂

Sound Racer

In January I started my new job with Thomson Reuters. It’s in Oakbrook, so my commute is completely different than what I was used to. No more walking, no more Metra. Now it’s all about Chicago traffic.

I was a little bit nervous whether I would be able to handle it or not. This is why I decided to treat myself to a funky gadget. I purchased a Bluetooth-enabled OBD II scanner, and promptly paired it with the SoundRacer app on my Android phone. The results can be seen (and heard) in the video below:

It’s really tons of fun! The SoundRacer app reads the RPMs from the OBD II scanner, generates race car engine sounds to match, and plays them through the car speakers. It really makes you want to rev the engine! Probably not a good thing if you want to avoid speeding tickets 🙂

Unfortunately, I quickly discovered that it’s not feasible to have it on all the time. I just want to fly, but sometimes traffic just forces me to idle. Now I’ve switched and enjoy listening to NPR and get a much needed break from electronics. It’s very refreshing 🙂