2009 August

Photos from Depue

I went to the 2009 APBA PRO Nationals in Depue, Illinois. It was a spectacular event. Here are the photos I took.

Overdue funding for EVs

When I was watching President Obama’s speech in Wakarusa, Indiana yesterday, all I could say was, “Finally!” In case you missed it, Obama announced that the federal government would be providing manufacturers in northern Indiana with $400 million and manufacturers in Michigan with over $1 billion. This money is being drawn from the $787 billion stimulus package passed earlier this year. Obama’s plan is to put manufacturers in the Elkhart area back to work building batteries for electric vehicles.

When I became aware of the reality of electric vehicles three years ago, I was fuming. Gas prices were soaring and that fuel was costing us in many ways. Oil is largely available only in untrustworthy nations. Fossil fuel usage has begun to change our planet’s climate and cost us a great deal of time and money. To see our leaders dismissing such an attractive alternative out of hand was frustrating and infuriating. Apparently it takes a massive failure of several large companies to get anyone’s attention in this country. GM and Chrysler are in dire straits. Ford is taking losses, albeit not on the same level as the other two.

Don’t get me wrong. I am thrilled to see the president himself taking active measures to clean up our transportation fleet. What frustrates me is that it took so long for us to get it. We had major automakers mass-producing them in 1996. Then they stopped and began ramping up production of gas-guzzling SUVs.

It makes me wonder about people and how they think. A problem and its solution can be so obvious for so long, but no one will be willing to step up and do, not just say but do, something about it. We are in the hands of egotistical imbeciles and blowhards. I really hope we’re going to be okay.

BTW, wooo! ELECTRIC C ARS!!! WOOOO!!!!!!!

Mobi internship

Since I am grasping for blog content at the moment, I have decided to put up the executive summary of my Spring/Summer internship at Mobi. It was fun. There, I said it. I am so sorry for this cop out. I will do better next time, I promise.

From March 16, 2009 through July 29, 2009 I was a development intern at Mobi Wireless Management. Mobi is in the process of creating a Ruby on Rails-based web application that will allow companies of all sizes to manage their corporate cell phones, plans, and even manage mobile policy on a per-company basis. When I arrived at Mobi, development on the application was underway for over a year and Mobi’s sales team was already beginning to pitch the service to prospective customers, including Ford.
While at Mobi, I was given a set of duties. Some were long-term assignments that lasted for the duration of my internship. Others were shorter assignments that lasted for only a couple of weeks. My main responsibility was researching and implementing automated testing for the Mobi application. Cucumber/Webrat was the testing framework that was decided upon, in favor of Selenium. Cucumber creates a virtual browser in which it runs the tests. Selenium slaves an actual browser, usually Firefox, to run the tests. In the process of writing definitions for these tests, I learned a great deal about Ruby and how the Ruby on Rails framework functions. Jason Sisk also emphasized that he wanted me to learn web programming from the perspective of constant, comprehensive testing.
Other duties included building an ROI tool that would aid the Mobi sales team when pitching the application to prospective customers. That task took me about a month to complete. I helped to grow and maintain Mobi’s presence on Twitter. This involved following people who were in Mobi’s field, were a potential customer, were Rails programmers, or were related to Mobi in any way possible. Bluefish Wireless’ director if IT, Josh Garrett, helped oversee Mobi’s use of new media and worked with me on the Twitter project. During the latter half of my internship, I assisted one of Mobi’s team members in verifying and populating the Mobi device/plan database. This was a very time-consuming task, as it involved manually clicking through page after page of devices, plans, and plan features on Mobi’s website and comparing it with what was on the Tier 1 carriers’ web sites.
When I started this internship, I thought I would be doing more development on the actual site, rather than testing. However, I did end up making significant contributions to the Mobi codebase in the form of Cucumber tests. Jason made no secret that I would be spending the bulk of my time developing tests for Mobi and he stressed the importance of having comprehensive tests for a corporate-grade web application. Overall, I think that the quality of my work was pretty good, given the level of my knowledge and experience in this field. I came in knowing most of the basic philosophies for writing clean, functional code and I applied these on a daily basis. While learning Ruby and working with it, I learned many of the interesting things that one could do with it syntactically. I learned how to think of web programming in whole new way. I used to think of it as a bunch of files that somehow came together to perform a given task. However, it is more of a flow. The different tasks that a user would complete are the focus. The individual files and lines of code just enable that. This gave me a fresh perspective on web programming and I was able to get a clearer view of the Mobi app when working with it.
While my internship was an overall positive experience, there were a couple of areas where I think I could have improved. I think that the main thing I could have done was devote more of my time and energy to developing my own personal Rails application, a project that Jason endorsed heavily. I think that this would have made me a little more confident when working with the Mobi codebase every day. Naturally, this would have made me more confident when doing Rails development in the real world, if that ever happens. Jason also lent me a book about agile Rails development and I should have given more time to that book. I did not get very far because I was so focused on creating a comprehensive testing suite.
If there were another student who wished to intern with Mobi, I would advise that person to know exactly what they want to learn and let Jason or whoever is supervising that intern. Jason knew what I wanted to learn and built the internship around that.