Oct 11 2007

Ubuntu BulletProofX demo

Tag: Linux, UbuntuDan @ 9:08 am

Bryce Harrington (an Ubuntu Developer) has created an article demonstrating the new BulletProofX feature which will be included in the upcoming 7.10 (Gutsy) release of the OS: BulletProofX

It’s fantastic to see this finally implemented, Graphics Card and Screen issues, in my experience, have been the most visible deficiency of the Linux distros compared with other operating systems.

Here’s some more background on this feature and the X server from the Ubuntu Fridge:  10 Rocking Features in 10 Days: Day 2: Bulletproof X and Graphical X configuration


Oct 11 2007

Ubuntu 7.10 Countdown

Tag: Linux, Open Source, UbuntuDan @ 8:59 am



Oct 10 2007

RM Linux laptop for schools

Tag: Linux, Mac, Open Source, Ubuntu, WindowsDan @ 9:31 am

I just heard today that RM will be selling a tiny Asus laptop pre-installed with Linux. It’s a very small machine 22.5 x 16.5 x 2.1-3.5cm and will cost only £169.

Instead of a hard drive it will use solid state memory apparently either 2GB or 4GB. Anecdotal evidence from the comments on this page, suggest it will be running a version of Suse Linux.

This is more great news for Linux as it shows that there is a growing confidence that it is a viable alternative to Windows and Mac. We already have Dell introducing Ubuntu pre-installed machines into for the European market. RM are a big supplier of IT hardware and services into schools and this laptop will probably be targeted directly at the education market. Lets hope we see more and more of the education market share heading towards Linux (and Mac) so there’s a more level playing field and kids don’t grow up thinking that computers and Windows are the same thing.

Update: Here’s the link to the product description page on the RM site - RM Asus miniBook. I notice in the features page the operating system is described as an “Asus developed Linux based operating system”. A little Googling turns up a story on Slashdot from from last Sunday mentioning about an ASUS motherboard called the P5E3 Deluxe/WiFi-AP@n that includes an embedded Linux OS called Splashtop which boots from the BIOS on the motherboard and allows you to use Firefox+Flash, and Skype in under 5 seconds from pressing ‘Power On’. The Splashtop site has a decent FAQ, and even a blog-post with a YouTube vid demostrating the OS. I’m not sure this is definitely the exact technologies the RM machine is using because Splashtop is developed by DeviceVM not Asus. The RM machine is basically a rebranded Asus Eee PC. The Eee PC site doesn’t give specific detail on the version of Linux it uses but it’s support page does link to Xandros Linux.


Oct 09 2007

My patch in Banshee

Tag: C#, Gnome, Mono, Open Source, Software EngineeringDan @ 7:04 am

A while ago I coded a small patch which I submitted to the Banshee music player project. It has a plugin which supports sharing of your music library via the DAAP protocol, but it was only sharing individual tracks and not playlists which made browsing a large collection a little tedious. So I cooked up a little code to solve the problem and attached it to a new bug in Banshee’s bug tracker.

I was happy to find my patch was accepted and was eventually released in version 0.13. I’m even happier to find that with the upcoming release of Ubuntu 7.10 my patch has found it’s way downstream to my favourite distro too.

It’s interesting to chart the progress of an open-source contribution: I submitted my patch upstream (i.e. directly to the Banshee) on 13th Feb 2007, it made it into a stable release six months later on the 5th August 2007, and now in October it’s beginning to make it downstream into the distributions. In total around eight months have passed. At first this appears to be a long time but it’s better new features don’t float downstream too quickly so they have more time to mature.


Oct 05 2007

Gnome 2.20 and the new Gnome Library site

Tag: Gnome, Linux, Open Source, UbuntuDan @ 7:32 pm

I’ve just read over the Gnome 2.20 Release Notes and I must say I’m looking forward to using it in Ubuntu 7.10 (Gutsy). There are quite a few small improvements that I’ve been waiting for. For instance:

  • Finally the Evolution mail client has an icon for the Gnome Panel’s Notification Area, I hope it supports minimizing of Evolution too (without leaving behind the task bar button).
  • Evolution now has a built-in backup utility to help export and move settings to another machine.
  • The properties dialog for a mounted disk now shows a disk-usage pie chart - very useful.
  • One neat feature is that if you lock your screen and go away someone can leave you a message to read once you return (no more sticky post-its stuck to your screen).
  • Automatic unlocking of the Gnome Keyring (Password Manager) when you login or unlock your screen.

However, the thing I am most happy to see is the new Gnome Library documentation site. This is a very polished site collecting together Gnome related tutorials, manuals, and API references. I think this is a great step forward for the Gnome project; I have felt in the past the resources were not as well presented or well maintained as they could be, particularly developer docs on subjects such as Gtk and Glib.


Sep 03 2007

Learning C

Tag: C/C++, Software EngineeringDan @ 5:45 pm

This year I’ve been making a concerted effort to learn C. Properly.

I’ve toyed with it a good few times over the last few years, but never studied it in a focused way. After the Chairman of our company (actually a real C programmer) indicated that I was “a bit of a girl’s blouse” because I didn’t know C, I decided something had to be done.

