Tuesday, June 18, 2013

OLPC XO Filmmaker: Well, I can playback files, sortof

Spent just a couple hours tonight fiddling with GStreamer and GNonLin, their non-linear editing addition.

After a bunch of fiddling and googling like crazy, I managed to find a couple of examples that I could fiddle with further to playback my OGG video files that I recorded using the built-in camera on the OLPC laptop.

The one example I have is playing back my video, which is great. I can't remember now, but I think I got that to play the audio along with it.

The other example I have is playing back 2 splices of 2 different videos (YES!!!!!!), cut together at different start and end points (YESSSSSSSS). But it doesn't have any audio attached, and I'm not sure how the heck to do that. But one thing at a time :)

Obviously I will need to re-write this code and add UI elements etc, but it's good to have some examples to work from because the Documentation for GNonLin is G-Non-Existent (ha). Seriously though, the documentation is epically lacking, and I'm hoping my code can end up being a good example that people can refer to online once it's done.

Tonight I found another great example from the awesome jonobacon, this was a good first start: http://www.jonobacon.org/2006/12/27/using-gnonlin-with-gstreamer-and-python/
His explanations were great, but for the life of me I couldn't get this to playback any audio on my machine Not sure why. I tried a few different filetypes (.OGG, .MP3, etc) but couldn't get any audio playback to work.

After working with this though, I found some cool examples of video playback here:
http://lists.freedesktop.org/archives/gstreamer-devel/2010-September/028407.html
After not-much fiddling, I managed to get a stream which plays back 2 SEPARATE VIDEOS, "cut" together at a supplied start and end time. Fantastic. So that's exactly the sort of thing I want, and ultimately then to save this file (I guess, "encode" it) back to disk. I of course also need to figure out how to get the supplied audio tracks to come along for the ride.

The "scrubbing" in this video works but only across one clip - it freaks out after the first one and then crashes. It's great to have some examples, cause man, the docs for this puppy are hard to come by. I am looking forward to more fiddling with this and getting something together that works... and then pimpin' out the UI some more so it looks easy to use. The main goal here (and the reason I am not just porting the excellent and already-existing PiTiVi Gnome video editor to OLPC) is that this needs to be usable by young kids - that's the audience of OLPC. So the workflow needs to be hyper-intuitive and as simple as possible. As little English wording as possible too because the more internationalized I can be from the start, the less I need to hope that people around the world write translation modules for me.

But first, the technology. Python rocks and I know it super well, but this GStreamer and GNonLin API is "hella verbose" and I'm sure glad for guys like jonobacon who is helping to make it easier to get over the initial learning curve. Once I see a few more examples and fiddle some more, I think I'll start making more progress. But it sure was cool tonight to see 2 clips merged together in one playback window. That I envision would be a "video project" that kids would compile together from existing clips (a.l.a. a very simplified version of iMovie). To save that to a file then, I think I just need to somehow attach an "encoder" to the end of the GStreamer pipeline.

Onwards!
Mike :)

Monday, June 17, 2013

OLPC XO Filmmaker progress: Basic GStreamer audio and GTK app

Onwards!! As you can see I am back to it, working again towards my ultimate aim of a video editing application for the One Laptop Per Child program's "XO" laptops. We all know that naming things in Computer Science is hard, so even though I am still a ways away from getting this app done, I've got a name for it. I want to keep it simple, so I'm going to call it, "XO Filmmaker".

As you saw from yesterday's post, I was crazily working last night till 5:00am to get my Windows 7 machine to be a more effective virtualized host for a Fedora VirtualBox "guest" machine.

Things are now finally quite smooth. The biggest problem as I mentioned in yesterday's post was that I had hardcore run out of (virtual) disk space on the Linux virtual machine, and so I couldn't install anything and stuff was generally going haywire. Getting that sorted last night was SWEET. Also I managed to finally get dual-monitor support working on the Linux machine too, which means I can work :) This is all great. Tonight I fixed an issue with the VirtualBox Guest Additions, so now I can freely copy and paste from my Windows machine to the virtualized Linux machine... this is all kindof magic.

