Me, Operating Systems, Technology, Sun Microsystems and Stuff!

From bash to ksh…

April 13th, 2008 Michael Clarke

I’ve finally made the move. For some time now I’ve been using bash in vi mode - however there is just one little niggle with it, every now and then the display messes up and you start seeing things like this:

le/why/has/this/moved/here?puter ~ $ mplayer /some/long/path/to/some/fi

That is really really really annoying when it happens.

Anyway, a colleague mentioned some time ago that this was the reason he moved back to Korn Shell… so I figured I’d give it a go. So far the only thing I’ve not managed to get working is coloured ls output…. Everything else is working, tab completion (even though I’m trying to use Esc + \ instead), coloured PS1 prompt etc etc … most importantly though, vi mode hasn’t, as of yet, messed up! ;)

I’m starting to get a little concerned though - I’ve moved away from Gnome to Fluxbox at home and to fvwm2 at work… then on top of this I’ve now changed my shell from bash to ksh - what is happening!?!

Edit: I’ve now got coloured ls working… I was too involved reading the .bashrc files in Gentoo trying to work out how bash does it… instead I should have just typed man ls….

  --color[=WHEN]
    control whether color is used to distinguish file types.  WHEN may be `never',
    `always', or `auto'

Duh!

michaelfclarke@mikes-computer michaelfclarke $ alias ls
ls='ls --color=always'

The great things about working for Sun…

March 10th, 2008 Michael Clarke

This morning I am about to go on the week long Solaris 10 Internals course at Sun. This is a course that I’ve been looking forward to for some time as it goes into detail about the implementation of the Solaris 10 Kernel - including things such as memory management, file systems, multi-tasking support etc. This started me thinking how great working for Sun really is…

  • Everyone at Sun is really friendly and always willing to help and tell you about (and ask for feedback regarding) their own little (or sometimes rather larger) projects.
  • The training provided is excellent - so far in a year I’ve been on four courses starting with a mid-range Serengeti course, then the Solaris Intermediate and Solaris Advanced course, and then the high-range Starcat course. I’ve got another two courses to go, the first one being the Solaris Internels and the other one I’ve got to decide on still!
  • Sitting where I sit I get prime access to some of the highest level support engineers in Sun - and some of the conversations are immense - but the really great thing is the engineers are always willing to accept suggestions and comments - even from me and my peers - lowly interns.
  • Working mostly in the Lab we get access to all of the latest Sun equipment usually before it has been released, and quite often beta versions during the development cycle before the products have even been announced.
  • There are always opportunities available - if you want to have a little go at something else for a while you’re encouraged to do so - take for example my recent DTrace work thanks to Paul Humphreys (my manager) and Jon Haslam (one of the DTrace engineers) - it’s not my job, but they’re both being really supportive and offering help and advice - not many jobs you get that sort of support and encouragement…
  • You get to travel. Recently I went to our Paris lab in France. Matt has been to Sweeden. Fraser is about to go to Germany and Robin and David are both scheduled to go abroad at some point during the rest of the year - not bad for an internship.
  • You really are considered to be a part of the team - not just ‘the students’…. well, we are referred to as ‘the students’ some times, but it doesn’t hold any prejudice… We’re often asked our opinions and suggestions on subjects concerning the lab (and indeed the future of the lab when we’ll have left) and we’re left to (for the most part) manage our workload ourselves - we’re not micro-managed :)

Thinking about it, I should really have posted this some time ago whilst we were looking for new interns for next year. Unfortunately (or should that be fortunately?) we’ve now filled the three positions for next year - surprisingly all from Aber, so I’m a little bit late… However, I’m sure next years students are going to have a great time in the lab (just like we have).

If you’re interested in working for Sun (as an intern) there are still opportunities available in other departments. I’m not sure of a specific page but if you need/want more info leave a comment and I’ll get you the info… Otherwise, if you’re after a job more permanently then you should visit http://uk.sun.com/aboutsun/employment/

DTrace: My first bug…

February 27th, 2008 Michael Clarke

Well I’ve not blogged that much recently. However, I’ve been pretty busy and I’ve got quite a lot to blog about. So, I suppose the best place to start would be the middle of last week…

On Wednesday or Thursday last week (I forget exactly) Kim Austin who runs the Campus Ambassador program for Sun informed me that she would (officially now) be taking me on as the Aberystwyth University Campus Ambassador when Chris Talbot leaves at the end of this academic year. I had for some time been a shoe in for the job, however it is now official which is excellent.

At the same time as this Kim also introduced the other interns and myself to the SAI (Sun Academic Initiative) website. This is a excellent website that offers pretty much all of Sun’s courses (except it seems Solaris Internals) for free to students. If you’re a student, specifically a Computer Science (or perhaps Physics/Maths) student, I really recommend you get yourself over to http://www.sun.com/solutions/landing/industry/education/sai/index.xml and register. If your university isn’t already registered they can do, for free! All you need to do is get a professor to register here.

So, what else has happened. Well on Friday we took down our x86 Sunray server, eagain (all our Sunray servers are named after Unix error codes), to replace it with a Huron. ‘Huron’ is the internal code name for the new T5120/T5220 systems Sun sell based on the Niagara 2 chip. These machines are truly amazing - in a 2U rack you get 32 Thread engines (64 total threads) and 64GBs of RAM… This makes the Gnome system monitor a sight to behold…

Sunray Server: eagain

The funny thing is the way it sort of gives up choosing colours after 4 CPUs…

As most of you will know I’ve recently been given the opportunity to do some work on DTrace, initially just fixing a few bugs and doing some RFEs (Request for Enhancements). Well a number of things have happened since I had my first meeting.

