Over at Snaptic we just announced our Move Your App! developer challenge.

The Challenge
The idea is simple: write an Android app which inspires people to move around.

3 Reasons to Enter

1. Actually benefit society
Obesity is a huge problem - 64% of adults and 25% of children and teenagers are overweight or obese today in the USA. While there are many contributing factors, the most obvious is simply that we do not move around enough. Obesity has been cited as a contributing factor to approximately 100,000-400,000 deaths per year in the USA alone. This is an awesome opportunity to get some attention in this area and contribute something genuinely positive to society.

2. Earn some very good publicity and kudos
We have gotten some very high profile judges and sponsors for the challenge. MÃ¥rten Mickos, former MySQL CEO, Amy Novogratz, TED prize director and Pam Omidyar of HopeLab to name just a few. These are awesome folks to have reviewing your app.

3. Win an all-expenses-paid trip to TED Global 2010 and more
The top prize is a trip to the exclusive TED Global 2010 conference. I'm sure you've watched some TED Talks in the past and know what a fantastic, high-level event TED is. We are also going to be giving away a Mac Book Pro, Android phones, and more.

Get Help with your app

What kind of application can you write to encourage people to move? Imagine a game where you earn points based on activity - say through location checkins or something like that. Or how about a simple "distance traveled" application where you can log and graph your movement each day. There are tons of things you could do.

We are also happy to help any developers working on the challenge - check out our developers page for full details, but you can hop on #snaptic on irc.freenode.org or reach us on Twitter at @snapticdev!

And hey if you need help setting up the Android SDK on your machine, maybe my own Android SDK on Ubuntu post could be of assistance.

Register Now!


What are you waiting for :-) If you are at all interested, go ahead and register!

Niall O'Higgins is an author and software developer. He wrote the O'Reilly book MongoDB and Python. He is the co-founder of BeyondFog, Inc which makes Strider Brilliant Continuous Deployment. Strider is a hosted Continuous Integration & Deployment service for Node.JS and Python.

Read and Post Comments

Man this log is way overdue. I've been super busy since leaving my job at Metaweb, taking a short break, and starting up at Snaptic. While I was on my break between jobs, I got a few days of awesome, tough hiking in at Henry Coe State Park and some solid training too.

I'm about a month and a half behind in logging all my workouts so I'm not going to bother doing that for this final post before the NorCal Sectionals. If you are interested in all the gory details, they're all posted on the CrossFit KMSF blog in any case. Instead I'll give a few highlights and talk about where I'm at after three months of very intense training, and how I think the competition will go.

Weight & diet
I weighed myself first thing this morning and I'm just over 171lbs. Thats a gain of about 6lbs since my first training entry 3 months ago - and if anything I'm a fair bit leaner now. So I've definitely gained some functional mass. This despite eating what feels like a huge amount of food - after starting with Paleo Zone I switched to basically un-measured Paleo. I'm proud to say I cheated very little on the dietary front and am feeling great!

Strength & power
I'm definitely feeling a lot stronger, especially in the back squat and Olympic lifts. I mentioned in my last post that I'd done some Oly-lifting coaching down at Catalyst Athletics. That session was focused on the Snatch, and I subsequently went down and did a second session focusing on the Clean and Jerk. I'm still a complete novice weightlifter, but relative to where I was 3 months ago, I've improved a huge amount in form. I got a 135# snatch (squat, not power) the other day, a very modest weight, but I don't think I could've even managed a proper snatch three months ago. Similarly my clean has gotten much better - 185# used to be maxing out my horrible power clean but now a 185# clean with a reasonable squat technique is fairly comfortable.

Most importantly of all I'm really enjoying practicing the Olympic lifts now and am looking forward to continuing to improve at them after the Sectionals!

Conditioning
We've been working a lot of short sprints, and stuff like kettlebell swings - and I feel pretty good here. Pretty fast, with decent endurance and recovery. On the day of the competition, a lot of it is going to be mental, to just keep pushing!

Workout A
In Workout A you have 6 minutes to run 800m and then get as many reps of over head squats @ 115# as possible. Score is based on reps.

We've run through this a few times and its a very interesting workout. Over head squats are not a particular weakness of mine, neither is an 800m sprint - so it should be fine. I feel that this will come down to concentration and sheer will power. How many reps can you knock out before you have to drop the bar? I have a number in my head and I'm going to do my damndest. That bar gets HEAVY after 10-15 reps, and you really have to fight to hold on! This will be a fun challenge.

I feel it will be key to stay calm and not to overdo it on the 800m too.