Tonight, the main event was to start learning about GStreamer, and make a test program using GLADE (GTK's wysiwyg user interface editing toolkit, like Qt Designer), connected to callbacks inside of Python to GStreamer objects. SUCCESS!!

A GLADE user interface (3 buttons) connected to a Python program, running a GStreamer Pipeline
I followed the great tutorial here:
http://www.jonobacon.org/2006/08/28/getting-started-with-gstreamer-with-python/

So, why is this cool???

Well...

This is basically the foundation of what I am trying to ultimately do, which is a video editing application for the One Laptop Per Child program. For this application I am trying to write, I am ultimately going to need some GTK widgets, probably created via this GLADE tool, and then have them firing events back to Python code (as I am doing here as well). And in the backend, doing most of the work, will be the GStreamer Python library. This example just plays a tone through the sound card, but that's sortof similar to decoding and playing back video files. GStreamer does handle this, which is great. And ultimately, I want to figure out how to use something called GStreamer Editing Services to combine inputted .OGG video files together into a glorious edited result.

Tonight was awesome, and I'm finally feeling like I've got a stable setup here and some good ground to stand on to now move forwards with the actual app writing. There's still a lot of work ahead of me on this, and I'm going at it alone which is a little crazy given my generally busy work schedule and life in general. I could have put together a team for this but I think it's pretty tractable to get it done myself, I just need to keep chipping away at it. I really believe in this, and I want to make sure to get it done. Even if it does take me longer than I'd hope, I'm gonna keep chipping away at it whenever I can sort out larger blocks of time.

Once I get version 1 of XO Filmmaker out to OLPC, I'll upload it on Github for the Open Source community. At that point, I may try to source some more volunteers to help maintain and add new features going forwards, or at least offer up my services as more of a consultant/code-reviewer/project lead kindof role. If any budding young coders want to try to add some new features, I can offer advice/support/guidance which would be super fun too.

Glad to have made some progress and have some idea of how GStreamer works now. This is all quite exciting :)

Sunday, June 16, 2013

Extending the size of a virtual disk in VirtualBox + resizing Linux LVM partitions

Wow, this was complicated.

As part of the OLPC development I've been doing on a Virtualized Fedora machine running from Windows 7, I figured I'd be smart and let VirtualBox manage my disk size. Seems appropriate. But... I set the initial disk size to 8 Gb or something too small to use for Linux and all the stuff I am doing.

So no worries, I should just need to extend the size of the VirtualBox disk up to 20Gb, right? Well, sortof.

That works, but then the Virtual Linux machine has a bunch of unpartitioned space you need to partition. That's cool, and I managed to do that in an active Linux session open. The problem is, I actually want to increase the size of the main "running" partition -- and you can't do that while a disk is running of course.

Enter something fancy called GParted, a partition manager you can boot into using an iso disk image. Pretty sweet: http://gparted.sourceforge.net/download.php

From here, you can get a fancy partition window and it looks great, but wait a sec, my disk is locked!

Darn you, LVM partitions
Apparently these LVM partitions are "locked" and hard to extend. Weird.

But after reading for an hour or so on various Google sites, I found this one which explained very well how to extend an LVM partition. Instead of extending it, I just need to take my new space (that 12Gb drive /dev/sda3), format it to be LVM2 PV format as well, and then "connect" it to the existing drive (/dev/sda2).

This is a great explanation, from this site: http://www.ibm.com/developerworks/library/l-resizing-partitions-2/
LVM is a disk allocation technique that supplements or replaces traditional partitions. In an LVM configuration, one or more partitions, or occasionally entire disks, are assigned as physical volumes in a volume group, which in turn is broken down into logical volumes. File systems are then created on logical volumes, which are treated much like partitions in a conventional configuration. This approach to disk allocation adds complexity, but the benefit is flexibility. An LVM configuration makes it possible to combine disk space from several small disks into one big logical volume. More important for the topic of partition resizing, logical volumes can be created, deleted, and resized much like files on a file system; you needn't be concerned with partition start points, only with their absolute size.
Strangely, I actually get what's happening after this explanation. I just need to "connect" these 2 drives together, after formatting the unallocated space into LVM2 PV format to match my existing 100% full /dev/sda2 drive.

GParted can't connect the drives, so I need to open up a terminal in the booted GParted window, and run something called vgextend. This allows me to take the existing "Volume Group" called "fedora" and extend it out to include the new /dev/sda3 drive as well. Wahoo!!

Wahoo!
Now the /dev/sda3 drive is also part of the same mount point as /dev/sda2. Now I should stop getting these annoying drive empty errors on my Virtualized Fedora machine... hmm maybe not quite yet. But looks like I'm close ;)