My ultimate goals are to be able to create or improve Linux drivers for bits of hardware that don’t work, and to be able to fix bugs for myself in C based Linux apps.

A games programmer I know recommended that the K&R book was still the best in his opinion, so I bought a copy and got started. Others have told me it’s not so good. I can understand this point of view, if I didn’t already know other programming langs it would be quite an uphill climb, but I’m really enjoying it.

Another decent book I’m planning on reading properly once K&R is done is Expert C Programming by Peter van der Linden (Paul: thanks for recommending I read this). If anyone knows any other books or great sources of C info/wisdom I’d love to hear about them.


Sep 03 2007

New theme

Tag: General, WordpressDan @ 4:57 pm

Finally found a theme I like: Stardust by Tommaso Baldovino. It support the new Wordpress Widgets which is cool. I used the standard Kubrick theme for a long while but I’m so bored of that blue colour and the fact that it doesn’t use the full browser screen width.


Jul 27 2007

Useful Talk on Packaging Java Applications for Ubuntu/Debian

Tag: Java, Linux, Software Engineering, UbuntuDan @ 6:56 pm

Came across an excellent JavaOne conference session on software packaging for Ubuntu/Debian. It has a specific focus on packaging Java software but I found it gave an excellent general insight into the process of getting a piece of software, commercial or free, into the Ubuntu repositories. The main example used was the experience of the Sun engineer Harpreet Singh who was responsible for packaging the Glassfish application server which is now available in the Ubuntu multiverse repository.

Here’s the link, you will need a Sun Online account to access the talk:

JavaOne Technical Sessions - Packaging Java Platform Applications into Ubuntu


Jul 19 2007

Tips for learning to program Unix/Linux shell scripts

Tag: Linux, System Administration, UbuntuDan @ 8:25 am

I’ve been studying shell scripting in more depth recently. Here’s some of the things I found useful on the way.

1) Write your scripts to run on a real POSIX / Bourne Shell compatible sh interpreter first rather than bash or any of the other advanced shells. This improves the portability of your scripts and helps you to clearly learn the differences between the basic shell syntax and the advanced syntax introduced in shells such as bash.

On most Linux systems in recent years /bin/sh is a symlink to bash which has allowed people to ‘leak’ bash syntax in without error. Scripts like this only fail when run on a system that’s using a strict sh like on the FreeBSD or Ubuntu Feisty where /bin/sh is symlinked to ‘dash’ - The Debian Almquist Shell, which is a “lightweight POSIX compliant Bourne shell implementation”. IMO this is a better way to internalize the differences between sh and bash than using tools like ‘checkbashisms’ after you’ve created your script.

Firstly always specify ‘/bin/sh’ in the ’shebang’ line at the top of your scripts:

  1. #!/bin/sh
  2.  
  3. echo "Beginning of my script"

To see what your /bin/sh is linked to try this:

  1. $ ls -l /bin/sh
  2.  
  3. lrwxrwxrwx 1 root root 4 2007-05-03 13:09 /bin/sh -> dash

You’ll see that on my system (Ubuntu Feisty) the output at the end of the ls command is ‘/bin/sh -> dash’ which indicates that /bin/sh is linked (->) to dash. If on your system it links to bash do not try to link sh to anything else! If you do you may not be able to boot your system! Instead install the ‘ash’ or ‘dash’ shells and run you script in those directly like this:

  1. $ dash myscript.sh

2) Bookmark and read these reference manuals:

  • Bourne Shell Manual - Steve Parker’s html version of the original Bourne Shell manual great to check exactly what syntax is available in the real Bourne Shell.
  • Advanced Bash-Scripting Guide - The best tutorial on bash with loads of practical examples. The section on ‘tests’ (conditional logic) is particularly good.
  • Bash Reference Manual - The actual bash manual. It can be a little difficult to find things in this sometimes so it’s worth getting used to its structure

3) Use shell options to help you debug problems. You can do this either by using the ’set’ command (in bash type ‘help set’ to see usage or ‘man sh’ to view the man page) in your script or by passing the option on the command line as you run your script e.g.

  1. $ sh -x bin/myscript

Here are the options I find most useful:

  • -x Prints commands and their arguments as they are executed
  • -u Treat unset variables as an error when substituting
  • -e Exit immediately if a command exits with a non-zero status. Note this should be used with caution as there will be no warning when ths happens, you need to use -x to help discover where the problem is happening

There are loads so it’s worth looking through the list.

4) Use bash to discover syntax errors not highlighted by sh. If you script is failing silently in sh it can sometimes be due to a syntax error. On my system dash isn’t reporting these but I’ve found that explicitly running the script in bash often helps locate the cause of the problem.

5) Consider portability. If you know your script is going to be used across many different systems then it’s worth making sure you are only using commands available in the POSIX standard or on Linux now we can use the ones defined in the Linux Standards Base. See LSB Base - Commands and Utilities for more information.


Apr 10 2007

Guadec 2007 in Birmingham, UK

Tag: Linux, Open SourceDan @ 9:28 am

The annual GNOME Users and Developers Conference is to held in the UK this year from 15-21 July 2007. I hope I can arrange to go along. Here’s the link to its home page:

GUADEC2007


« Previous PageNext Page »