Workout B
In Workout B you have 10 minutes to do as many rounds as possible of: 7 thrusters @ 115#, 12 KB swings @ 1.5 pood, 7 chest-to-bar pull-ups. Score is number of rounds completed.

Thrusters are not a strength of mine, not least because of my shoulder flexibility, but I actually feel good about them at this weight. 115# is not too bad, and 7 reps should be fine. Kettlebell swings are rest. The chest-to-bar pull-ups are tough. I wish I had known about the standard earlier so I could have locked it in more, but oh well. Past few weeks I've been focusing a lot on keeping the technique solid. 7 reps should be ok for the first few rounds, hopefully my form won't break down too badly towards the end. They will definitely be the toughest component.

A great team
It has been awesome training with all the folks at Crossfit KMSF. Thanks to coaches Kat, Lake and Cip for their dedication. Of course I've been lucky to have such a cool group of friends at the gym, a big shout out in particular to David, Robert, Tadhg, Zac, John and Matt who are also competing. We are going to kick some ass!

After the Sectionals

I'm really looking forward to the contest. Its been a great motivation for my training and I've improved a lot. I am positive about how I'm going to perform and I plan to do my best and have fun too.

A week after the sectionals, I'll actually be going to China for a month to visit my girlfriend Frances Wang who is doing field work with the UN in Beijing. I won't be training super hard while I'm there but I do plan to stay active and hit the gym at least a few times a week. But mostly I plan to enjoy my awesome trip and eat great Chinese food!

Niall O'Higgins is an author and software developer. He wrote the O'Reilly book MongoDB and Python. He is the co-founder of BeyondFog, Inc which makes Strider Brilliant Continuous Deployment. Strider is a hosted Continuous Integration & Deployment service for Node.JS and Python.

Read and Post Comments

This update is a bit overdue, I've been pretty busy finishing up things before I left my job and planning a backpacking trip before I start my new one. Still been training though!

Friday 2010-02-05
Rest day.

Saturday 2010-02-06
WOD: 5 rounds of: 10 burpees, 5 deadlift @ 275. My time: 3:55. Deads start feeling pretty heavy!

Also went down to Catalyst Athletics in Sunnyvale for some Olympic lifting coaching. There were four of us in the group and we had an hour long session with Steve Pan. It was very useful coaching. We worked on snatch technique. The two big pointers I took away from it were a) holding that solid starting position in the initial stages of lift (e.g. a snatch-deadlift) and b) moving feet lightly, avoiding any "donkey kick". I will be going down for coaching on the clean & jerk soon.

Sunday 2010-02-07
Rest day. I really needed a break.

