Setting up mediatomb in Ubuntu 9.10

// March 8th, 2010 // No Comments » // Linux

Having recently bought a WDTV HD Live to replace my Xbox (with XBMC) I decided to look into setting up a UPnP service on my Ubuntu headless server.

After reading around a bit, I firstly tried uShare but didn’t find it very flexible. I finally settled on MediaTomb as I liked the look of the JavaScript import scripts that can be written. I started getting setup so checked out the MediaTomb wiki and a few online tutorials, but struggled to get MediaTomb to work. Either I had missed something, or the articles weren’t 100% clear. Here are the steps I took to get it working…

Continue Reading

Max Value HomePlug Matching Problem… Fixed

// January 29th, 2010 // 4 Comments » // Linux, Windows

For Christmas (2009) I was given a pair of Max Value 200Mbps HomePlug units, presumably fromĀ Amazon. Out of the box they worked, and still do, perfectly. I was so impressed by them, I quickly ordered another pair from Amazon within a few weeks, and this is where my problem began.

Continue Reading

Rebuilding Grub2 grub.cfg from Ubuntu Live CD

// January 1st, 2010 // No Comments » // Linux

After installing Windows 7 the other day I lost my Grub install. Not a problem, in the past I’ve used my Super Grub Disc to repair it.

This didn’t work for me though (may be my disc is a bit date, or maybe it doesn’t support grub 2 just yet). Instead I booted up using my Ubuntu 9.10 Live CD. I could easily re-install grub using the “grub-install” command:

  1. Open up a terminal
  2. sudo fdisk -l (Find the partition you want)
  3. sudo mount /dev/sda5 /mnt (Mount the partition)
  4. sudo grub-install --root-directory=/mnt /dev/sda

I’ve used the drive /dev/sda and partition /dev/sda5 in my example.

This all went ok, but I was left with a screwed up grub menu (I messed it up myself). There’s a “update-grub” command you can do from within Ubuntu, but I couldn’t actually boot in. I only had the Live CD. Hence updating it proved to be quite difficult, and there’s nothing on the Live CD to help. I eventually found a solution, these are the commands I had to run in order to regenerate it.

mkdir /mnt &&
mount /dev/sda5 /mnt &&
mount -o bind /dev /mnt/dev &&
mount -o bind /proc /mnt/proc &&
chroot /mnt bash &&
sudo update-grub &&
reboot;

Without binding the /dev and /proc it would throw an error.

All credit goes to seeker5528’s post for the above solution.

Checkgmail not working in Ubuntu?

// October 16th, 2009 // 3 Comments » // Linux

Over the last few weeks checkgmail has not been working. This is quite common given Google probably changing things around. So it has happened in the past, and requires and update to be pushed out. Unfortunately, via the repositories this is quite a slow affair. There is a quicker solution though…

  1. Open up a terminal window
  2. Type “checkgmail -update”
  3. All fixed!

Very simple to do. I hadn’t realised this before, but checkgmail has its own updater and it’s very easy to use. So if you are having problems, it’s probably worth trying the above.

The Importance of Being There at Conception (of a Feature)

// October 11th, 2009 // No Comments » // Programming, Work

I’ll use a slightly crude example to get across the point of this post. It’s maybe not the best comparison, but bare with me. Instead of “feature” think of “child” in relation to conception.

Let’s say you weren’t there from conception of your child. In fact the first 15 years of the child’s life you missed out on. If you were suddenly brought into the picture, how clean a transition would that be? Would you be able to make up for the lost years? Or have as much impact/bearing in the child’s life as you’d like? It’s a difficult situation. Are you able to connect with the child as well as if you’d been involved since conception?

To add to that, say there was another father (step father). For 15 years he’s been applying the way he thought the child should be brought up. What if you think differently? Is it good/safe to make changes at that point? What if he disagrees with your proposed changes?

Apologies for the example. It’s obviously got holes in it, and I don’t mean it to strike a chord with anyone, it’s merely to point out the difficulties of not being there from conception, which I’ll now relate to developing a feature.

Now let’s say you’re creating a feature. You’re not involved at conception. The feature is fleshed out from a conception to an idea, then broken down, and eventually one of the stories (a small segment of what makes up the feature) comes to you. You can elaborate that story, but do you have full understanding of the feature? Can you relate to it? Do you agree with how it’s been designed or broken down? Have you had the chance to give some input, and feel a sense of ownership even though you’re joining the party 1/3 f the way through? Can you develop the feature as effectively, had you been there from the beginning?

I’d say no. You can be professional, and get on with the work. But there can be a “factory” feel to such a situation. Piece of work comes along, you develop it, move onto next piece of work, and so on… You can only elaborate that segment of the feature, and not beyond it. Complications can arise if you disagree with something, time has to be spent explaining things all over again. Do you ever feel true ownership for something someone else has done, and you’ve not had input over?

It made me think of our build environment, and how I’ve controlled that from birth. Firstly CruiseControl.Net, and then moving onto Team City. Most of the developers won’t know or understand the set up. If I asked one of them to set up coverage reports for one of the build projects, how would they feel? Would they care for such a task like the build system were their own? Would they even fully understand the build system, and how best to go about designing and coding such a task? If they don’t it’s most likely going to add technical debt.

My guess is that they’d be professional and get on with the job, but maybe not with as much understanding as they should have. Preparation is key when working on something. A battle is won and lost during preparation. They may also not relate to it hugely, so could be easily distracted. Or they may think we don’t need coverage reports for the build project, in which case are they going to do as effective a job? As mentioned, you should be professional in how you work, and try to be highly motivated. But is that easier said than done? And how does all of this affect you psychologically?

A lot of questions can be raised, some of which people may argue against. All of these questions and doubts can be ignored though, if developers are included from conception of a feature. Simply put, if you’re going to develop a feature, you should be there from the very start, right until it’s delivered to the customer. A greater sense of ownership and greater understanding are two keys reasons why. Coming in any later in the process puts those advantages at risk.