You have arrived at traas.org — the personal home page of Aaron Traas.
Aaron is a Catholic software engineer with an intense passion for gadgets,
open source software, food, music, theology, and philosophy.
If you wish to find more about the commercial projects Aaron has worked on in
recent years, please visit the portfolio page. If you are
looking for a great solutions-oriented, client-facing technical lead for your
agency, please take a look at Aaron's online, responsive HTML5
résumé, and then send him an email if you
like what you see.
If you want to know Aaron's musings and opinions about many things (mostly
phones and computers), you are invited to read his blog below.
As I've told numerous people over the years, a real Computer Scientist should be able to learn a new language in about a week. Maybe a bit more if it's a particularly strange language. But most imperative or OO languages should take about a week to learn for someone who is any good at the craft. Now, I'm not talking about mastery. Every language has its own set of idioms, tools, quirks, bugs, performance characteristics, etc. that take quite a bit longer to completely understand. I refer to, instead, basic competence, i.e., the ability to write functional, clean code, and reasonably ability to read well-written code in the language.
I took it upon myself to learn Python a couple months ago. I've been meaning to do so for years. I had just been introduced to Codeacademy, and I wanted to evaluate it so I could recommend it to other people wishing to learn how to code. It's very theory-light, but otherwise a good way to introduce someone to writing web-centric code. While I was there, I noticed the Python track, and decided to do it.
Which cell phone to buy has become an increasingly difficult question to answer. Not because there are more options now than ever before, but because it matters now in the age of smartphones. 6 years ago, all phones sucked, full stop. If you wanted a smartphone, your options were a device running Windows Mobile, Blackberry OS, or Palm OS, all of which had terrible user experiences. You were also in a fairly elite category of users, and likely had the resources to properly research your purchase. For everyone else, there were crummy feature-phones that didn't do anything well, save voice and SMS.
That all changed in 2007 with the advent of the iPhone. The smartphone was elevated to a level of polish, simplicity, and approachability that they'd never seen before. Ordinary, non-nerd users started wanting smartphones. And with the advent of Android, there were tons to choose from, most of them terrible. So I created "Which Phone do I Buy?", a tool to help non-nerds choose a cell phone. There's really only a couple choices worth considering for each carrier based on a few simple criteria. Are you a non-nerd who wants a great smartphone? Give it a try—it'll only take you 3 minutes or less.
It's been a long time coming, but as an activity related to my recent job hunt, I sought to redesign and rebuild this humble web site. The original design served me well, but it was the best design I was capable of in 2005, and my abilities have progressed. I hope my handful of readers find this format more pleasant.
Design
Since it's safe to rely on @font-face support in browsers today, I wanted to try a very modern, clean, type-driven design. I initially started with Helvetica Neue: a classic, attractive sans-serif font that still manages to look modern after all these years. However, particularly on Windows PC's, it doesn't render well. It's also so very common and recognizable, and it would cost me at least $10 a month for access to it as a web font. As I'm a fan of Google's Android OS, I decided to go with Roboto, a Grotesk font that certainly borrows a lot from Helvetica, but is distinctly different, and freely served from Google Font API. Plus, it's available in 6 different weights, including light weights which I wanted to use on my headlines.
The short version: if you're on T-Mobile, or wish to switch, this is the only phone worth buying, period. It blows away the competition, including the Galaxy S III, and my previous pick, the Galaxy Nexus. It's also $300 off-contract, which is absolutely nuts for a high-end cellphone, most of which retail for $600 and up off-contract.
The longer version is much more nuanced. This phone is so amazing that its many minor flaws jump to the surface. I'm going to be incredibly critical in this review of its flaws, but please don't think this implies that I do not like the device. Indeed, I'm very, very happy with it, and wouldn't trade it for any other phone that has been created at time of writing.
Twitter as a company is in a bit of a bind. When they came onto the scene 6 years ago, it exploded beyond anyone's expectation. It turned fairly quickly from a tool used by nerds to communicate to a mainstream tool used by moms, accountants, celebrities, and anyone else. I personally rely on it primarily to follow experts in technologies that I care about such as @joshuatopolsky and @siricusa, but also personalities like @alyankovic and @altonbrown.
Application developers, particularly for smartphones, have supported the platform's API for a long time, and it's really the secret to the platform's success. Tweetie for the iPhone is responsible for kicking off the trend, and they were purchased by Twitter and made into the official Twitter client. And there have been many, many quality Twitter clients for iOS and Android (where Tweet Lanes is my current favorite). This has made the experience of using Twitter on a phone much more pleasant than browsing the mobile website, or posting tweets via SMS. That, and it's created a wealth of different implementations with different ideas, and different usage patterns for different people. Clients like Tweetdeck and HootSuite shine for people that manage multiple accounts and do this sort of thing for a living. Clients like Echofon and Osfoora are more minimalist and simple in design. Clients like Tweetbot, Boid, and Tweet Lanes straddle the line between the power user and the basic user.