>>Edit: Ok, I figured it out. That excellent IBM page suggested I install something called system-config-lvm. First, I had to uninstall something big (firefox, and deleted some icons and media files). Then I could install it.


This allowed me to see the logical disk setup. There was 12Gb unused space that I could extend my logical drive into. This program also "extended the file system" into this space as well as just extending the logical drive volume. Whew!!!!!!!!!! What a lot of work :)

First, extend the logical volume into the remaining space.
Ahh, that looks better! Now the root area is much larger, and actually has some space!

And now when I look at the Disks utility, I can see the filesystem has increased from 5Gb to 19Gb. Woot!

Back in business
Man that was hard and interesting and also it's 4:30am and I'm going to sleep. Back to the OLPC software development another day. But for now, it was nice to get the system functioning again, and learn a little more about Linux filesystem management (more than I ever thought I'd want or need to know) at the same time :)

Tuesday, June 11, 2013

Apple: that was slick

Wow, awesome ad campaign, Apple. http://www.apple.com/designed-by-apple/

Trademark inspiration. Really exciting stuff.

And the keynote was pretty awesome today too. The new iOS 7 design is pretty slick, and it's cool to see they've "modernized" a bit (eg animated backgrounds etc) but staying true to the roots of what iOS means and should "feel like" as they say. Very cool stuff. Excited to try it out.

That Mac Pro looks insanely badass too. I gotta see some 4K desktop screens for myself!!

Sunday, June 09, 2013

There Was Magic - Kickstarter film

My brilliant former colleague from Pixar, Afonso Salcedo, is working on a new film and it's on Kickstarter right now. It's a documentary which looks back at a major benefit thrown by Hollywood and the Fashion industry to support people living with AIDS. Looks like a fascinating subject and I'm sure Afonso will tell the story with heart and passion.

Check out his hard work here, and fund via Kickstarter or pass along to friends:

Monday, May 20, 2013

Mountain Bike Demo: 2013 Specialized Epic Comp 29"

This weekend I hit up the awesome and tough Camp Tamarancho BSA mountain biking trail up in Fairfax, CA. My buddy Ollie loves that ride and I hadn't done it before. The weather was great, so I organized a Demo bike rental from a local bike shop here in SF and tried out this crazy singletrack trail.

Me and Ollie
The way up was TOUGH on the first time, it was certainly a challenge for me at my current skill level. The switchbacks are very tight and uphill, so if you don't have enough momentum you need to catch yourself and walk before you fall off :) So there was a bit of walking on the way up, but I started to get the hang of it after a little bit, and also start to get more comfortable with the bike itself.

This was the first time I'd tried a 29" wheel bike, and also the first time I'd ever ridden a bike with rear suspension. Both of these features were very new and exciting to try out on a tough trail. The 29" wheels made for a lot of stability - I felt very comfortable and stable rolling over big rocks that would have freaked me out on my usual Gary Fisher hardtail bike. The wheels are mostly to thank for that. The other major win was the hydraulic disc brakes... the same kind as I used on the Kona Blast I rode on in Seattle last month. The extremely sharp brake sensitivity (and very new and clean tires, I should add) also really added to my comfort and stability on a really tough and sometimes steep and kinda gnarly terrain. I REALLY loved the brakes.

Oh, you sexy beast
The gears were different than what I am used to - 2x10... only 2 options on the front!!! Very weird. I guess this is a new thing and it actually makes a lot of sense, as it's generally faster to switch the back gears instead of the front ones. When you're trying to get up a crazy hill or the terrain is changing so quickly, it's nice to be able to rely on the gears switching fast and reliably. So that was also great.

The rear suspension was also a brand new experience for me. At first I didn't really notice it, which I think is intended. The Specialized has a very interesting piece of technology called a "Brain" which measures the amount of bump you are getting on the bike and engages the rear suspension only when required - this was pretty cool. So it stayed almost like a hardtail until I hit any sort of bumps at all, and then the rear shock would engage itself and respond to the terrain. I found myself "lifting" off my bike seat still a bit on very rocky/bumpy downhill as you would expect to do. But on lighter stuff or terrain that I would have had to lift off on my hardtail, I just zoomed right over it without concern. That was pretty sweet.

Singletrack epicness
This is the most Northern California photo of all time

So that was my big ride at Tamarancho, and also my first day out on this sweet rental. I got my phone to GPS the whole thing, check out the results here on Strava: http://www.strava.com/activities/54971208



Today I waited for the crowds from the Bay To Breakers race in San Francisco to disperse a bit so I wasn't going to need to weave through a bazillion people, and in the afternoon I took the bike out again for another hour to Golden Gate Park for a couple of the usual random runs here and there and random little side trails that can be fun and are less strenuous than Tamarancho. (My legs needed a bit of a rest, but I really wanted to make good use out of this 2 day rental). It was a great test of the bike today too, and I didn't notice the rear shocks as much today (though they did seem to be engaging a lot when I looked at them), but what I really noticed today was the speed that you get with 29" wheels. Man that thing goes fast. On the Polo Field at Golden Gate Park, I was spinning around the track at lightning pace compared to my usual run on my hardtail bike... and this is all in Gear #4 or 5 on the back, 1 on the front! Pretty crazy stuff.

Like.
It looks like the MSRP is around $3300 for this puppy, but local shops seem to be selling it for $2999. So it's a HUGE step up from what I've got now in terms of price and features, but it was definitely a fun ride and an awesome experience. If I ever do decide to get a full suspension, I am really gonna need to ride a lot more of these demo bikes from different manufacturers first before I'd be able to decide. There are a lot of features and things that I don't know about and it would be hard to know if you liked and if they "felt right" before actually trying it. So I might do some more of these demos in the future - it's pretty fun and gives you a cool opportunity to try new things and decide what kind of features really make a difference to you, before jumping into the deep end. I am not sure if it'll make sense for me to upgrade to one of these full suspension bikes someday or not, but I am definitely gonna try a bunch more and see if there is one that really suits my skill and biking style. If I keep doing this kind of biking, it might make sense to upgrade at some point. For now, I'm gonna keep trying out new and exciting stuff!

I didn't take a GoPro this time, but this guy posted a cool video of him testing out this bike on some trails in Colorado that look quite a bit like the kinds of terrain we did at Tamarancho.

Monday, May 13, 2013

Commander Chris Hadfield sings Bowie in Space

Oh those crazy Waterloo Grads :)

