Ideas On Tap, or “Speed Dating for Entrepreneurs”

At the suggestion of my friend Scott McWhirter, I decided to go to Ideas On Tap and keep an eye on the pulse of the Vancouver technology community. And after spending an evening drinking beer and talking with various people from companies around Vancouver, I began to feel like the only married guy in the middle of a speed dating session.

I have a stable and intellectually stimulating day job that I have no plans of leaving anytime soon, but it was still a nice ego boost to be flirted with by so many companies looking for bright talent. In Vancouver, at least, it seems like if you’re smart and you are a creative developer, there’s work out there to be had. In fact they can’t seem to get enough. But unfortunately for them, a lot of developers here are in the same situation I’m in – happy with their current jobs, challenged but not over-worked, and not too interested in changing anytime soon.

I had an opportunity to meet John Chow with his camcorder, trying to get footage of women kissing one another, but the whole evening was basically one giant sausage-fest, as this tweet from him can attest.  I managed to meet one of the guys behind which seems to be quite an interesting product.  In fact, part way through the conversation he mentioned a great project called “PhoneGap” that they were recommending to people looking for more from their mobile platforms.  We both got a kick out of the irony that I’m one of the main developers of its iPhone branch, but nevertheless it was good to hear that other companies see the value in PhoneGap that we do.

The amazing thing was that the entire night was almost exclusively focused around mobile development and the mobile web.  It makes me confident that I’ve decided to play in the right area.  Not only is mobile development a blast, but it seems to be where the biggest focus is of entrepreneurs are these days.

Have a list of several hundred addresses to get coordinates for? Perl to the rescue!

I recently wanted to try my hand at writing a little iPhone app for helping students find University grant funding.  It turns out to be a bit more difficult than I’d expected, but part of the app was to be a listing of all the available universities near the student.  This, of course, would involve actually having a list of Universities.  To make a long story short, once I got the list (Wikipedia rocks), I needed to get their locations so I could do a proximity search from the user’s coordinates.  Since I didn’t want to spend too much time entering every one of the several hundred University names into Google, I decided to whip up a simple little script in Perl to do this for me.

use strict;
use warnings;
use Geo::Coder::Google;
our $apikey = 'Your-API-Key';

my $geocoder = Geo::Coder::Google->new(apikey => $apikey);

while (<>) {
    chomp $_;
    my $location = $geocoder->geocode( location => $_ );
    print "$_: ";
    if (ref($location) eq 'HASH') {
        print "n";
        print "    Address: $location->{address}n";
        print "    Latitude: $location->{Point}{coordinates}[1]n";
        print "    Longitude: $location->{Point}{coordinates}[0]n";
    } else {
        print "UNKNOWNn";

If it wasn’t for Perl, this would be fiendishly complicated.  I just threw that in my ~/bin directory and passed a list of addresses to it on STDIN.  Or you could give it a list of files that contain addresses, one per line, and it will give you a YAML output of the results.  For instance:

nachbaur$ echo "University California San Diego" | ~/bin/
University California San Diego:
    Address: University City, San Diego, CA, USA
    Latitude: 32.854672
    Longitude: -117.204533

I hope you have fun with it.  It was easy to build, but writing little pipe commands like this makes using a Mac with Perl a blast.

I really need to broaden my music horizons

AFI - Decemberunderground

You know that feeling when you listen to a song that you love so much, you re-play it 3 times in a row? You also know that feeling when people tell you “ZOMG you’ve gotta listen to, you’ll love it” and you say “yeah yeah, sure, sometime…” and you never bother ’till “sometime” eventually comes along, and you think “Why the hell didn’t I listen to this earlier?!” Well, I’m doing that right now with “Miss Murder” by AFI. I’m on my 3rd play through in a row, and I’m seriously considering starting it over…

And yes, the song just ended…and I just hit the “Skip Back” button on my iPhone. It’s playing once more. Yes, it is ridiculous. Yes, I know this song will be stuck in my head for the next week. But at this moment, I don’t particularly care.

One of my friends, Chris Prather, who’s been telling me for ages to listen to this album just called me a “newcomer”. Guilty as charged.

So if anyone has any “ZOMG You’ve gotta listen to this!” music recommendations, leave me a comment. I’ll make sure to listen to them sooner this time around.

Build process experiments with PhoneGap

I’ve made some quick updates on the train this morning, and ended up creating a Bourne shell script in the iPhone directory of PhoneGap for renaming a brand-new PhoneGap fork to whatever your project is called. This also works with the previous changes I made to my buildprocess branch, meaning that when you’re done, you shouldn’t have any references to PhoneGap in your code at all. It also makes developing quite a lot easier, since renaming my XCode project file by hand is cumbersome, and needs to be done every time I start a new project.

Continue reading “Build process experiments with PhoneGap”

PhoneGap gets a fancy new demo

The PhoneGap demo is really starting to grow beyond the capacity of a single screen since tons of new features are being added all the time.  It’s even showing a few examples of the tab and navigation bar features, but they didn’t really do anything beyond just throwing out alerts and log statements.  I decided to change that to show just what’s possible with a PhoneGap app.

(Forgive me for the ugliness of the video…this is my first upload to YouTube, so I had assumed I could resize the embedded viewer to fit the aspect ratio of the original).

I’m pretty excited about it.  Not only does it give developers a starting place for developing apps, but it allows us to improve the demos to give the user a better experience.  I’d like to show a Canvas graph of the accelerometer values, or even show a rolling ball in a box to see how the accelerometer can influence JavaScript.

I’ve moved away from Blogger

I really don’t like making tweaks to my blog itself, since I’d much rather be writing my blog posts themselves, or the software I talk about in my blog.  So any time I spend working on just the blog software’s configuration feels like wasted time.  But frankly, while I liked the simplicity of Blogger for all my previous entries, it was just getting on my nerves.

I didn’t like the editor interface, I didn’t like how difficult it was to tweak the HTML and theme settings, and frankly it was just too difficult to update.  And since I run my own server and manage my own websites on it, I figured to hell with it.  I’ve started migrating to WordPress (it saddens me that I’m not using Perl for my blog, but alas, I have no time to tweak anything).

So this is the first post to go onto the new blog.  No one will see it until I switch my domain over, but for the time being this is it.  I’ll set up some redirect rules later once I want to make things official.  I’m also not done changing themes or plugin settings, so I’m not happy with what I have now, but it’ll improve bit by bit over time.

Marketing, are you stupid or enlightened stupid?

My interactions with marketing has been very spotty throughout my career. I know and accept that marketing plays a huge role in business, both online and offline, but I just can’t seem to wrap my head around it. I’m one of the types of people that create. Those that sell, and those in the middle that help both types around them either create or sell, are very useful. I just can’t figure out what the hell it is that they do.

So when Jen posted a tweet about a YouTube video about Enlightened Stupid Marketers, I first laughed, and then figured I had to post it here. I don’t have anything else to say. Just watch and enjoy the video.