Monday 2010-02-08
Did some shoulder-strength/rehab type work. A bunch of Turkish get-ups at 1.5 pood, presses and behind-the-neck presses. The behind-the-neck presses seem to have a very therapeutic effect. Strangely my hand and wrist pain has decreased greatly - in addition to lessened shoulder pain - since working them. I do pretty light weight (65#).

Tuesday 2010-02-09
WOD: 3 rounds of: 3 Muscle Up, 5 SDHP @ 95#, alley sprint (100m uphill). my time: 6:09.
Went into this one thinking I'd get stuck on the muscle ups, but in fact I felt much stronger doing them and had no problems. Felt a lot easier to get through the transition point.

Wednesday 2010-02-10
WOD 5 rounds of: 10 box jumps, 7 deadlifts @ 185#, 5 hand-stand push ups (on parallettes). My time: 6:49.
HSPU were definitely the slowest part of this for me - its tough to do them for reps. The deadlifts did start to get tough toward the end. Box jumps were easy.

Thursday 2010-02-11
Rest day.

Friday 2010-02-12
More shoulder work - Turkish getups, behind-the-neck presses, etc.

Saturday 2010-02-13
Run 5k. My time: 26:30 (urban route - lots of stopping at lights etc).
-Rest-
3-3-3-3-3
Overhead Squat I did pretty well on the OHS: 125-135-140(f)-145-155. 155# for 3 reps is a PR!

Sunday 2010-02-14
Turkish get-ups, behind-the-neck presses, etc.

Monday 2010-02-15
WOD:
8x100m sprints, rest in between.
2x400m run, 2 mins rest in between.
1x800m run.
The alley sprints were hard. Very difficult to go all-out eight times like that.
- Rest -
Shoulder press 3-3-3-3-3.
I did: 115-125-135-140-145(f). I think 140# for 3 reps is not too bad.

Tuesday 2010-02-15

WOD:10 Rounds: 10 Kettlebell Swings 1.5 pood, 10 Pull-ups. My time: 9:11.

After about round 5, grip starts weakening. Final few KB swings took everything I had just to hold onto the damn thing!

rest

3-3-3
Snatch Balance. Just went light with this, working speed. 65-75-95.

3-3-3
Bent Over Row. Still getting used to this exercise. 95-135-155.

Niall O'Higgins is an author and software developer. He wrote the O'Reilly book MongoDB and Python. He is the co-founder of BeyondFog, Inc which makes Strider Brilliant Continuous Deployment. Strider is a hosted Continuous Integration & Deployment service for Node.JS and Python.

Read and Post Comments

This week was a bit stressful and intense due to resigning from my job (a move I feel good about though - onto new and different things!), so it was great to have some solid training to help deal with that. I'm definitely pretty tired after all this! Tuesday 2010-01-26 WOD: Filthy 50s 50 Box jump, 24 inch box 50 Jumping pull-ups 50 Kettlebell swings, 1 pood Walking Lunge, 50 steps 50 Knees to elbows 50 Push press, 45 pounds 50 Back extensions 50 Wall ball shots, 20 pound ball 50 Burpees 50 Double unders My time: 21:30. [caption id="attachment_811" align="aligncenter" width="500" caption="This overhead position is tough for me"][/caption] Wednesday 2010-01-27 I like the shoulder press because its a slow, controlled movement, but the faster overhead lifts can really hurt my shoulders due to flexibility issues. Its like some part of my shoulder is banging against something - which it probably is - and the resulting sudden pain when the heavy bar is flying up overhead causes me to drop the damn thing! So I end up having a shoulder press not much lower than my push press and push jerk, which sucks. Hoping I can address this over time, with practice. If anyone has successfully resolved this particular issue please let me know :-) 100 Double-Unders. I find these fairly easy, knocked them out in 46 seconds. - Rest - 1-1-1-1-1 Shoulder Press: 115# - 125# - 135# - 145# - 155# (fail) 3-3-3-3-3 Push Press: got up to 160# 5-5-5-5-5 Push Jerk: got up to 145#, dropped down to 115# to practice. shoulders hurt. Thursday 2010-01-28 Rest day Friday 2010-01-29 Couldn't make it to the gym for burpees + box jumps, so I modified it slightly at home. WOD: 10-9-8-7-6-5-4-3-2-1 Burpees, 1.5pood kettlebell swing. This was pretty fun actually, the burpees and swings really make you breath! Saturday 2010-01-30 WOD: 1 Pood kettlebell snatches (left AND right), hand stand pushups (15-12-9). The HSPUs were the toughest part. We are working them on parallettes, which I like more than without because it saves my wrists, but it does make them harder. I could knock out a few with reps but after that I had to do them in singles. Interesting to contrast the HSPU with the Shoulder Press - roughly the same weight but so much more stabilization required for the HSPU - I guess humans have legs for a reason! - Rest - Open water swim in the San Francisco Bay again. This is so much fun - 48degF water followed by a good sit in the steam room. Truly great for recovery. Sunday 2010-01-31 WOD: 10 rounds of: 15 x Deadlift @ 135#, 15 pushups. My time: 15 minutes. I'm not sure what it was (maybe that I ran the WOD at 10pm) but I felt pretty weak toward the end. I had to break the deadlifts down to sets of 5. This one really makes your hamstrings scream. Monday 2010-02-01 Rest day. Tuesday 2010-02-02 WOD: Run a 5k. Much more than 5k and I start to get bored, but 5k is ok. Hamstrings were still sore from the 150 deadlifts on Sunday night! - Rest - Front Squat 5-3-3-2-1. Felt good with the squats, did 185#-205#-225#-245#-255#. Wednesday 2010-02-03 This was pretty tough - and fun! WOD: As Many Rounds As Possible in 3 Minutes 5 Kettlebell Swings 2 Pood 5 Push Press 95# 5 Pull-ups Kinda like Fight Gone Bad I suppose. First time doing the 2 pood swings, I found them easier than I expected, although toward the end my grip was very tired. My score: 3-4-3-3-3. It was OK, I slightly miss counted at one point, but I only would've gotten maybe one more round, so not a big difference. - Rest - 3-3-3 Power Cleans My numbers: 135#-155#-175#(F) Didn't have enough time to rest between sets since parking meter was running out, I blame that for failing on the 175# cleans! Thursday 2010-02-04 Feeling a bit wrecked at this stage. No WOD prescribed, so I did 75 reps of Over Head Squat @ 95 lbs. Not in a single set :-) I'm looking forward to resting tomorrow!

Niall O'Higgins is an author and software developer. He wrote the O'Reilly book MongoDB and Python. He is the co-founder of BeyondFog, Inc which makes Strider Brilliant Continuous Deployment. Strider is a hosted Continuous Integration & Deployment service for Node.JS and Python.

Read and Post Comments

Android SDK on Ubuntu

January 27, 2010 at 12:08 AM | categories: Android | View Comments |

Since I got the N1 a few days ago, I'm quite interested in hacking for the Google Android platform. One of my favourite things about Android is that the SDK is freely available for Windows, Mac and Linux. In fact there is even an an effort to port to *BSD systems, although that still seems FreeBSD-specific and in the early stages.

Anyway, I decided to do my Android development under Ubuntu. While its pretty straight forward to get things set up, there are a few gotchas and little pieces missing from the Google docs to install the Android SDK on Ubuntu.

Download and unpack the SDK


First step is to download the SDK from the Android SDK page. I got the Linux/i386 version. Untar it to some convenient location. I just dropped it into my homedir. Then add /tools to your shell $PATH:

# assuming your shell is bash
$ echo 'export PATH=$PATH:~/android-sdk-linux_86/tools' \
     >> ~/.bashrc

Now you should have the SDK tools in your path to make using Android SDK easy! To verify, try running adb help and you should see a bunch of output.

Configure USB for your device


This is optional I suppose since you can use the emulator. However I really wanted to be able to debug on a physical device (my Nexus One). This is one area where the Google docs are lacking, at least for Ubuntu Karmic (9.10). You will want to refer to the Developing on a Device page, if only for the USB Vendor IDs table.

You need to create a file called /etc/udev/rules.d/51-android.rules on your system. Its contents should be (you might have to change vendor ID):

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", SYMLINK+="android_adb", MODE="0666"

Note that "0bb4" is the HTC Vendor ID. If you don't have a HTC phone (e.g. G1, N1) - then you'll need to look up your vendor ID at the page I linked above, or this copy of the table here:

Manufacturer USB Vendor ID
Acer0502
HTC0bb4
Huawei12d1
LG1004
Motorola22b8
Samsung04e8
Sony Ericsson0fce

You might need to reboot or restart udev (`sudo service udev restart') in order for this to take effect.

Enable USB debugging on your device


The next step is to enable USB debugging on your device so that it becomes available to the Android SDK USB system. Hit Settings -> Application Settings -> Development -> Enable USB Debugging to turn it on.

At this point you can plug in your device, and adb should pick it up:

$ adb devices
List of devices attached 
HT9CRP806806    device

Install Eclipse and ADT Plugin


You don't have to use the SDK with Eclipse, but I figured I'd give it a shot to check out the tools and to hold my hand a bit in terms of project creation. Again this is mostly documented by Google, but you can take a few shortcuts on Ubuntu Karmic:

$ sudo apt-get install eclipse

Now to get the ADT plugin, you have to follow the instructions from Google. I had to disable https for some reason to get it to install, and use a plain http URL instead.

Create an AVD


At first, it wasn't entirely clear to me that I had to actually go and create an

Get Platform SDKs
Click "Available Packages". Then click "Add Site" and enter https://dl-ssl.google.com/android/repository/repository.xml. This will populate your available packages list with a whole load of SDK platform versions and so on. Install whichever ones you want to be able to use. I just went with 2.1 for starters since thats the version I run on my phone. Presumably when you get around to compatibility testing for your app you will want to also install earlier versions. Correctly configured, it should look like this:

Create virtual device (target)
Now that you have a platform sdk available, you can create the AVD. Click "Virtual Devices" and then the "New" button. You should be presented with this dialog:

Its pretty clear what to fill out here. One thing to note is that if you want to be able to access the 'Net from within the emulator (as you almost certainly do) you need to add "GSM Modem support" to the AVD. Click "New" under the Hardware area to do this.

Running the Android SDK Emulator


Once again, start the AVD manager (by typing 'android'). Now you can select your AVD and click "start". It can take a little while for the emulator to boot:

There you have it! To get started with building a project and getting it running on the emulator, try playing with Eclipse. It makes it pretty easy to get started. I hope to write more about Android development as I learn!

Niall O'Higgins is an author and software developer. He wrote the O'Reilly book MongoDB and Python. He is the co-founder of BeyondFog, Inc which makes Strider Brilliant Continuous Deployment. Strider is a hosted Continuous Integration & Deployment service for Node.JS and Python.

Read and Post Comments

« Previous Page -- Next Page »