A brilliantly shot video, created on the International Space Station by Commander Chris Hadfield, Waterloo Grad and Canadian :) Super amazing, as well as being totally insane that he was able to pull this off in space.


Final Seattle Journal post: Links to all blog posts

That's the end of another Trip blog! Here are links to each post from my Seattle 2013 trip. Thanks for reading :)

Seattle 2013 Journal

Seattle 2013 Day 4: Back to Pike Place Market

4/22/2013
Seattle 2013 Day 4: Back to Pike Place Market

Already it's my last day of the trip to Seattle. What a great and chill trip. Still lots of fun stuff to do on the last day! I started by packing up most of my stuff.

Shirt and Panic Button from 826 Seattle
I then headed to the post office to mail back the helmet that I had rented with the bike from the bike store on Saturday. I'd forgotten to give it back in person, and didn't want to schlep all the way back up there, so I just mailed it back. That was actually a pretty fun and unexpected experience in itself. The guy selling supplies at the post office was very nice and had cute pictures of his family rotating on a really old computer monitor screen behind him. He spent a while picking me out the perfect box to fit the helmet, it was very funny. Waiting in line at the post office took a while, there were tons of people there. To pass the time, a nice older man behind me in line started to chat with me, and it turns out he served in the Presidio when it was a military base for 2 years after fighting in the Korean War?! Crazy huh. It was a nice chat and he was quite an interesting fellow. He thought it was cool I am from Canada and he said Vancouver and Victoria are very nice.

Then it was back to The Crumpet Place for a Pesto/English Cheese crumpet, and also the Maple Butter Crumpet. The maple butter one was an epic win, it tasted a lot like a maple glazed donut from Tim Hortons!! Amazing. I got the bottomless tea again and it was really great. While I was sitting there, a girl sat near me who was also sitting there on her own and seemed like a tourist as well. We started chatting and it turned out she was from Calgary, there on a Psych conference with a ton of other people. I told her about all the crazy biking I'd done and we shared some travel tips for Seattle. I love traveling!! So that was pretty fun and a tasty breakfast, then back to the hotel to pack up the remaining stuff.

Crumpets being made
I checked out, left my bags there, and then headed to Bill and Melinda Gates Foundation for a lunch meeting with a contact there. It was amazing!! It was so cool to see inside and also to have lunch at their cafeteria. I got rice, potatoes and some awesome local cod.

