Dell Mini 9 (and how to fix the keyboard!)

Dell Mini 9
Dell Mini 9

I bought a Dell Mini 9 from Tesco Direct about two weeks ago now, unfortunately, the battery was dead when it arrived, but after a quick chat to Dell the laptop was collected from my house the next day and redelivered with a new battery and a new motherboard the next week.

Since then I have been VERY impressed with it. However, the version of Ubuntu that came pre-installed is a specially customised version of Hardy Heron 8.04, I really need at least 8.10 so that I can use LyX across all my machines properly. Installing 8.10 was easy and everything except the sound worked out of the box. To fix the sound a single line had to be added to a config file (easily searchable on google).

The problem came, however, when I tried to use LyX and my “” kay didn’t work. I tried all the other keys on the keyboard and discovered that [ and ] were also non-functional.

My inital assumption was that I needed to specify some special dell keyboard layout in xorg.conf and as two of my friends also have Mini 9s running the default pre-installed version of Ubuntu I thought this would be quite easy to find… Their xorg.conf files were very standard though, nothing  Dell specific at all.

Finally, after much searching, I found this:
Setting keyboard matrix:
1. Turn off your computer.
2. If your computer is connected to the ac adapter, disconnect the ac adapter from the computer.
3. Press and hold <Fn><K>.
4. Connect the ac adapter to the computer (assuming that the AC adapter is already plugged into an electrical outlet).
5. Release the key combination.

It worked! This came from someone who had replaced the keyboard and was having the same issue as me, I have not read of anyone who has instaloled 8.10 and had the same issue. I can only assume that my issue came about because either, my keyboard was also replaced when it went in for repair, or, I did upgrade the BIOS to A04 before installing 8.10,  so perhaps that had something to do with it…

I could definitely recommend the Mini 9, it is perfectly capable of full screen iPlayer playback, the battery life is around 4-6 hours and the keyboard, though small, is actually very pleasent to work with.

Spotify: music that's free as in beer… Free invites!

Spotify Logo
Spotify Logo

Spotify is a free, legal, ad-supported way to stream music. Their catalogue of music is HUGE and whilst there is no native-linux client there are very comprehensive instructions for how to run it under wine on their own site (this is very easy too, no hacking around).

At the moment, the service is in beta and you need to be invited to join it, or pay for one of the premium services. However, for a limited time, if you’re in the UK you can use this link to sign up: There are native clients for Windows and Mac OSX… perhaps with a little bit of lobbying a native Linux client will be released too.

MySQL Data Types

I couldn’t find a nice table with all the data types and the limits associated with them in it, so I thought I’d trawl the web for each individual one and make one. This table is by no means exhaustive, but it does contain most of the common ones and will be updated as I need to use more of them for WebLex it also assumes that mysql 4.1 or greater is being used. Else some default values might be incorrect.

Data Type What can it hold?
INT/INTEGER An integer in the range -2147483648 to 2147483647. Or, if set to unsigned the range is 0 to 4294967295.
TINYINT An integer in the range -128 to 127. Or, if set to unsigned the range is 0 to 255.
SMALLINT An integer in the range -32768 to 32767. Or, if set to unsigned the range is 0 to 65535.
MEDIUMINT An integer in the range -8388608 to 8388607. Or, if set to unsigned the range is 0 to 16777215.
BIGINT An integer in the range -9223372036854775808 to 9223372036854775807. Or, if set to unsigned the range is 0 to 18446744073709551615.
TEXT Contains text upto a maximum length of 65535 characters.
TINYEXT Contains text upto a maximum length of 255 characters.
MEDIUMTEXT Contains text upto a maximum length of 16777215 characters.
LONGTEXT Contains text upto a maximum length of 4294967295 characters.
ENUM(‘x’,’y’,’z’,…) Can only have a value as specified, by you, in the list of values in brackets. In this case it could only take ‘x’, ‘y’, or ‘z’. It can also take NULL or the special “” error value specified when the table is created. You can specify a maximum of 65535 values for an ENUM to take.
SET(‘x’,’y’,’z’,…) Very similar to ENUM except that more than one value can be assigned, so data could be both ‘x’ and ‘y’, or ‘y’ AND ‘z’. However, only 64 different values can be specified in a set.
CHAR(x) Holds x characters, where 0≤x≤255. The default value of x (i.e. if just “CHAR” is used) is 1. If a value is entered that is less than x characters long, it will be appended with spaces until it is x characters long. However, upon retrieval, these spaces will be removed automatically.
VARCHAR(x) Similar to char, except x is considered an “upto” value. Values are stored using only as many characters as they contain, plus an extra byte recording the length of the value. Any trailing spaces are removed from the value when it is stored in the database.

New Year, New Name, New Blog, New Post…

Well, it’s 2009 and I’ve abandoned my old username and website and decided to start using my real name… why? Why not? Ok, firstly, and perhaps most shockingly, it would appear that the British education system is not capable of raising a nation of people who can spell, or in many cases even pronounce, the word ‘vicious’. It’s a major headache if you have to give your e-mail address to someone over the phone…

Secondly, my e-mail address is about to start appearing on CVs and vicious doesn’t send out quite the right image (I hope!). I’ll slowly be moving everything over to this site, but until then the old one will stay online.

I also intend to post more regular updates about the progress of Lex here.