So far in my life I’ve witnessed the tail end of one real revolution in the way humans interact with computers (HCI), the introduction of the mouse into every-day computing. Sure, the mouse was invented before I was even born, but it didn’t really take off till a few years after I first started using PCs, when Windows became the dominant OS. I can remember, just, being a computer user in the days when the keyboard was your only input device. I remember moving to Windows and discovering the mouse. There have been a few occasions since when I thought I was seeing the start of another HCI revolution but none of them ever really worked out. The touch-screen has had a minimal impact but it hasn’t really taken off. Perhaps it will some day, probably when the multi-sense variety become common, but not yet. However, this week I got to use a computer in a whole new way, using a device that is, as we speak, winging it’s way to countless millions of homes. I am of course talking about the Nintendo Wii, or more specifically, its controller.

[tags]Wii, Nintendo, HCI[/tags]

Read more

I’m pretty sure this is useless on most versions of Linux because the default DHCP plugin that comes with the Nagios Plugins distribution has this functionality and seems to work just fine everywhere except on RedHat-based distros like RHEL, Centos and Fedora Core. On these systems the default plugin does not seem to work and fails to detect any DHCP servers. This plugin is different to the one I gave instructions for before which tests whether a particular DHCP server is answering requests, this plugin finds rogue servers, it will not alert you if any of your actual DHCP servers are down. Hence, you should probably install both. This plugin is not very polished, it is rough and ready but I know it works on RHEL4. If you’re running a different system you may have to do some minor tweaks but this should serve as an excellent starting point none-the-less.

[tags]Nagios, DHCP, RedHat, RHEL, CentOS, Fedora, Linux[/tags]

Read more

Tagged with:

If you’re the serious kind who wouldn’t dream of wasting their precious CPU cycles on pointless fluff or if you can’t stand kitsch then you should probably just stop reading now, this won’t be of any interest to you what so ever. If you on the other hand, you have an over-abundance of festive spirit and some spare CPU cyles (and you run OS X) then MacLampX is just the thing for you.

Read more

Tagged with:

I am by no means shy about pointing out problems with Windows on this blog but I do try to be objective in my criticism. Today I have the rare pleasure of sharing a Windows command-line tool that I haven’t been able to find an equal to on RedHat Enterprise Linux (RHEL) 4. A few weeks ago a rogue DHCP server caused us some serious problems at work so I was asked to find a simple tool for detecting rogue servers. In theory there are loads of tools for this on Linux but after having tried everything Google was able to find for me (an entire day’s work) I’d still drawn a blank. Everything I tried insisted that our main DHCP server did not exist. What’s more tcpdump showed responses from the DHCP server arriving at the machine but all the tools insisted they got no reply regardless. In my search I did come across dhcploc.exe, a small MicroSoft command-line tool that ships with most versions of Windows. Granted, it’s not part of the default install but it is on the CD none the less and more importantly it works!

[tags]Windows, RedHat, RHEL, DHCP, Rogue DHCP Servers[/tags]

Read more

There are two ways of dealing with the configuration details that applications need to store. You have the Windows model, throw the lot into the Registry, and the Linux/Unix model, use text files in people’s home directories. There are advantages and disadvantages to both, but on balance, I prefer the Linux/Unix model. Apple have taken the Linux/Unix approach but rather than storing the configuration files in straight in your home directory OS X stores them in the Library folder within your home directory. Although 99% of an application is gone when you drag it to the trash can, the configuration files in your Library are left behind. These take up very little room and don’t really get in your way but you might still like to get rid of them. If you’re the kind of person who is constantly installing and removing applications to test and play them you probably should look into tools for completely removing applications.

On the Mac there are two tools for this that I am aware of, AppZapper and AppDelete. It was Allison Sheridan of the NosillaCast that put me on to AppDelete. Like Allison I’ve played with both and agree that AppDelete is the better App of the two. It’s UI is the hight of simplicity, but perhaps so simple it may confuse people (more on this later). It also allows you to see what will be deleted and to un-do the deletion so there should be no nasty surprises! This is the perfect example of a tool that solves one problem very well. Basically, it does exactly what it says on the tin!

Read more

Tagged with:

When it comes to efficiently synchronizing data between hard-drives there is a great Unix/Linux command-line tool, rsync, which is installed on OS X Tiger (and perhaps previous versions too) by default. OS X only contains the command-line tool though, not a GUI to provide easy access to it. This is where arRsync comes in. All it does is provide a simple GUI and the ability to store profiles, but that’s all that’s needed to make rsync available to regular users. You might wonder why you would need to efficiently synchronize data between two hard-disks? The answer, backups! I use rsync (via arRsync) to backup all my important data to external hard-drives. The nice thing about rsync is that it only replaces files that have changed, so even if you have hundreds of GigaBytes of data, you’ll still be able to update your backup in a reasonable time. Oh, and arRsync is both free and open-source!

