Category Archives: Asides

Google Analytics

A long while back I applied for a Google Analytics account and sometime during the Germany crunch it came through.  So, finally, I’ve gotten it installed via this incredibly easy plug-in called, astonishingly, Google Analytics plug-in for WordPress.

Analytics will allow us to figure who and where you robotics fiends come from and organize it in the typical Google-awesomeness way.

Walk Learning in Progress…

C3PO is doing laps upon laps in our Robot Lab this afternoon in hopes of finding a walk faster than all previous ones.

The poor guy is trying really hard. We’ve experimented with policy-gradient algorithms, but now we’re running a hill-climber algorithm, which is essentially the easiest machine learning algorithm to digest and write.

Machine Learning works like this: you want to find an optimal solution to a problem, and you want the computer (or dog) to find it for you. Computers are very good at doing things over and over again, and so we can leverage this ability and have the computer try many variations of one solution until we find an optimal one.

Machine Learning algorithms guide these solutions and dictate how and when these variations occur. Flashy algorithms these days have flashy titles like Genetic Algorithms and Downhill Simplex Methods. But ours is much simpler.

Hill Climber algorithms start with a base solution and then vary this solution a certain amount of times, gauge each variation’s success, and then simply chose the best solution so far and repeat. For us, our ‘base solution’ is a walk — a set of inverse kinematic parameters — that we hope to optimize.

Right now C3PO is in lap 258 of possible 800. Come on, C3PO!!

Our SLOC readings are high…

What is SLOC? It means Source Lines of Code–and we’ve generated a lot of them. So we ran this  program called sloccount on our bulky our entirely fresh, brand-spanking new code base as of last fall.  It came up with some interesting numbers:
Total Physical Source Lines of Code (SLOC) = 33,716 –Ed.: 10,000 of this is Python 2.3 source code (and not ours)
Development Effort Estimate, Person-Years (Person-Months) = 8.04 (96.48)
Schedule Estimate, Years (Months) = 1.18 (14.19)
Estimated Average Number of Developers (Effort/Schedule) = 6.80
Total Estimated Cost to Develop = $ 1,086,099 (average salary = $56,286/year).

I can only conclude that I have been vastly underpaid over the last year.

Here’s how it broke down in terms of languages:

cpp:          16838 (49.94%)
python:       10995 (32.61%)
ansic:         5421 (16.08%)
sh:             462 (1.37%)

So overall we’ve done quite a lot of work.  Roll, nBites!

*generated using David A. Wheeler’s ‘SLOCCount’.*

New server coming soon; Website updates

So in the long list of cleaning house on the team–the code base, the robots, the lab, the ferd–I’ve finally come to the website.  Here’s our grand idea: we’ll take an old linux box from downstairs and make it into our own personal webserver.  Jeremy is in the process of wiping it, installing debian, mysql, php, etc, and then I will install wordpress and port over this website.

Our own webserver will provide a bunch of substantial functionality boosters–we’ll have our own dns (probably robocup.bowdoin.edu), a much faster loading website, and much more control over it as well. We’ll be able to do things like access our code base via httpd and even stream video–and we’ve accumuluated a lot–to our adoring fans.

In the meantime, I’ve created a Media page that’s currently in progress which will hold some of our things to come.