Bill and Melinda Gates Foundation
I was there to meet with a lady who runs a portion of the education initiative at the Gates Foundation, just to generally discuss my volunteer interests (826 Valencia, OLPC, Film Society, etc) and to learn more about their education strategy. It was just fascinating. She told me a lot about Ed-Tech "Education Technology" startups that were starting in the Bay Area, and how this is a new area of growth in Silicon Valley. She said that a lot of the great work that has been done to modernize other industries with technology hasn't really scratched the surface yet of what is possible for Education. Pretty interesting. After seeing the exhibit earlier in the weekend, I asked more questions about their data-driven style and rigor that they use to solve world problems innovatively... it feels a lot like they are using techniques I would use to solve programming problems, but applied with real-world issues like global health, environment, and education. Super amazing.

After this fun lunch and great discussion, I walked back downtown and checked out a few shops. I had coffee at the Seattle Coffee Works "slow bar". Another dude was at the slow bar, and we chatted a bunch. He was from Minneapolis, and had never tried this kind of fancy coffee before. He was psyched. I told him about a bunch of spots in San Francisco that I thought he'd probably be interested to visit.

Lots of coffee making equipment
Slow brew
And back to my favourite spot, Pike Place Market! :) I got a Peanut Butter Chocolate cheesecake and more Beecher's Market Spice cheese curds. I also got to see the cheese curds being made!

Cheese Curds being made at Beecher's Cheese
Awesome

 Here's a video of the process too.



At Beecher's Cheese Curds in Seattle at Pike Place Market, I got to see cheese curds being made!! It was pretty crazy, the day before this entire tub was just liquid.

I also tried the Mac & Cheese at Beecher's which people had suggested I had to try. They were correct!! I then did a bit more wandering in the Pike Place Market and finally busted out my SLR camera to take a few quality photos of the market signs and tulips that were for sale. Also, I had to get a couple better photos of the original Starbucks while I was at it.

Tulips at the Pike Place Market
Tulips
Public Market Center
I love this sign
Another pic of the sign
Flinging fish
Nice catch!
Flowers
Seafood
The other sign
The original Starbucks
Street musician outside the original Starbucks
Preparing crumpets at The Crumpet Place
Then back to the hotel, got my bags, and the girls at the desk were hilariously psyched that I had picked up some Beecher's Cheese Curds. From there, a quick walk back to University Station and then the Light rail back to the airport. I found Mom a nice gift at the airport and got a tasty Starbucks Refresher while waiting... those things are pretty good.

Back on the plane to SF, I had lots of time to think about the trip. It really was a great idea, a great plan to reconnect and re-energize. The trip was very outdoorsy, biking and also tons of walking... lots of exercise was also a brilliant strategy to refresh myself. I am coming back to my day-to-day with enlightened perspective, a clear mind, and an invigorated attitude. Brilliant!! "The Power of Time Off!" As I was on the Light rail, I noticed a quote from Chris Guillebeau, the awesome dude from The Art of Non-Conformity.
“Why do you go away? So that you can come back. So that you can see the place you came from with new eyes and extra colors. And the people there see you differently, too. Coming back to where you started is not the same as never leaving.” -Terry Pratchett
That really hit the mood just right. Seattle was so awesome, and I'm so glad I went. What a perfect trip.

--Mike Jutan, 4/22/2013

Seattle 2013 Day 3: EMP Museum and Restaurants

4/21/2013
Seattle 2013 Day 3: EMP Museum and Restaurants

The day began with an epic breakfast at the Fairmont. Yeah, that was amazing. Then off to take the Monorail to the EMP (Experience Music Project) museum... which was AMAZING!!

Apple Fritter French Toast. Yep.
Monorail... monorail... monoraiiiillll!
Epic Frank Gehry architecture at EMP Museum
Rock and roll
Paul Allen apparently is the mastermind behind this amazing museum, which felt like it could easily win the coolest museum in the world award. It was so awesome. They had literally everything I wanted to learn more about: The Art and History of Video Games, a Jimi Hendrix in London exhibit, a history of the band Nirvana (and of Grunge music in general), a Science Fiction and Filmmaking portion with some stuff about George Lucas, cool Star Wars stuff... and even a huge music section where you could learn to play new instruments, learn about guitars, keyboards, mixing, drums, guitar pedals, and you could even book a sound booth to make your own CD in 10 minutes. That was so cool. They also had an insanely massive and awesome big indoor projection screen called "Skychurch". It was pretty epic, and had cool disco balls with billowing material attached to them on the roof. Amazing.

