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:

I’ve done a few previous articles on Apache Tomcat (one for installing it on Linux and one for installing it on OS X), but I haven’t yet mentioned installing the JK Connector (mod_jk) in any environment. For those who are wondering what on earth I’m on about, mod_jk allows the Apache web server to serve your Tomcat web apps so they appear on port 80. There are a number of reasons why you might want to do this. Firstly, it provides a simple and secure way to get Tomcat to respond to requests on port 80 without having to have it run as root. Apache is more efficient at serving static pages so it can help increase the efficiency of your web app, and finally it allows you leverage all the power of Apache’s many features for your Java web app.

[tags]Tomcat, Apache, OS X, Mac, mod_jk, Tomcat Connectors[/tags]

Read more

Tagged with:

I was horrified to receive an email from my ISP asking me to email them my updated credit card details this morning. Now, before you go saying ‘no ISP would do that, its obviously a phising scam you fool’, it isn’t. I rang them. Since my credit card had expired I gave them my new details first and then complained about the email. The person on the other end of the phone just didn’t see the problem. I proceeded to explain that email is a totally insecure transport medium. She still didn’t see a problem because they were ‘only offering customers an option to email’. DigiWeb are an ISP, people expect ISPs to know how the internet works, and if their ISP says it’s OK to email such things then regular users will probably take them at their word. After all, DigiWeb are the experts right? When it became clear that I was not being listened to I asked to be transfered to a manager or a supervisor but was told that DigiWeb don’t take complaints over the phone. What? You don’t even care enough to talk to your own customers? Yet another example of the utter uselessness of Irish ISPs! To cut a long story short I’ve contacted the Data Protection commissioners and am in the process of lodging a complaint.

Read more

No, I haven’t gone all anti-science or become a creationist, I just needed to grab your attention to highlight a serious issue I have with supposed scientists like Richard Dawkins. This article has been brewing in the back of my mind for months now. For most of its gestation period it went under the working title ‘absence of evidence is not evidence of absence’, but it was missing a focus to build around, Dawkins provided that focus, and the ten year anniversary of the death of Carl Sagan provided the spark to get this out of my brain and onto ‘paper’ as it were.

I consider myself a scientist, I chose to do a science degree, then chose to go back and try for a PhD in science, and took the time to get myself elected a fellow of the Royal Astronomical Society. As such I have a very personal interest and involvement in science, scientists, and the public perception of science. I’ve shared some of my reflections on the nature of science on this blog before (see links below) but those reflections didn’t really get to what I now realize is at the very core of science, knowing that there is a lot that we don’t know, and a need to be open to the possibility that we’re wrong. Science does not move forward by digging its heals in and refusing to accept changes in our understanding of the universe, and science is most certainly not served by speaking in absolutes and making unsupported and indeed unsupportable statements in the name of science.

[tags]Science, Creationism, Dawkins, God[/tags]

Read more

I’ve been a CVS user for years but have spent most of those years cursing its short-comings. The main reasons I stuck with CVS despite this were:

  • Lock-in – there is a lot of code in both my personal CVS repository and the one for the EVE project. If it ain’t broke …….
  • Maturity – CVS has been around for donkey’s years. The code is stable, people know how to use it, and there are loads of tools and tutorials out there. Subversion is a lot newer and still changing.
  • Inertia – it took a lot of poking and prodding over the years to get people using CVS, people don’t want to have to start the learning curve all over again!

I’ve been reading about how great subversion is for ages but had never quite gotten round to trying it myself. The reason I hadn’t tried it was because I’d never had an excuse to dedicate scarce time to it. However, a few weeks ago people in work started voicing an interest in Subversion so I took that as my cue to finally give it a go.

[tags]Source Control, CVS, Subversion, SVN[/tags]

Read more

Tagged with:

keep looking »