Android: Widgets and Library projects

On a recent project I’m working on with my AppJour team, we chose to use the DateSlider widget for date selection in lieu of the standard DatePicker and TimePicker views provided in the Android SDK. The installation instructions involve copy-pasting various layouts and java files in with our source. While that may work, it clutters our res folders and introduces source code that we don’t want to take explicit ownership of. [Read More]

Enjoying My Mornings With a Double Edge Razor

After more than a decade of shaving with your typical cartridge-based safety razor, I figured there had to be something better. Getting a close shave with one often means horrible razor burn and ingrown hairs: not a good way to start my day. So after asking my barber for some advice, I was pointed in the direction of the classic straight razor or the double edge razor that was popular in my grandparents' generation. [Read More]

My next project: ActiveMob

For my last semester at Carnegie Mellon Silicon Valley I’m working through an entrepreneurship course with several past team mates. In 12 weeks (of which we have about 9 remaining), we’ll be designing, implementing and seeking user feedback for a software product of our choosing. Our team has chosen to develop a route tracking Android application for runners and cyclists with a twist (eventually for other various outdoor sports). There are many of them available at the moment, some of which are open source (usually a good sign that the market is saturated), but we hope to add a social element that we have yet to see executed properly. [Read More]

I Heart roboguice

Since I was introduced to it by @ahsteele, I’ve been in love with the simplicity that roboguice provides for Android development. It introduces the inversion of control principle to your app and much of the Android SDK. With a bit of configuration, you can remove the explicit calls to get resource objects, shared preferences, etc. and instead simply inject them with the use of simple decorators. For instance, let’s say you needed access to a shared preferences instance. [Read More]

Twitter as a Software Engineering Tool: Follow-up

Background At the beginning of the GeoCam Memo & Track projects, which I took part in with several of my classmates, we chose to experiment with the use of Twitter as a means of sharing daily status in lieu of a daily tag up. We were working remotely on the project part time in the evenings and on weekends so planning a time when all of us would be available on a daily basis was difficult. [Read More]

PJWiki

PJWiki (Patrick’s Java Wiki … creative, I know) is a desktop wiki with a server-less storage system that saves in plain text using the file system. I am working on it as an open source version of an application, PWiki (sans J), that I developed for my current employer. PWiki was developed in C# using WinForms as a quick and dirty Wiki solution to use in an environment that frowned upon open source software and provided terrible wiki’s via corporate. [Read More]

Twitter as a Software Engineering Process Tool

It was recently suggested by my practicum teammate, @samdkarp, that in lieu of formal daily “stand-up” meetings to support our agile software process we use Twitter to share our daily status. For a remote, part-time team with a variety of schedules we thought that this might be a good approach, allowing us to share status at our convenience. So far it has been a great way to coordinate; we’ve committed to at least daily updates so that we can have impromptu pairing sessions as team members are available. [Read More]

C2DM Prototype

As part of my current practicum project at CM-SV, I was asked to put together a prototype that demonstrates the capabilities of Google’s Cloud To Device Messaging (C2DM) service, or push notifications. What follows was the result: https://github.com/patrickbaumann/c2dmprototype c2dmprototype consists of two applications: a relatively vanilla Django server application (the Cloud part of C2DM) and an Android 2.2 application (the device part of C2DM). The demo aims to demonstrate the basic pieces of a “push to talk” application by allowing a user to send audio messages to devices by pushing them instead of requiring the battery-limited phone to poll the server. [Read More]

The Carnegie Mellon Practicum Has Arrived!

When I got accepted into the SE masters program at CM-SV, my most anticipated and nerve-wracking course was the always-off-in-the-distance practicum. The idea of working a legitimate software project with several of my classmates caused my mind to wander, chasing all of the possibilities while the concept of working potentially full-time simultaneously on two projects had me terrified. Well, the time has finally come as the practicum kicked off one week ago, today. [Read More]

Wikifiy Your Life

For the last 3.5 years, I’ve been doing brain dumps into a personal wiki throughout or at the end of each day and I think you should too. It has proven helpful to me in more ways than I could have foreseen and I can’t imagine getting by without one. Background As an engineering student, I had a notebook with me at almost all times that I used to write down assignments, reminders and ideas. [Read More]