[tags]Backup, arRsync, Rsync, OS X[/tags]

Read more

Tagged with:

One of my current projects in work is to set up a Nagios install to monitor our network. We have been monitoring with the free version of BigBrother for a while now but BB isn’t as good so we’re switching to Nagios. I had plenty of problems getting Nagios running on RHEL 4 because in work we try to do as much as possible using only RPMs. I’m working on simple how-to for setting up Nagios on RHEL4 which I’ll publish here soon but the base install does not give you DHCP monitoring. I tried to look for RHEL rpms that provide check_dhcp but I couldn’t find any. There were lots for Fedora but they don’t work on RHEL (I tried FC4 and 5 rpms). I tried to manually build the latest version of the Nagios plugins which do contain a check_dhcp binary but there is a problem with that binary that results in it always showing your DHCP server as down. I know the problem is with the binary because if I watch the logs on the DHCP server I see it issuing an offer and tcpdump on my Nagios server shows the offer arriving, yet the plugin still insists that the service is down. The solution is to use this Perl script. However, if you follow the instructions on that page it won’t work on RHEL. I spent an entire day beating this script into submission but in the end I got it working.

[tags]Nagios, RedHat Enterprise Linux, RHEL, RHEL4, DHCP[/tags]

Read more

Tagged with:

In this day and age there are cameras everywhere. Between surveillance cameras and mobile phones we are seldom unobserved. Generally people see this as a bad thing, Big Brother and all that. However, when you combine it with the ability to easily publish media on places like YouTube it can actually be a good thing and serve to protect ordinary citizens from abuses of power. This was brought home to me today by an exceptionally disturbing video shot on a mobile phone in UCLA which clearly shows a student being abused by police. I warn you, this video is exceptionally disturbing: http://www.youtube.com/watch?v=5g7zlJx9u2E.

The video starts with the student clearly saying that he is leaving and asking the police to let go of him. He is quite clearly cooperating with the police but objects to be man-handled by them (a very reasonable objection). How do they respond, they Taser him! His screams of agony are heart-wrenching. Needless to say he ends up on the floor. The police then start YELLING at him to get up and when he doesn’t they taser him again, for longer. At this stage they start yelling agian but a crowd has gathered and you can hear students quite correctly pointing out that he can’t get up immediately because he’s just been tasered twice! There are already students asking for badge numbers at this stage but getting no where. In the middle of this second tasering the victim lets out a clearly audible yell “Here’s your Patriot Act, here’s your fucking abuse of power”. I can’t say I disagree with him! But it gets worse and so does the abuse of power by the police. They continue to taser the victim and refuse to give their badge numbers to the many students repeatedly asking for them. The video ends with a student who is complaining about the abuse he just saw in a calm and and completely civilized tone being threatened with the taser “back or you’ll get tased too”. That is an abuse of power plain and simple, it is police brutality. There was no need for this extreme level of violence.

Before the days of video cameras in mobile phones and YouTube we would have only been able to hear this story from second-hand reports and we’d have to take those reports with a grain of salt. Now in cases like this we can all see the raw footage for ourselves and base our opinions on the hard evidence. I for one think this incident is a disgusting abuse of police power. In the past this was unlikely to ever result in any action being taken against these officers but with this video being so publicly available it will be very hard for the police to sweep this under the carpet, particularly if the students of UCLA keep the pressure on. I personally hope this video turns out to be the evidence that gets these animals ejected from the police force.

I’ve often complained that students don’t get taught the important stuff they’ll need for programming in the real world when they study for computer science or even software engineering degrees. I was pretty sure I’d brushed up on my Java enough that I had all I needed to write Java code in the real world but I was proven very wrong over the weekend when I spent literally an entire day on what turned out to be one line of code. The problem was that I had a gaping hole in my understanding of how the JVM works and how programs can interact with it, I was totally ignorant of the power of Class Loaders.

Read more

Tagged with:

Java going Open Source is old news at this stage but it’s taken me a while to digest. Ideologically I think it is a great move, I’ve always been a little annoyed that Java was not GPL or similar. So it’s good for me as an Open Source fan, but is it also good for me as a Java Programmer? That’s what I’ve been trying to figure out for the last few days and in the end, I think it is.

[tags]Java, Sun, Open Source, GPL[/tags]

Read more

Tagged with:

« more recent postsolder posts »