Summer is here!

It’s hard to believe that another summer is already here. This semester flew by especially quickly after taking the fall semester off for an internship with IBM. The internship was a fantastic experience, but it was also great to return to school with a fresh perspective, being more aware of how the concepts I’m learning in my classes may or may not apply to the “real world” of software development.

Deciding exactly what to do this summer was tough, but I think I made a good choice. In mid-March I had four internship offers on the table (and probably would have had more but I had to decline some interviews to meet deadlines). After a lot of thought, I accepted a position as a UI Software Development Intern at Boeing (more specifically, Digital Receiver Technology). In the end, I couldn’t pass up the opportunity to spend a summer in the DC area working with an industry-leading defense contractor.

Over the past couple of years of being an intern, one thing I’ve noticed is that the corporate setting often doesn’t allow for much exploration or learning of new technologies. (Neither does the university classroom setting, in many cases.) Companies get locked into certain technologies and are either afraid or unable to make changes. If what they’re using now “works” and brings in enough money, why change? This especially happens when they have some legacy product built in the 90s whose codebase is an absolute nightmare after 15 years of the “get it out the door now, fix it later” mentality. No sane developer wants to touch that code, but the company can’t justify spending millions to fix something that isn’t technically broken. So they just hack some more features into the old codebase instead of adapting to the times. I’ve seen this happen at least once at every company I’ve worked for so far, so I’m guessing it’s pretty common.

Read on →

First Hackathon

I finally did it! “Did what?” you ask. “You finally wrote another blog post?” No. Well, yes, I did finally write another blog post after a six-month dry spell. More importantly, though, I finally attended a hackathon! During my three years so far at UW, there have been several hackathons, some sponsored by companies like Facebook and Microsoft, and some put on by CS student organizations. I usually come up with some excuse for not attending, like “I have better things to do this weekend” or “I’ll look like an idiot compared to everyone else there.” Yesterday I finally mustered up the courage to go. Not only did I go, but miraculously I ended up winning first place!

The hackathon

The hackathon was sponsored by Microsoft and ran from 10am to 10pm on Saturday. After a short introduction, the hacking began at around 11am and ended at 9pm to leave time for demos and prizes, which gave us about 10 hours of dedicated hacking time. Although the hackathon was open to any kind of hacking, there was an emphasis on developing Windows 8 Metro (Windows Store) apps and Windows mobile apps. Knowing this ahead of time, I installed Windows 8 and Visual Studio 2012 on a virtual machine on my Macbook. Until a couple of days before the hackathon, I had never used Visual Studio and I had only used Windows 8 a couple of times. I had also never developed an app in C# or C++, which left me the option of using JavaScript/HTML/CSS if I wanted to make a Windows Store app (which I did). Fortunately, I’ve done quite a bit of hacking in JavaScript, so I knew the language would not be a barrier. The most difficult part would be learning the WinJS framework and the code patterns specific to Metro apps. I had done a little research prior to the hackathon, but not enough to really know what I was doing.

Once the hackathon started, there was no time to waste trying to learn everything about Metro apps. I knew that to be successful I would have to dive right in without being fully prepared (which isn’t something I do very often). Before diving into code, however, I needed to have a solid app idea and figure out what it would do and what it would look like. Luckily, I had taken some time before the hackathon to jot down a few app ideas. The first idea was an app for Stack Exchange, which I’m slowly becoming more and more addicted to as I accumulate more reputation points. I was sold on that idea until I found out that the Stack Exchange APIs don’t allow write access (except for comments, as of v2.1). That made it pretty difficult to see how my app could possibly have an advantage over the website itself. I had a couple of other ideas not worth mentioning because they were basically just improved versions of existing apps. There was one other idea, though, which I ended up choosing because it was original and practical (and realistic given the time constraint of the hackathon). Badger Buzz: an app for UW students to keep up with the latest campus news, events, and social media buzz.

Read on →

Hello, World

Welcome to my first ever blog post! Chances are that you know who I am if you’re reading this. You’re probably a friend, co-worker, or family member. If you don’t know me, that’s cool too! You probably stumbled your way here via one of my profiles on LinkedIn, GitHub, or Stack Exchange. If you knew me, you would know that I don’t especially like talking about myself. But since is my blog, I guess I’ll just have to get used to it. So here we go.

About me

If you haven’t noticed yet, I’m a bit of a geek. I’ve chosen to embrace that fact rather than fight it. After all, it’s part of who I am, and as Dr. Seuss (may or may not have) put it,

Be who you are and say what you feel, because those who mind don’t matter and those who matter don’t mind.

It all started for me when I was seven years old. I vividly remember walking into the living room on Christmas morning to see what Santa had brought. A Quantex PC with an Intel Pentium III, 6 GB hard drive, and 128 MB of RAM?!?! It looked just like this, except of course without the DVD drives. It purred like a kitten on Windows 95. I was blown away. I simply couldn’t handle the power of Netscape Navigator over a blazing 28.8 kbit/sec dial-up connection. (Yes, Netscape. Remember how awesome it was? I must confess, I never was much of an IE guy.)

Read on →