Campus Ambassador Coordinator Around the Sun

Wednesday Dec 31, 2008

First I must say that I hope everyone has had a great Christmas and that you all have a good time tonight and a Happy New Year in 2009. I want to thank all the Campus Ambassadors for all their hard work in 2008 and I look forward to working with you all in 2009.

Now, moving on to the real reason for this blog post...

A couple of months ago I saw a really great SunSPOT project by a group of Campus Ambassadors based in Russia. They modified a remote control car so that it would run from a SunSPOT. In addition to being computer controlled it did a number of other cool things like turning the lights on when it got dark, playing music through a sound system etc. You can see more information about the original car at http://blogs.sun.com/MagDen/entry/spotcar_remote_controlled_car_with.

Inspired by this ingenious idea I started to develop a week long 'SPOTCar' project for a local secondary school to try and get more students enthusiastic about computer programming, electrical engineering and Sun's products and technologies - before they even get to university! You never know - one day these people could make great Campus Ambassador candidates.

A few weeks ago I got the pleasure of actually running the project with a great team of about 20 students, some A-Level, some GCSE, some Keystage 3  - all had one thing in common, they'd never programmed, soldered or even heard of Sun before.

I am pleased to say that the week went really well and I was truly amazed at how fast some people picked up the programming aspect of the project. Some teams had finished their SPOTCars to a basic level (i.e. the car would move forward, left, right, reverse and the lights could turn on) within 3 days - one of these days was pure theory! By the end of the week there were two functional cars with head lights that turned on and off as it got dark and light.

So - what was the point? Well, the main point of the project was to introduce a group of young people to Sun, and in this it was 100% successful. By the end of the week a large majority of the school, students and staff alike, had walked past and asked and inquired as to what the project was about and were asking about Sun, programming etc. I'm really pleased to say that some of these students are now considering work experience at Sun, some have moved over to Solaris as their operating system of choice and others are learning more about the Java programming language day by day. If absolutely nothing else I am now the proud owner of two SPOTCars which will be great for the Aberystwyth OSUM group tech-demo I'm running in February!

I feel that this whole experience just helps to emphasise how important Open Source projects are. If it weren't for the Russian Campus Ambassadors being open about their ideas this project never would have run, all these students would never have heard of, or had the chance to use products produced by, Sun... and I wouldn't have such a great demo for my upcoming talk in February.

Sunday Oct 05, 2008

So I was really annoyed that my Mum's Elonex Webbook with Windows XP on was doing CPU frequency scaling out of the box and so was getting battery life nearer 4 hours than the 2 my Ubuntu Webbook was achieving.

I spent a couple of hours this evening searching for ways to get CPU frequency scaling working, and at last I've managed to find the information I was looking for. As such I thought I'd share it with you.

Download, extract and compile the following source code:

$ wget http://www.a110wiki.de/wiki/images/6/65/Cpufreq-2.6.25_backport.tar.bz2
$ tar xfvj Cpufreq-2.6.25_backport.tar.bz2
$ cd cpufreq
$ make

Now you need to create the following directory:

$ sudo mkdir /lib/modules/`uname -r`/cpu

Then copy the compiled kernel module into this direcotry...

$ sudo cp e_powersaver.ko /lib/modules/`uname -r`/cpu/

You're nearly good to go....

$ depmod -ae
$ modprobe e_powersaver

You will now have CPU frequency scaling support. You can add 'e_powersaver' to your /etc/modules file so that it loads automatically every time your computer starts.

Other tools that are useful include:

$ sudo apt-get install cpufrequtils

You can now do things like this:

 $ /usr/bin/cpufreq-info
cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
  driver: e_powersaver
  CPUs which need to switch frequency at the same time: 0
  hardware limits: 399 MHz - 1.60 GHz
  available frequency steps: 399 MHz, 499 MHz, 599 MHz, 698 MHz, 798 MHz, 898 MHz, 998 MHz, 1.10 GHz, 1.20 GHz, 1.30 GHz, 1.40 GHz, 1.50 GHz, 1.60 GHz
  available cpufreq governors: ondemand, conservative, userspace, powersave, performance
  current policy: frequency should be within 399 MHz and 1.60 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.60 GHz.

And to change the power modes etc you can do this:

$ sudo cpufreq-set -g powersave
$ sudo cpufreq-set -g conservative

