CrossFit Sectionals NorCal Training Log 2010 #5

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:

8×100m sprints, rest in between.
2×400m run, 2 mins rest in between.
1×800m 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.

CrossFit Sectionals NorCal Training Log 2010 #4

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.

This overhead position is tough for me

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!

Android SDK on Ubuntu

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
Acer 0502
HTC 0bb4
Huawei 12d1
LG 1004
Motorola 22b8
Samsung 04e8
Sony Ericsson 0fce

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 Android Virtual Device (AVD) before being able to run the emulator etc. The AVD management tool is a bit weird as well, but I figured it out after a little bit.

Just type “android” to start the AVD management tool.

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:

Populated AVD manager

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:

AVD Creation 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:

Android emulator running under Ubuntu Karmic

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!

CrossFit Sectionals NorCal Training Log 2010 #3

This week wasn’t quite as intense as previous weeks, I took more of a break between workouts than usual because I was busy hanging out with my girlfriend Frances Wang before she left for China for a few months to work for UNIFEM. So I took a few nights off – but I still got some decent workouts in!

Tuesday 2010-01-19
WOD: 4 rounds of 25 bettlebell swings @ 1.5 pood, 15 Pull ups. My time was 10:20. Quite bad. Felt a lot of nasty aching in right shoulder doing the pull-ups.

Wednesday 2010-01-20
Rest day.

Thursday 2010-01-21
WOD: 100 KB swings @ 1.5 pood. Felt good. KB swings make a great metcon/warmup!
- Rest -
5×5 shoulder press. 95-105-115-125-130. Felt strong! Compared to last shoulder press on 15th, where I could barely press 5×120, this one was much better.

Friday 2010-01-22
Rest day.

Saturday 2010-01-23
WOD: Angie (100 pull-ups, 100 sit-ups, 100 push-ups, 100 squats for time). My time: 12:46. Not too bad but my PR is under 12 minutes. Pull-ups still need work. Push-ups and squats in particular went well.
- Rest -
5×5 deadlift. 225-275-315-325-325. Felt pretty strong. I like deadlifts!

Sunday 2010-01-24
Rest day.

Monday 2010-01-25
WOD: 5×5 over head squat. I did power snatch to 5xOHS. 95-105-115-125-130. Felt pretty good on these, but really want to get up past 135 in power snatch very soon. I need to work on push press or push jerk to get the OHS heavier off the rack, rather than snatching it all the time. I could definitely squat more if I could get it into position.

5×5 back squat. 225-245-255-265-275 (fail after 4 reps). Felt strong on this. Much better than last back squat sessions on 11th and 15th.

5×5 power clean. 135-155-185-195 (fail after 1 rep). Again this was better than last time but I was totally burned out after the 1×195 power clean. Technique felt bad and movement was too slow. I’m thinking I’ll spend some time with moderate weight (say 155#) to work on technique and speed. Also hopefully going with a bunch of KMSF folks to get some proper Olympic lifting coaching this weekend. My squat clean and squat snatch suck so this is badly needed!

Google Nexus One Review

This week I bought the Google Nexus One phone. I’ve been very impressed with the device so far. Here are some of my thoughts. Keep in mind that this is a hacker’s perspective and I’m not nearly so interested in eye candy and user experience as many people might be.

On the hardware

What impressed me most about the N1 was the hardware, and its hackbility. The highlights as I see them:

  • 1 Ghz Snapdragon CPU – almost twice as fast as iPhone and Motorola Droid
  • 512M RAM
  • Very,very nice 480×800 OLED display
  • 5MP camera + flash
  • Easily removable battery (unlike e.g. iPhone)
  • Micro SD card slot
  • Hardware multi-touch support
  • 3g modem – which can be used for tethering
  • WiFi

Back in 2005 I presented a paper at EuroBSDCon on Porting OpenBSD to the Sharp Zaurus. I liked the Zaurus device, and I see the Nexus One as a much more evolved equivalent computer, with in-built 3g and wifi.

On the Android OS

I liked the concept of Android when it first came out but after seeing the G1, figured it needed some time to mature. My impression then was that it lacked polish and that the hardware available just didn’t have enough power. Now, though, with the advent of the Nexus One, I think its awesome.

Highlights for me of the Android operating system:

  • Open Source – You can download the source tree and compile your own ROM if you like
  • Free Multi-Platform SDK – The iPhone is a nice piece of hardware, but I don’t own a Mac (and don’t want one) so could never develop for the platform. The Android SDK, on the other hand, is freely available for Windows, Mac and Linux – so I can actually use it!
  • Multitasking – I didn’t actually realise that iPhoneOS didn’t support multitasking until recently but that seems like a huge disadvantage.
  • Activity micro-app model

Android Activity Model

Many people don’t seem to like this, but I’m quite impressed so far. Applications on Android are really a collection of micro-applications called “Activities” which are executed in a stack, and are expected to be able to handle being garbage collected by the OS and resumed later. This provides two very interesting things:

  • You have the illusion of running as many applications at once as you like. If the application isn’t actually in memory when you try to access it, it will be resumed and its state re-initialised to what it was previously.
  • It provides a very interesting mechanism for code-reuse and use of third-party functionality.

For example, lets say your application on Android needs to prompt the user to select a point on a map. Instead of having to call some Google maps library or similar in-process, you actually execute the Google maps activity (which is a separate process) and it sends you back information.

While this isn’t conceptually so far removed from linking library code into your process memory space and calling functions that way, it removes an awful lot of complexity – no need for shared library linkage for one – and improves security and robustness of your application. Should the thirdparty activity crash, because it is in a separate process, it shouldn’t take your app down with it.

My favourite use of this model so far is Snaptic’s 3Banana Notes, which provides a note taking activity to other applications. This allows third party applications to save any note-like state to your Snaptic account, and get syncing etc for free. Pretty cool idea.

Conclusion

I am super happy with the Nexus One and Android so far. I was able to hack together a simple stopwatch application for the platform in about 90 minutes – and that includes installing Eclipse and getting it set up. I’ll write some blog posts on developing for the phone soon. However, its not without its flaws. Its pricey, at $580 unlocked. Android could do with less frivolous eye candy and more focus on responsiveness in my opinion. The virtual keyboard doesn’t seem as good as on the iPhone. Also I’d love to get more battery life out of the device – but it seems like all these smartphones are power hogs.