Last November, I had to create a MATLAB program that performed motion detection on movies. This particular program uses the Horn-Schunck method to detect areas of motion within a video. It highlights high motion areas (based on a pre-determined threshold) and removes any frames that do not contain motion above that threshold. This could be especially useful for watching boring security cameras (like the one in the example video).

Make sure to have the input video in the same directory as the MATLAB scripts and run hs_vid.m.

So, I have devised a new quest for myself, which I will call “Project AWESOME.” The goal of project AWESOME is to make myself more awesome.

Being a white kid blessed with the scrawny genes, I figured I was doomed to being skinny for the rest of my life. I have generally stayed pretty active (lifted, Tar Kwon Do, running, dancing), but nothing seems to elevate me above white skinny kid status – except maybe a full day in the sun, in which case I become the red skinny kid.

The first phase of Project AWESOME is weight gain – preferably with muscle. While I have my doubts about some of Tim Ferriss’ methods, his Geek to Freak story is quite motivating. I doubt I will have the same gains, but I decided to give it a try. I picked up a copy of Tim’s 4 Hour Body book and read through the muscle building chapters. I devised a low-fat, 3000 Calorie diet with 180 g of protein per day. I have a lifting routine that works out my entire body with Single Set Failure two days per week.

More importantly, I started tracking my weight and body fat daily with a scale that uses Bioelectrical Impedance Analysis (BIA). I also track the amount of weight used in the gym. This has proven to be extremely useful, as I know when to increase the weights. I write down the weight I want to lift. If I make it past 8 reps, I add a ‘+’ after the number, which tells me that I need to increase the weight on my next visit.

So I finally caved and got a Twitter account. Rather than re-post stories or update the world with my daily activities, I’m going to do something useful for society (note the heavy sarcasm) – complain about all the quirks in technology that irritate me. If you’re interested, follow me: http://twitter.com/#!/techgeargrind. I’m purposely not linking it to my blog or Facebook account. I’d rather not spam those sites with negative comments. That’s what my Twitter page is for.

[Edit: 09/27/2011] I figured out how to appropriately link Twitter to my blog with a widget. Tweets will not appear as blogs. All is well and good.

You might notice that you get a “svn: Network connection closed unexpectedly” error if you try the command

svn list svn+ssh://username@ip_address:port_number/path/to/repo

This is because that particular command does not play too well with “:port_number” section (as in, svn+ssh does not play nice with alternate ports). All you have to do is create an alias in ~/.ssh/config (assuming you’re using Linux):

nano ~/.ssh/config

Add the following:

Host alias_name
HostName ip_address
User username
Port port_number

Then, to use the ssh+svn command:

svn list svn+ssh://username@alias_name/path/to/repo

Blamo! The svn+ssh command uses the information provided by the alias to access the repo.

I love Linux. I really do. But don’t get me wrong – I love Windows, too. They each have their place. Linux is great for free stuff and development but getting it to just work sometimes can be a PAIN. Ubuntu, luckily, handles most have that for me (apologies to all you hardcore – if you know how to use vi, you’re hardcore – Linux users out there. I simply don’t have the time to install EVERY PACKAGE FROM SOURCE).

So, recently, I updated my laptop (Alienware m11x) to Ubuntu 10.04.02 LTS, and it came equipped with a shiny new kernel (2.6.32-31). Ooooooo…. But that’s where the fun stopped. It killed my video card drivers, so I spent about an hour re-installing those so I could get back to CUDA programming. It also broke my sound driver. Annoying, but not a show stopper. Since I <3 Pandora, I simply had to fix them. After 2-3 hours of troubleshooting and trying every damn fix I could find on Google, I finally found the fix. So, for anyone searching how to fix their sound drivers with the new Ubuntu 10.04 update, do this:

With the advent of CUDA (well, at least as long as I’ve been looking at it), I keep getting the question: “Can I use CUDA with MATLAB?” The short answer: yes! The long answer: yes…and you can do it for free or pay some money for extra features. If you’re interested in spending a little extra for the most optimized, feature-rich tool set, check out MATLAB’s Parallel Computing Toolbox.

For those (like myself) who are a little tight on money, I recommend GP-you’s GPUmat MATLAB library, which can be found on their site: http://gp-you.org/. And for fun, I’ll walk you through installation and a basic GPU-enabled script!