Tim Retout's www presence

Mon, 31 Dec 2007

Fitts' law bugs

Firstly, a rant: as of December 2007, a self-righteous idiot named Chris Cunningham thinks he can change the name of "Fitts' law" to "Fitts's law" on wikipedia, in the name of grammar. To boot, he claims to have changed every link to "GNU/Linux" to point to "Linux", probably without regard to the difference in meaning. I am not happy. Fortunately, a recent attempt to become an admin was unsuccessful.

Anyway.

I noticed recently in Epiphany that I couldn't hit the scrollbar by slamming the mouse to the right edge of the screen. It turns out there are two bugs stopping me doing this, one less subtle than the other.

The less subtle one is that a recent commit to the ati driver turns on VGA output in my graphics card (even if there's no external monitor attached), and for obscure reasons this results in the virtual screen size being a little bit wider than 1024px. Fixes include "xrandr --output VGA-0 --off", or editing xorg.conf to disable that output monitor.

The more subtle one is actually a bug in Epiphany (or at least in GtkNotebook). With just one page open, using the rightmost pixel works fine; but as soon as you need tabs at the top, there's a two-pixel border stopping you.

Just another niggling desktop annoyance.

Posted: 31 Dec 2007 00:00 | Tags: , , | Comments (0)

Sun, 23 Dec 2007

Hello from Morpeth

So I'm in Morpeth for Christmas, staying with my mum. Until today there was no internet access here - they had been paying for an ADSL connection since May, but hadn't managed to get the modem to work with the computer. After a trip to the shops for a nice ADSL wireless router, I can now type blog entries from bed.

There was an existing computer to get working with the router as well. It looked like it had an ethernet port on the back, so should have been easy. However, it was running Windows 98, and I couldn't see it in the hardware list - no drivers. After a bit of prodding around with a Debian live cd, I realised that the integrated network card was even turned off in the BIOS. After that, I had to fiddle around with downloading drivers on my laptop from 3com's website, transferring them via a USB keyring and the Debian live cd (no built-in USB mass storage support nine years ago) to the HDD, and then brave the install procedure.

The machine itself is a 200MHz Pentium MMX with 128MB RAM, so it wouldn't even be able to handle the modern Ubuntu installer. Not that I'd want to do that.

Welcome to Northumberland.

Posted: 23 Dec 2007 00:00 | Tags: , | Comments (2)

Wed, 19 Dec 2007

Desktop annoyances - getting a prompt

Continuing my search for the subtle things that have annoyed me for years about my desktop usage, I want to think about shell startup times.

Application startup times have been done to death, I'm sure - it is one of the more obvious areas to work on when improving a desktop application. Evolution's startup time is still appalling, for instance; I count five seconds before I get a GUI, and many more before I see any email. Still, in the case of my bloated email client, it doesn't matter that much - I generally start it once a day, at 9am, when I need coffee anyway. It then proceeds to hang around in the background. It would certainly be nice for applications in general to start more quickly, but it's not the cause of these subconscious feelings of annoyance that I want to pin down.

Far more important than my email client are my terminal windows. One of the attractions of evilwm was that starting a terminal window was the focus of the entire window manager - the design is entirely motivated towards getting that window up as fast as possible, rather than aesthetics like window borders. However, these days I'm typically waiting for over a second to get a shell prompt. This is critical - when starting a terminal window, I'm usually about to perform a series of commands, and will really be paying attention to that lag.

There are two areas to consider: the time to start the terminal itself, and the time to start the shell inside the terminal. The shell startup time has been causing the biggest wait - bash itself starts very quickly, but turning on bash completion routines adds almost a second to the delay. Trying zsh out with completion enabled, it seems slightly better - maybe one-third of a second on a warm start. (Idea: add

PROMPT='%n@%m:%~$ '
autoload -U compinit
compinit

to ~/.zshrc and chsh away from bash. It's pretty similar.) This is the best argument for switching that I have seen so far.

The GNOME Terminal is relatively nice, and recent versions seem fast enough to start that changing terminal isn't going to make a significant difference. (Prove me wrong.) Some things about my desktop habits could be improved, though: I have a tiny icon on the panel to launch a terminal, and must be spending ages in mouse movements to start each instance. This is just lag in a different form. So, I've now deleted the icon and set a keyboard shortcut - GNOME has the option to set one, but none by default. Second, perhaps sometimes I should be using terminal tabs instead of opening more terminals - it depends on the task. I haven't thought of a cunning way to force myself to do that yet.

I'm now down to around a second to get an open shell prompt in GNOME without moving my hands from the keyboard, which is a lot better. I can still manage to start typing in the window before the shell appears, though, so I suspect some further work is needed on this.

Posted: 19 Dec 2007 00:00 | Tags: , , , , | Comments (0)

Mon, 17 Dec 2007

Desktop annoyances - network lag

Some things always feel uncomfortable about my desktop usage, even when I change solutions - KDE, GNOME, XFCE, all the way down to evilwm and beyond, to the console. I want to pin these problems down, in order to address them. First I want to focus on network lag.

Take email as an example. One of the biggest changes I made to my use of email a few years ago was to store all my email on an IMAP server, so that I can access it from any computer I happen to be using. This has obvious advantages - I have an archive going back years, can do spam filtering and classification in one place, and so on. It does mean performance can suffer, and I'm dependent on a net connection to read my old email. Compare how git changes how you can work with source code, both through its speed and through being able to commit while offline.

Once upon a time, when bandwidth was more limited, every computer had its own mail server, and all mail applications would read a user's mbox mail spool. That was a much better idea, and probably still is - with the exception that I want to take a copy rather than transfer all my email. After all, networks are now fast, and disk space is cheap. Thinking aloud, perhaps I want to run a local mail server on all my machines (so that everything can use a sendmail interface to send email), and then have a standard mail store which will be kept in sync with remote sites. (Bi-directionally, perhaps, for sent mail.)

With a single local mail cache, multiple applications will be able to take advantage of the one store. Individual client applications will be freed from the chore of checking IMAP servers for updates, which can be run automatically in the background by a single process when online. Planning ahead for multiple clients allows views of the mail store to be integrated anywhere in the desktop without requiring more than one mail cache (or lots of IMAP traffic). A similar centralising of network resources can be seen in Telepathy, although I haven't seen a centralized conversation logger.

The 'Online Desktop' idea is bigger than just the web, and it would be sensible to plan more standardized (cross-desktop) centralization of network caches for similar applications. I want to be able still to use my desktop while offline, and avoid perceived network lag while online.

Posted: 17 Dec 2007 00:00 | Tags: , , , , , | Comments (0)

Fri, 07 Dec 2007

Emacs keybindings for GTK text fields

My attempt to learn to use emacs continues. Today's discovery: I can enable emacs-like keybindings in GTK text fields (well, Readline-like) - this includes form fields in Epiphany.

I have remapped C-w to backward-kill-word, to be more like Readline. I'm working up to writing some lisp to make common tasks easier... like writing blog entries, perhaps. I'll need to synchronize my .emacs files somehow... but I need to make more of an effort to use emacs over vim at work.

Posted: 07 Dec 2007 00:00 | Tags: , , , , | Comments (0)

TAOCP volumes I and II

This evening, my order from amazon.com arrived. It took a few weeks, but the savings with the USD exchange rate were huge. I'm now the proud owner of the first two volumes of The Art of Computer Programming (3rd ed.) by Donald Knuth.

First impressions of volume one are that it's quite heavy on the maths; I'm pretty sure the first chapter will go slightly beyond most undergraduate maths courses, mostly because it is focusing on a few key areas. Or perhaps I should have worked harder at university. But anyway, it will be interesting.

Also prominent is the 60s-style machine language for an imaginary architecture that has six-bit words... and needs self-modifying code to call subroutines. Great. It's slated to be replaced in the fourth edition, but that could be twenty years away. :)

Posted: 07 Dec 2007 00:00 | Tags: , , | Comments (1)

Ubuntu for relatives

My mum will shortly receive a laptop with Ubuntu installed (from Dell). She will be the second of my relatives to start using Ubuntu, after my brother - the advantages are the lower initial price, no recurring anti-virus software costs, better interoperability out of the box with cameras and printers, and photo management software for no charge (again, out of the box).

I'm really hoping Dell don't mess this up.

Posted: 07 Dec 2007 00:00 | Tags: , , | Comments (0)

Tue, 04 Dec 2007

Munin Apache uptime plugin

At work, we have a customer who are having problems with their web server. So many problems, in fact, that I felt the need to write a Munin plugin to graph the uptime of Apache, so that I could tell when it had been restarted.

The graphs are as boring as the code, which is entirely stolen from Munin's 'apache_volume' and 'uptime' plugins.

Posted: 04 Dec 2007 00:00 | Tags: , , , | Comments (0)

Mon, 03 Dec 2007

Rugby LUG inaugural meeting

I just got back from the inaugural Rugby LUG meeting which I helped arrange. It went better than I was expecting - in total we had eight people there, and some interesting conversation over three and a half hours. The next meeting will be in January, but after that I'm hoping we can do something more often than once a month.

Posted: 03 Dec 2007 00:00 | Tags: , , | Comments (1)

I want to learn Emacs

Three weeks ago I swapped capslock and Ctrl on all my usual systems, much to the chagrin of Daniel when he foolishly tried to use my keyboard. I'm now quite happy with the positioning of Ctrl - it was surprisingly easy to get used to.

It is not a coincidence that this is Tip #1 on various lists of ways to use emacs more effectively. I find myself wanting to ditch vim… perhaps this is just asking for a holy war.

My reasons are quite vague at the moment, but have something to do with wanting consistency of user interfaces across editor, shell and, er, IRC client. One other thing I've noticed is that very few people seem to write many vim macros - I suspect that having lisp to work with will actually make this easier. Also, of course, it's a GNU project! As part of that, the licensing is vastly more sensible than vim's.

So, seeing as forcing myself to use the capslock key as ctrl seemed to work, I suppose I'd better force myself to use emacs regularly instead of vim, and see how it goes. This involves purging vim from machines where I can, and aliasing 'vim' to 'emacs' in places I can't. Perhaps this will scare more people away from borrowing my keyboard.

Posted: 03 Dec 2007 00:00 | Tags: , , , | Comments (1)

< December 2007 >
SuMoTuWeThFrSa
       1
2 3 4 5 6 7 8
9101112131415
16171819202122
23242526272829
3031     

Contact

Tim Retout tim@retout.co.uk
JabberID: tim@retout.co.uk

List of non-fail

Copyright © 2007, 2008, 2009 Tim Retout