A friggin' guitar that Hendrix played at Woodstock in 1969... AMAZING
Art of Video Games
WOW
I remember this :)
Poetry
So amazing
Old school
Remember when I got to work with some of the people who made this game, that's now in this history of video games exhibit?!? Amazing.
MTV award given to Nirvana
That's a lot of guitars. And that one random bass.
A cool "learn guitar" exhibit where lasers show you which strings to play!
Science!
Terminator 2 sculpture
Grr!
Make your own comp with green screen and a video feed
Haha this rocked
Costume worn by Christopher Reeve
Yoda cane and pendant!!!!!!
GL, what up!!
Um.. YES
Cool case of Anakin mask reveal from Return of the Jedi
WOW awesome Vader art by Ralph McQuarrie
There's some red on your shirt
And, I love this museum
Outside there were free tastes outside the Space Needle of a bunch of different method of preparing local Seattle salmon with different types of rubs and sauces. Um, glorious!!! That rocked.

Free food outside
From there, it was back to downtown on the Monorail and then back to Pike Place for some epic mini cheesecake. I got a shot of spicy hot chocolate there too, and a container of very fresh raspberries that were certainly too amazing to skip. Also we tried some seedless muscat grapes, which were very tasty. After some local pickles and fish and chips, it was time for a quick Ferris wheel ride before heading back to the hotel.

Pickles at the Pike Place Market
View from the wheel
Seattle as the sun is coming out!
After chilling at the hotel a bit, I headed back to Pike Place and got a rhubarb pastry at a Piroshki place. I also picked up some Market Herb Cheese Curds from Beecher's Cheese. Then back to the hotel again to chill out after a lot of walking. I got a double espresso in the lobby and with the tons of walking today and biking yesterday... I was exhausted!!! Chilled out for a bit and then went back up to my room and slept for 2 hours!

Cheese curds
Mmm...
A tasty Rhubarb Cheese pastry
I got up and put on a nicer shirt for dinner, and took a cab over to Spinasse, a place that has been recommended by several people. It was freakin' incredible. Someone told me it was the "best Italian food they had outside of Italy", which was an impressive claim. It was really excellent. I was quite tired from all the exercise, but I'm glad I took a power nap and still went out... I was considering just a quiet night at the hotel but it was well worth the trek out to the restaurant.

Fancy night out at Spinasse
Tajarin al ragù o burro e salvia (Fine hand cut egg pasta with ragù or butter and sage)
Jerusalem artichokes "Sunchokes" with epic sauce. This was amazing
One of the best espressos I've had, it was amazing
Spinasse
I started with a glass of Nebbiolo red wine (a variety I've never tried before) from a winery called Pelissero from Treis, Italy (near Fossano). It was amazing. It went incredibly well with the pasta that every person in Seattle told me to buy - a butter sage "tajarin" egg pasta. It was insanely good. It did actually remind me of the subtle and unbelievably fresh flavours of the restaurant we went to in Florence that was so epic. What an awesome time.

On the side of the main dish, I also got some crazy looking artichokes called "Jerusalem Artichokes" which looked like potatoes and were in this sort of gravy. One of the ladies that worked there came by to ask me how I was enjoying them and she said, "They are so sinful, like savory candy". haha, so poetic. This place is like Italy!

The bread was also incredible and the wine a good choice. They had some crazy homemade "Huckleberry Cello" - like a Lemoncello I suppose. It sounded good but I decided to just go for an Espresso. It kicked the crap out of the instant Starbucks espresso that I had back at the hotel. It came out in a Moka Pot and I had 3 cups worth out of it, with just a dash of cream in each. An incredibly smooth espresso and really done beautifully. They really know what they are doing at this place.

The food was very rich so I walked back to the hotel. I had considered going across the road from the restaurant to a live music venue place that seemed to be bumpin', but it was a long day and I was keen just to get back and chill out at the hotel some more. It was a nice walk and I got back to the hotel and practiced my speech for the Waterloo Alumni Event at Facebook which was only a week later, so it was nice to get a little more practice in.

Some more tea and another bath! My legs were still tired from the biking yesterday but it was awesome exercise. I had some snacks, watched some random movies on TV and then wrote my journal. What a great day! Tomorrow, back to the Bill and Melinda Gates Foundation for a meeting, and back to The Crumpet Place. I'll check out tomorrow morning and then enjoy a few more things before heading to the airport. Looking forward to seeing that GoPro Video!!