So, I hope this is of some help to someone. I should point out that the original source of this information was http://www.a110wiki.de/wiki/CPU.

Friday Sep 19, 2008

As the start of university approaches I have been wondering about a new laptop. I want a laptop to take to university so I don't have to lug my desktop PC along with me. However, I don't have an enormous amount of money to spend on a laptop so I decided to stick to a couple of key features, the main one being size - it must be small. This produces a problem as small laptops usually cost the most.

Given my monetary restrictions I decided that (unlike my usual requirement) I would forgo the need for hundreds of CPU cores, GBs of RAM, TBs of disk space and just settle for small. As such the natural solution to this would be to buy something like an Eee PC. However, I really don't want a Linux distro made for dummies. I want a real OS, and at the same time I don't want to spend time hacking the thing so I can get a terminal (not something you expect a Gentoo user to say)! Don't get me wrong, the Eee PC is a great product - it's just not for me.

So, my options are narrowing down dramatically!

Fortunately I was in town today - not something I do much nowadays, it's all internet buying for me. However, on this rare occasion that I did go in to town I happened to walk past the Carphone Warehouse and saw the Elonex Webbook. This little thing has a 10.2" screen, an 80 GB 2.5" HDD, 512MBs RAM, 1.6 GHz VIA C7M CPU, weights 1.3Kgs and was just what I was looking for. At a very reasonable price of about £240 or £25 per month with mobile broadband I could hardly say no.

Even though the specs are a little on the low side, I figured it's be just fine for compiling, writing and testing my (very small) OS - not to mention the mundane things such as writing university reports etc. So I decided I'd come home and check it out on the internet and then buy one online.

After reading some reviews I discovered that, if not the best on the market, it was the best price and the general performance and reviews were good. So, I headed off to the Carphone Wearhouse's website to buy my new 'Webbook'. However, when I got there I was shocked (er - well, perhaps that is a slight exaggeration, disappointed, I was disappointed) to find out that online it only comes with Windows XP, and as such costs more - bah! Like I'm going to get that then.

So I'm back off into town tomorrow (two days in a row!?!) to buy the version with Ubuntu on, cheaper and I get it straight away with no £15 delivery charge. I'm not sure what the moral of this story is. Some might think it's 'impulse buy'... in fact, yeah, that's what I think :p

So the only question that remains is should I spend the extra £360 over 24 months and get the mobile broadband, or should I just buy the laptop and forget the broadband - hmmm... decisions, decisions.

Sunday Jun 01, 2008

My name is Michael Clarke and I am currently a student at Aberystwyth University studying for a MEng in Software Engineering. Part of my degree requires me to do a year in industry, and I'm just in the process of finishing this year at Sun Microsystems working for the PTS Global Labs organisation under Paul Humphreys. During the last year I've really got enthusiastic about Sun, not only because of its truly amazing products such as Solaris, ZFS and DTrace  - but also the whole community and environment. Everyone who works at Sun is great, always willing to help and share ideas and I found the whole atmosphere inspirational.

I've had so many opportunities and experiences during the last year, from working with Sun's latests and greatest server range, spending a week in Paris at the French lab, to fixing bugs in DTrace (or at least, trying to!). The training provided has been top notch too - I've had my pick of courses including Solaris 10 Administration, 15/25K High-End Server Maintenance and Solaris Internals. What is more, it hasn't stopped there - next week I'm doing a course on Solaris Crash Dump Analysis which should be good fun.

So, you may ask yourself - if this guy is basically just finishing his year at Sun, why has he only just started a blog? The answer is that I haven't finished at Sun, and indeed I've only just begun. I am taking on the role as UK Campus Ambassador Coordinator for the next two years until the end of my degree. This role basically involves looking after all the Campus Ambassadors in the UK who are out there promoting Sun by doing presentations on our technologies, from DTrace to Java and encouraging student participation in projects such as Open Solaris. My experience at Sun over the last year has made me the perfect candidate for such a job, being a student myself I understand the ambassadors needs, but having worked at Sun's UK head office for the last year, I also understand Sun's needs.

This brings me nicely onto the content my new Sun blog. I intend to share with you all my experiences as a Campus Ambassador Coordinator. I also plan to post updates on the things I continue to learn each and every day working for Sun - from how the Solaris Kernel manages virtual memory to how to debug the Solaris boot procedure using OBP (courtesy of Chris Beal).