First, Robin (my house mate who thinks that this whole blog is centered round him) has decided to port MouthOS to SPARC. This has proven to be most interesting for both him and myself. Whilst we’ve still not even managed to get characters on the screen we’ve both learned an awful lot about the way that OBP works and how SPARC boots and functions. I have to admit that I’ve been truly amazed at what OBP provides you out of the box compared to x86. OBP defines a number of amazingly useful functions (such as putchar() and printf() etc) so that your boot loader/OS can just call them directly. It also has great debugging utilities built in to the point where you can literally set break points in your OS and then print CPU registers and all sorts of things. All this and it will even give you a nice tree structure with all the hardware devices in the system.

Apart from getting slightly side tracked you may be wondering what this has got to do with DTrace. The simple answer is not much other than this has now meant that Robin will also be doing some Solaris Kernel work - specifically with ‘newboot’ which is designed to allow Solaris (SPARC) to boot ZFS file systems. I’ve no idea when it’s planed to be released or what state the project is at - but I would like to wish Robin good luck with his future Solaris development work, and I also think that another thank you to Paul and also Tim Graves is in order, not to mention Chris Beal who has agreed to be Robins’ mentor.

Anyway, moving on a bit… In regards to my work on DTrace. Apart from endless hours of reading the source code (which I have to admit is the most well commented code I’ve ever seen) yesterday I finally chose my first bug - http://bugs.opensolaris.org/view_bug.do?bug_id=6287021.

It doesn’t look to be a particularly complex or important bug - but it’s a great place to get started with the development as it will require quite a bit of investigation first in order to produce a test case. With a test case I can then start to identify where the error is happening in the code and I can then implement the fix.

I think that pretty much sums up what I’ve been up to recently. This weekend I’m off home again for Mothers Day and my sisters birthday. I’ve booked a couple of days off work (Monday to Wednesday) to have a look around for a new car also, so with any luck I shall hopefully be returning to Farnborough with a car! I’ve seen a couple of Mondeos and a Vectra at a place called Robert Car Sales (about an hour drive from home) - I can’t wait as it’s been so long since I had a car now.

Talking of cars, Matt (another intern at Sun, and friend) had quite a nasty crash the other day on the M1. Some truck driver basically pulled out of the slow lane into the middle lane - into him. His car rolled all the way onto the hard shoulder. Fortunately (bar a cut on his arm) he’s alright - though his car is a write off :( I have given him some advice from when I had my crash so at the very least he’ll know what to expect from the Police, insurance etc. The only problem is the truck driver just drove off and no one seems to have got his number plate!! From the sounds of it he’s going to get off scott free as the CCTV was also down due to road works!

I think that’s everything for now, so until my next exciting installment!

MouthOS Development Environment

February 12th, 2008 Michael Clarke

After my French explorations I booked Friday off and went home for the weekend. I had a nice time back in sunny Wales except for the fact that my family had literally managed to break every single computer in the house - and when I say break, I don’t just mean a few viruses or malfunctions, I literally mean motherboards broken, screens damaged, graphics cards frizzled and who knows whatever else. By the end of the weekend I’d managed to pull the few working parts remaining into two systems - the server (which for the most part was working to begin with except that it wouldn’t boot because it couldn’t find the floppy disk drive) and a computer upstairs for everything else. To be fair I think they’ve had some kind of power surge as one computers PSU fuse had blown along with the fuse in the plug… I think they now plan on buying a few surge protectors :p

When I returned today Paul (my boss) asked for a quick chat in the office. He had some not so great news and some excellent news for me. The first bit of news was that the presentation he and I were going to do at Sheffield university had been taken over by some other guys in the office. This turned out not to be so bad after all as I realised that it was the 29th February anyway - at which point I’m back off home anyway for my sisters 5th birthday. However, the good news (which is very good indeed) is that he has managed to get one of the guys in the Solaris Kernel Engineering department (who works with DTrace) to mentor me (after showing him some of the stuff I’d been doing with MouthOS) for my last two years at university. During this time I will be doing things like fixing DTrace bugs via the Open Solaris community - opening some real possibilities for when I finish to come back and work for Sun in their Solaris engineering department! I’ve got a meeting at 11am tomorrow morning with Jonathan, my mentor to be, which I’m really looking forward to as I’m raring to go and I really can’t wait now until the 10th March when I will be going on the Solaris Internals course - thanks Paul :)

So, what else has happened over the last few days? On Thursday I got another phone call from ‘Private’ offering me a new phone. I keep telling these people that “I’m not interested and that I’ll deal with Orange directly thank you very much.” However, this prompted me to actually ring Orange and see if I really was entitled to a new phone. The answer was no, not really, but we’ll give you one anyway. Apparently these companies will ring you up, offer you a contract and then (only then) contact Orange to see if it’s going to be alright! The cheek!

Whilst I was on the phone I did say I wanted the Nokia N95. However, they wanted £89 for it. Instead I said I’d have the LG Shine (http://www.lgbloggers.com/)… this was fine except it was out of stock. In the end I decided on the Nokia 6500 Slide (in black which is apparently a Orange exclusive). So far I have been most impressed with the phone. However, as with all new gadgets it’s a requirement to test out every feature it has to offer, one of these features being the camera. I decided that it would be a good idea to take a couple of pictures of the MouthOS development centre (i.e. my desk)…

My desk

The books on my desk...

I have to admit that whilst I would love to be able to say that all of those books are mine, only the top C book and the bottom three Intel books are truly mine - the others are on loan from my house mate and friend Robin. However, I highly suspect that I will be buying my own copies before I have to give them back to him as they have been really useful for ideas and all that malarkey during the development of MouthOS so far - I think another thank you is in order - thanks Robin.