Archive for the 'Development' Category

Let’s Crash IE

This is an old one, but I came accross it again today and thought I would mention it. It’s a great demonstration of how terrible Internet Explorer is as a browser, purely by the fact that inserting the following fragment of code:

<script> for (x in document.write) { document.write(x); } </script>

into a webpage is enough to put IE into an infinite loop, which results in it crashing out. I’m actually quite tempted to embed it into this very website, and every other website in which I have access to the source code…

Mini Java RCON Tool

I’ve quickly thrown together a small Java RCON Tool for sending remote commands to Source-based games from the Steam collection called JavRecon. It’s written purely in java, and isn’t anything particularly fancy but quite handy none the less.

You can download it here.

I am also working on another tool over at Sourceforge called JRcon, it works off the same idea but it is intended to be a lot more sophisticated and have a lot more options. Why you say? Simple, its platform independant, hopefully it’ll be another small step forward in removing the shackles of Windows from the gaming world.

Linux From Scratch

Linux From Scratch is a project that allows you to create your own fully customized Linux system following step-by-step guides entirely from source.

Why you ask? The idea is to provide users with a better understanding of the internal workings of the Linux OS, it allows you to create a distribution that contains only what you need, without all the extra applications and packages that you’ll never use, and allows you edit and adjust every single aspect of your system before you’ve even installed it onto your own machine.

You can find the project here, its a must for any Linux enthusiast with some time to spare…

Encrypting Java Strings

Below is quick segment of Java code which can be used for converting a Java String to an MD5 (or other) encrypted hash value. It’s pretty straight forward…

import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; protected String encryptString(String input) { String hashword = null; String str = input; MessageDigest m = null; try { m = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } m.update(str.getBytes()); BigInteger hash = new BigInteger(1, m.digest()); hashword = hash.toString(16); return hashword; }

You can change MD5 to SHA or any other Java supported encryption protocol you like. It is believed that SHA is a more secure and harder to decrypt algorithm, but for what I was going to use it for, MD5 is no problem.

I’ve also implemented a single class file of this containing everything you need to encrypt Strings straight off the terminal. You can download the archive along with all the relevant documentation. Feel free to edit, redistribute and keep me informed of any improvements or suggestions.

Embedding Terminal Into Gnome Desktop

Enclosed you’ll find a tutorial on how to embed the Terminal into a Gnome Desktop (such as Ubuntu). The tutorial requires the installation of a couple of packages and a bit of tweaking, but it looks pretty neat and saves you having to open a Terminal every time you are wanting something done.

The overall result looks a bit like this:

Click below to read the tutorial…

Continue reading ‘Embedding Terminal Into Gnome Desktop’

Wiki Scanner

A great little tool, which allows you to input either the name of an organisation, or a geographical location, then it lists every single edit to a Wikipedia article that organisation/location has ever made (even the anonymous edits).

It’s fun to see what people get upto from the office computer…

Check it out here.

Real Transformer


Direct Google Video Link

The Laws of Computing

Found this funny little article over at the The Department of Computer Science, University of Western Ontario…

The Laws of Computing…..

First law - The Computer is always right.
Lemma one - Programmers are occasionally right.

Second law - The amount of time needed to debug a program is inversely proportional to the time allotted for debugging.
Corollary - Programs never work the first time unless there is virtually unlimited time to complete the program.

Third law - Any programmer can find 90% of his bugs simply by explaining his program to an uninterested observer.
Corollary - The uninterested observer may be sleeping, dead, non-human, or, in extreme cases, non-existant.

Fourth law - The most difficult or nearly impossible programming problems appear obvious or extremely simple to anyone with little or no knowledge of programming.
Corollary - Those problems most easily solved by a programmer appear to be overwhelmingly complicated and marvelous to the layman.

Fifth law -
Computers are never more intelligent than their programmers.
Corollary - Most computers are incredibly stupid.

Sixth law - The rarest bugs in any operating system or major programming effort will always show up in a demonstration of its use to prospective users or customers.
Corollary - These bugs usually cannot be reproduced and therefore cannot be located.
Lemma one - Customers will never purchase programs which appear to be riddled with bugs as verified by demonstration.
Paradox - Most programs are unfit for sale.

Archives, Navigation & Status

I’ve decided to activate a few nice features that come as part of the K2 Theme. The first you’ll notice is the “Advanced Navigation” feature, which incorporates a couple of simple, but very elegant, AJAX powered modules, such as the Live Search widget, that automatically displays results without the page refreshing. There is also an AJAX powered navigation slider that allows you to move around previous blog pages without having the refresh the page.

The second feature is the Archives Page, that shows a brief summary of all the posts and comments in the blog, as well as their Categories, Months of publish and a coloured, size-weighted tag cloud. All over, K2 is a pretty neat theme and I recommend anyone try it…

Finally, I’ve reinstalled and setup the Status Page (powered by Status2K), that does a very good of displaying the current status of the server in terms of running services and hardware (CPU, memory, disk usage, load etc). I picked up this script for $10 when the developer was first starting up, now it costs a bit more. It also lets you distribute dynamic server images, such as:

Again, I’d recommend this script to most people, especially webhosts looking to reassure customers of the reliability (or otherwise) of their servers.

I’m Cobol!


You are COBOL. You are very business-oriented.  You make conversations longer than they should be, and people easily grow bored by you.

Which Programming Language are You?