I'm not quite sure why this is happening, but since upgrading the openSUSE 10.2 (which went like a dream, by the way), kpowersave keeps switching back to dynamic mode, even though I want it to run in powersaving mode all the time. And I need it to run in powersave mode, because my laptop crashes when it's run at full speed. Which I think probably means the processor is dying, since the fans still run fine, and it reports that the temperature isn't getting too high, and I've tried swapping out the memory, removing the wireless card, running with nv drivers instead of nvidia - but it still hangs randomly. It was doing it on SUSE 10.1 as well, and the upgrade didn't fix it, so I don't think it's software. So it'd be nice to get kpowersave to keep the computer running at 1.2MHz again. I thought there was an option for it in 10.1, but I can't find it now.
Tuesday, November 21, 2006
Tuesday, November 14, 2006
The news about Java going GPL is pretty cool. I'm a big fan of Java. And although I use it anyway, despite it not having been open source, I reckon it'll help it to gain popularity. And hopefully become more important in the KDE world - especially since Qt Jambi looks so good. It's just a shame the Eclipse integration never works on my computer.
Wednesday, September 20, 2006
In just a few days I fly off to the British Isles. Oh, the joys of driving on the left, 220V power, meeting other people who use KDE...
Except that I'm not going to Akademy, my wife had her visa granted, so we're flying back to live in England at the end of next week - just too late to go and geek it up in Dublin. (Although we're actually flying to Scotland to go to a friend's wedding, and then driving back to England.)
Sunday, August 27, 2006
I like Microsoft's SDK documentation.
Partially, anyway. I don't like the fact that the navigation doesn't work properly on msdn.microsoft.com/library unless you're using Internet Explorer. And often it's difficult to find which section they've hidden something in this week. And often the documentation is just plain wrong. But I do like being able to have everything in one place. And I like that there are overviews, tutorials and examples alongside the technical reference. So you don't just know what classes and methods are available, you also know how to use them. And I know it's not fashionable to like documentation to look nice when you're a linux developer, but I do find that if class documentation is layed out nicely, it makes it so much easier to find what I'm looking for.
I don't know where I'm going with this. But while I'm blogging about stuff, I thought I'd blog this too.
This morning I booted* my machine, and when I pressed Alt-Tab to switch windows, black frames were drawn on the screen so I could see which window would be selected. Which is a really nice feature, and it looks really nice too. But yesterday it didn't do that. I did put a patch on my machine yesterday from SUSE, but it was a minor release so I wasn't expecting any new features.
(* My machine has taken to crashing regularly, so I've stopped using the NVIDIA drivers and switched to the open source nv drivers. But they don't switch my screen off, and I want to save my laptop's backlight - I'm on the third so far - so I'm switching off at night these days.)
Ok, so I was exaggerating a little yesterday. It's basically some ideas for a backup utility, for which I've started coding the UI a little. At the moment it's in the very early stages of development, and to make it more interesting, I've not done much Qt coding before, although I'm finding that Qt 4 is making software development in C++ much easier and more fun than before.
However, I do have a good idea of what I want the software to do, which is often half the battle won. And here is what I want it to be:
- A personal backup tool, rather than a system backup tool. That is, it will backup files, but isn't designed to be able to restore a system to working from scratch. It's supposed to be run by a user rather than scripted to run as root.
- Backup to CD and DVD. Although it might be nice in future to add other backup media to my programme, it won't have any ability to use anything other than CD and DVD media at the moment, and there won't be any kind of plugin interface for other media. I want to get the software doing one job well before I start extending it.
- GUI based. There are plenty of scripted backup tools around, but I want something which is so easy to use that it encourages people to backup their date regularly. ('People' meaning me.)
- Robust. If a disc gets scratched, it mustn't make the entire backup set unusable. Only the part which is scratched should stop working.
- Easy to restore. Now, this is one part of the design I'm not too sure of yet. I'd like to be able to restore backups using standard unix tools. However, I haven't thought of a way to store my backups in a sensible way and still be able to get the data back with standard tools. I might instead write a very simple restore tool which could be used to restore backups when my app isn't available, and include it and its source code on the backup disc.
- Must backup files straight to CD/DVD without making a local ISO first. I want it to be fast, and work on machines that don't have much disk space. Like some of mine.
- Needs to make compressed backups.
The programme will keep a record of what files have been backed up, and on which discs they are stored. So when you try to restore a file, it will show you all the copies of that file which are available. You can then choose which version you want (probably the most recent most of the time), and it will tell you which disc to insert. If the disc is damaged and that file is unreadable, it will offer to let you restore a different version of the file, if it is available. It will also mark its local records to say that file is damaged.
I expect I have other requirements too, filed away somewhere at the back of my brain. Hopefully, blogging about it like this will help me to codify what I want.
I am aware of many backup tools out there at the moment, but so far none of them do what I want. If you know of something which does fit the bill, I'll happily stop developing and use it instead. And if you've got any good ideas about how I could progress with this project, I'd also like to hear from you. Once I've got it just a little further I'll put it in KDE's playground.
Friday, August 25, 2006
Thursday, August 10, 2006
No, scratch that. Make it, 'Why I don't mind Calgary so much at the moment'. And it's basically because I now live in an apartment just a couple of minutes walk away from Tim Hortons, Pizza Hut, Boston Pizza, and lots of other places to get food and anything else in 'uptown' Calgary. I don't know if 'uptown' is a proper term. The only other place I can think of it being used is in 'Uptown Girl'. Anyway, it's what they call 16th Avenue here, which is downtown really. I like being able to walk to the shops instead of driving. Since being in Calgary I've spent far too much of my life driving - and not the fun kind of driving I like to do on winding country roads back in England, but the stuck in traffic in straight city roads kind. So now I can walk down the road, get lunch and sit by the street watching life go by. I don't know if they have wireless, otherwise I could go and work there too. Although I need new batteries - despite having two in my laptop I only get about half an hour out of them combined now.
In other, much more important news: I'm married! I had a great honeymoon on Vancouver Island, and also got to see where my wife grew up near Vancouver, which is about a million times nicer than Calgary, so when we move back here in ten years time maybe we'll go and live over there instead.
Wednesday, June 14, 2006
Tuesday, May 30, 2006
Fonts on Linux/Xorg are something that people seem to go on about a lot. Usually complaining how bad they look. For years now I've had no problem with fonts - for a while it was because I recompiled freetype packages with the bytecode interpreter turned on, but then SUSE started turning that on anyway, and I had nice looking fonts right out of the box. I think part of the reason I liked my font rendering though was because I like subpixel antialiased fonts, and most Linux people seem to like jagged edges instead. However, something changed in version 10.1, and my once nice looking KDE desktop started to look ugly. I couldn't quite put my finger on what was different, but something had changed.
But now I have nice fonts again. How did I do it? I added David Turner's libXft patches to my system, and suddenly things look nice. It doesn't really make sense though, as SUSE 10.0 couldn't have had those patches as they hadn't been written.
The details of how I did it: I backed up the existing libraries. Then I installed the xorg-x11 source rpm on my machine, ran rpmbuild to extract the source and apply existing patches. Then I applied the libXft patch and ran make from the Xft directory. I then copied the compiled libs into place, restarted X, and it all worked nicely:
cp /usr/X11R6/lib/libXft.a ~/backup/
cp /usr/X11R6/lib/libXft.so.2.1.2 ~/backup/
rpm -ivh xorg-x11-6.9.0-48.src.rpm
rpmbuild -ba xorg-x11.spec
patch -p1 < ~/libXft-2.1.7-lcd_rendering.patch
sudo cp libXft.a /usr/X11R6/lib/
sudo cp libXft.so.2.1.1 /usr/X11R6/lib/libXft.so.2.1.2
Now, I'm not saying this is the right way to do it. I reckon there's a reasonable chance it'll crash my machine at some point. But so far it's working fine. Oh, and if you copy libXft.so.2.1.1 across while you're still running X, weird things happen!
Unrelated note: I'm now using Smart to manage packages and updates on my machine, and it's a wonderful piece of software.
Saturday, May 27, 2006
At work we recently moved offices. During the move we threw out a load of old manuals which aren't needed any more. I commandeered some of them, and while browsing through 'A PL/I Primer' (Copyright 1965 IBM) I discovered that PL/I has a facility for handling data stated in terms of British sterling currency value. What's so interesting about that, I wondered? I read on:
A sterling data constant ends with the letter L, representing the pounds symbol, for example:
This sterling constant represents two pounds, four shillings, six pence.
Friday, May 19, 2006
I have an updater setup in SUSE 10.1 which seems to work now. There are a few gotchas though. I'd recommend only using the command line tools, as the graphical tools seem to crash too often, leaving the ZMD backend in an unknown state. Also, although it looks like you're supposed to be able to install and remove software without being the superuser, it doesn't seem to work, so I do everything as root (using
First you have to register your machine. You can use the graphical version in YaST, but that didn't work for me, so I used
suse_register -n from the command line. (If I didn't use the '-n' option it kept killing my network connection somehow!)
Although you can add just about any URL using rug and it says that it has added the service okay, you have to make sure you use the correct URL otherwise strange things happen. Also, if you did use the graphical tools to add a service and used spaces in the service names, they won't work.
First I had to add update services to the updater, whatever it is called (ZMD?). Please note that the name of the KDE-3.5-supplementary service is important - it doesn't seem to work if you give it a different name.
rug sa --type zypp ftp://ftp.mirrorservice.org/sites/ftp.suse.com/pub/suse/update/10.1/ SUSE-Update
rug sa --type zypp ftp://ftp.gwdg.de/pub/linux/misc/packman/suse/10.1/ Packman
rug sa --type zypp ftp://ftp.mirrorservice.org/sites/ftp.suse.com/pub/suse/i386/supplementary/KDE/update_for_10.1/yast-source/ KDE-3.5-supplementary
rug sa --type zypp http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.1/RPMS/ SUSE-Guru
You can list the services using
Then you have to subscribe to these services:
rug sub SUSE-Update
rug sub Packman
rug sub KDE-3.5-supplementary
rug sub SUSE-Guru
You can list the subscriptions using
You can type
rug on its own to view a list of available commands. Some useful ones I've used are
rug search package,
rug install package,
rug remove package,
rug patches and
I find it useful to have another couple of shells open watching the tail of the zmd log files, just so I know whether something is happening or if it's all given up:
tail -f /var/log/zmd-backend.log
tail -f /var/log/zmd-messages.log
I haven't found an easy way of just getting rug to update a package to a newer version from another server. For example, I had Amarok 1.3 installed on my computer, and this morning I wanted to upgrade to version 1.4 from the Guru repository. The only way I found to do it was to remove the existing version and the install the new version by specifying the version number:
rug remove amarok amarok-helix amarok-libvisual amarok-xine
rug install amarok-1.4.0_0.3c amarok-helix-1.4.0_0.3c amarok-libvisual-1.4.0_0.3c amarok-xine-1.4.0_0.3c
If anyone knows a better way, please let me know.
Thursday, May 18, 2006
I've just upgraded to SUSE 10.1 yesterday. When I say upgraded, I mean I replaced my hardrive with a new, 100Gb 7200RPM disc in my laptop and gave myself a fresh installation for a change.
SUSE 10.1 has lots of nice improvements over the previous version - such as being able to use NetworkManager to switch wireless networks on the fly. It also has a fancy new installer/updater called librummikub which offers all sorts of wonderfulness, such as being able to install new software from packman repositories and things like that.
The only problem I have had is that Zmdastardlypp seems to be specially designed to make you tear your hair out. When I was testing betas of 10.1 I saw the new updater icon in the task tray, but it didn't look like they'd finished writing it yet, so I thought I'd hold off playing with it until they had. Now I have a final install of 10.1, and it still looks the same.
Well, at least I was able to find some pointers on the web on how to make this rugmyast thing work, so I added some repositories to it and asked if there were any updates. Afraid not, it said, and then crashed. I played around with it for a few hours until I got it to recognise that there were some updates available, at which point it decided to spend an hour resolving dependencies. It didn't crash this time - I had to kill its process.
Today I had another go. It must be possible to get this zypzenyrug thing to work. So I tried the commandline this time. It started to do an update, and then said 'Update failed' after about 25%, without giving me any idea why. I think it just got tired. I tried again, but a transaction was already in progress. So I killed it. Mwuahaha! Eventually I managed to get it to do a full update. Hooray!
And then I tried to update to KDE 3.5 using the supplementary repositories. I updated a few bits, but then it decided I need to insert KDE-3.5-supplementary in media 1, which was difficult, as I didn't have a KDE-3.5-supplementary to insert. I eventually worked out that if I renamed the repository to match that name then it would work. And I have updated KDE and installed KOffice (although it decided I wanted version 1.4 the first time).
I'd write full instructions on how to get libzubyagrust to work, except I can't really remember any more, it's all turned into a blur of trial and errors. Lots of errors. And trials. But I think if they keep working at it, they might be able to produce a good updating product in a couple of years. (I'd use fou4s, but it doesn't seem to work on 10.1).
By the way, I'd recommend SUSE 10.1, just so long as you don't expect an easy ride. The bits that work (and that's most of it) are great!
Monday, May 01, 2006
I had a look at ruby a month or two ago, and decided that although it looked nice in concept, the syntax of the language was too horrible for me. After reading Aaron's blog entry I thought I'd have another looks at it, and although I still find large amounts of the syntax to be rather ugly, I really like other parts of the language, and I can see it being a pretty good scripting language. I might use it for prototyping KDE apps in future, and for writing shell scripts.
Saturday, April 15, 2006
I was pleased to see ndiswrapper was available once more (it was missing in beta 8, the last one I tested) so I was able to get on the internet. NetworkManager is very nice, and as soon as I ran 'modprobe ndiswrapper' it noticed the new network and I was able to type in my WEP key and connect. (WEP because we have a couple of iBooks here which have MacOS X 10.2 which doesn't like WPA).
It also came with KPowersave, which gives a very nice view of the laptop's battery and CPU status when I click on it.
Kerry Beagle was the next thing I checked out, and once again I was able to get it working straight off without any messing around. I just searched for 'kerry' in the K-Menu, ran it and clicked on the link to start the daemon, and there it was. It looks like it'll be a very useful tool, but I haven't played around with it much yet.
I then got Xgl running, which, once again, was very easy. Unfortunately it's not very well supported by KDE yet, but I think I'll still be using it when 10.1 is released, because it's just soooo nice! The problems I came across were that at one point when I was changing some settings it decided to give the kicker a titlebar. So I killed and restart the kicker, and all the tray icons were given little unmovable windows on the desktop. I don't think you can use KDE window decorations with it yet, and in the Gnome decorations I had to use, the maximise button doesn't work. Not that I use that button very often. I was also unable to create more than one virtual desktop in KDE, but Xgl had its own set of four virtual desktops, none of which would show up in the pager, and I couldn't change their backgrounds. But it seems to be minor cosmetics. It's stable and makes my computer look nice. And when I'm using it all day every day, it's nice to have a good looking computer. (And the F11 plugin makes it easier to use too).
Unrelated to all that, I've been following the discussions on cmake on PlanetKDE. I don't really have much to say about cmake, but I did have some thoughts about how discussions happen in blogs instead of on mailing lists sometimes. Although I think it's often that discussions that have happened on mailing lists or on IRC then get summarised in blogs.
Because of the published nature of a blog, it can encourage one to think more before writing something, and also discourages 'me too' postings. I think this often can improve the quality of a discussion. It also means that people like me, who are subscribed to a few KDE mailing lists but don't have time to read them all, can get an idea of what's going on, and feedback if we suddenly have a revelation about something. I don't have any such revelations though. Sorry.
Saturday, March 25, 2006
Well, not quite my first - I've written Hello World apps before. And I've hacked on plenty of KDE stuff. But this is my first app from scratch, and I'm well on my way. It took a while to decide where to start: KDE3 with Qt3, or Qt4 on its own? KDevelop or Kate? Autotools, Scons, Cmake or Qmake? Well, I plumped for Qt4, Kate and Qmake: Qt4 because it's newer than Qt3 and there's less to learn (and the API looks nicer); Kate because when I'm learning something it's nice to tie things together myself, without having to learn how KDevelop manages it's projects too; Qmake because all the Qt tutorials and things talk about it, and again, it seemed to put the least obstacles in the way of learning Qt.
So I now have a nice main window, a few dialogue boxes, saving and loading Xml files - most of the GUI for my app. All I have to do now is the hard part. The guts of the programme. What is it? You'll just have to wait and see. I don't want to go getting people's hopes up only to dash them to pieces in a few days when I realise I've bitten off more than I can chew.
Oh, just one problem: I have a QTreeView, with a QDirModel attached, and I'm trying to find out when the selection is changed. For the other lists and things I've got it working fine, but I've tried on_listView_selectionChanged, currentChanged, and various other combinations of things from the documentation, but no luck so far. Does anyone have any wonderful ideas how to make that work?
I never appreciated SUSE's installer as much as I did today, when I tried to install Solaris on my test machine (I wanted to test a piece of Java software on it). It timed out while I was reading some messages and made a default selection, which meant I had to restart the install; it offered software selections which I later discovered weren't on the DVD; for a while it thought I was Chinese; it seemed to ask the same questions about software installations several times; it told me I had 0 bytes and 7698Mb free on my hard disk at the same time; it wouldn't boot into X; I couldn't find a key which would work as delete once it had booted to the console; I logged into the console and then it forgot, and went back to the login prompt...
Two days ago I installed SUSE 10.1 Beta 8 on my laptop. Except for it not installing drivers for my wireless card, everything just worked. I guess once Solaris is installed it's probably a more enterprise-ready system. Maybe I should become a qualified Solaris dude - I might be able to make money helping people to install that stuff. If I can ever figure it out in the first place.
Sunday, March 12, 2006
I just checked out my freeipods website, and three people have signed up already. One is my brother, but the other two I've never heard of! If those people are readers of my blog - thanks! Only one has completed their offer, so the other two still need to, and I still need two more people on top of that to sign up, and then I get an iPod. Hooray! (If you're in the UK they have some quite good offers to sign up to).
Saturday, March 11, 2006
I just downloaded the Kororaa XGL Demo Live CD, and it blew my socks off! Although I'd seen the videos on Novell's website, I was expecting it to be unusable on my machine - just from past experience of flashy graphics on the desktop. But it worked, and it's awesome! It also wowed my non-geeky housemates. It was Gnome rather than KDE, but I hope that KDE will be able to look just as amazing with XGL eventually. I wasn't too keen on the way the menus popped up, but the rest of it looked great.
I also couldn't help liking how clean Gnome was looking. Of course, I wouldn't be able to switch because I like too much of KDE, but I think all KDE developers should occasionally look at Gnome so we can steal their ideas, just as I'd expect their developers to look at KDE and steal ours. Because by 'steal' I really mean collaborate.
Anyway, one of the things I prefer in Gnome to KDE is the way things feel a little more solid and neatly put together. Like when you click on the volume icon in the menubar at the top, the slider which appears is exactly the same width as the highlight on the icon - it makes it look like it was all designed to work together. Whereas KDE I know is designed to work together, but doesn't always look that way.
I just wish I had more time to develop KDE at the moment, but work is taking too much time, and in my free time I'm working on my wedding website, so unfortunately developing KDE is taking a back seat to using it.
Saturday, March 04, 2006
A while ago I spent ages setting up an .asoundrc file on my computer so that I could get sound to work properly. But I had to use dmix in order to get everything to mix properly. But today I tried to use wengo and it didn't like that I was using dmix, so I temporarily moved my .asoundrc file out of the way, and hey presto! wengo started working, and everything else carried on working as it should. Someone must have changed something while I wasn't looking! (It's happened before - the sound on my laptop used to be really choppy, and I spent ages fiddling with settings until it was nearly ok. And then one day I installed a new version of SuSE and it just worked.)
Now that everything on my computer works really well, it's probably about time for it the give up the ghost, and then I'll have to try to find another laptop which works under linux this well. After all, I've already replaced the CD drive (with a DVD writer), the backlight (twice), the power supply brick, the hard drive, graphics tablet cable (not actually part of the laptop though) and had to solder a couple of bits inside it - it can't have long left. But it's 1.6GHz with 1Gb of RAM and a 1400x1050 display, so it's still a great machine to work on, despite being over four years old, and I can't afford to replace it (not with the wedding coming up this year), so here's hoping it still has a few more years left in it.
Thursday, March 02, 2006
It's been an interesting few days. On Friday my hard drive crashed, leaving me considering sending my disk to a data recovery place and paying hundreds of pounds, as I didn't have a recent backup. I know, I'm an idiot! But first I tried connecting the drive to my desktop machine and running knoppix. Reiserfsck said my disk might be dead, but I didn't give up, I bought another sixty gig disk (unfortunately there weren't any 7200rpm ones at the local shop so I had to make do with a 5400rpm one), used dd_rescue to copy everything across, then ran reiserfsck again, and it looks like I haven't lost anything important. Hooray for ReiserFS! That was quite a relief, when I finally got it working again. So now I'm doing regular backups like a good boy.
Today I bought a Gigabyte GN-WIKG mini-pci wireless network card for my laptop, installed it, booted up SuSE, entered my wireless passphrase into YaST, and I was up and running and connected. I chose the card because of there being native, open-source drivers for it (rather than having to use closed source drivers and ndiswrapper), but I wasn't expecting it to be that easy! Now if only there was a good KDE utility for switching wireless networks on the fly, so I didn't have to use scpm. I'm sure there must be one somewhere. It'll be nice when wireless is as easy as on Windows XP.
Speaking of XP, I'm currently fixing a friend's laptop. They're running Windows XP, which is a mistake to begin with in my opinion, and had a corrupt registry. Which meant it blue-screens when booting. And when entering the recovery console. And when trying to do a reinstallation. But I've finally got it to work by putting the disk in my desktop computer, copying some registry files around, rebooting the laptop, copying some more files, rebooting into the recovery console, rebooting again, and then restoring a previous configuration. Now I'm defragging it, virus checking it, removing spyware, removing 'helper' applications... all that fun stuff. 'As easy as Windows XP' - what was I thinking?!
Thursday, February 23, 2006
Since aaron blogged about changes to KDE 3.5, I thought I'd share this change I made, which I already added to 3.5.1. It had been bugging me for ages, but I thought since it wasn't strictly a bugfix I wouldn't announce it in the changelog in case I got told off! But I don't expect anyone even noticed it. Now I want to go and compile stuff to see which bevels aaron removed, since that's another thing which has been bugging me for ages.
Tuesday, February 14, 2006
Wednesday, January 18, 2006
When I was at school we were always told that in the future there would be video phones and cars would fly. Well, I've not been in a flying car yet, but a couple of days ago I made my first video phone call. I've actually had a 3G phone for about six months, but I've never had any need or desire to make a video call. A few days ago I still had no need to make a video call, but I found another person with a video capable phone and thought I'd try it out. The 3G signal was rather weak in the house I was in, so we both had to go into the corner of a room upstairs in order for it to work. But it did, and I made my first video call. The future is here! I can't see myself ever wanting to use a video call other than as proof of concept though.