Project Discovery – Inception Plans

I have started planning my next computer build – codenamed Discovery – to replace my current Galileo rig. The plans are at the inception stages at the moment but I’m hoping to have some more concrete plans in the next few weeks.

I aim to build Discovery more as a customisation and modification project as well as a new computer build, and as such hardware choices have yet to be made. However, Discovery will be subtly themed along the lines of NASA’s own Space Shuttle Discovery.

Colours and general design will be kept as clean as possible, with a white/silver pearl outer colour and black/white internals. The case in question will be the Coolermaster ATCS 840, with a custom side-panel window and an LCD display housed within the panel. Below is a very rough mock-up of what I hope the finished project will look like:

Project Discovery Side PanelHopefully I’ll have some progress in the next few weeks!

iPhone4 – First Impressions

My iPhone 4

My iPhone 4

So, I am the proud owner of a shiny new iPhone 4! I’ll give my first impressions here.

First off, the device feels very hefty and very solid in-hand, and it’s got a nice feeling of quality about it.

Not having used an iPhone properly before, the iOS4 software feels responsive, and the much-discussed Retina display looks amazing, it re-defines what a mobile device should be capable of.

I will be writing an in-depth review later, once I’ve had a chance to play with the iPhone properly, but it’s looking like a very promising purchase!

Photos are on my Flickr photostream.

How To: Backup with SSH and Rsync

PuTTY logoMy websites (hosted with EvoHosting) are incrementally backed up to a server running on Atlantis – my VMware ESXi host – for the dual purposes of offline development and data resilience. I’m fairly sure that there are numerous guides out there already to accomplish this, but hopefully this will be useful for some.

For ease of explanation, I will skip any network configuration, though if anyone would like detailed configuration on NAT, port forwarding and dynamic DNS, please by all means leave a comment or email me.

SSH Key Configuration

The first thing to do is to configure SSH key authentication, so that your source server can login to your backup server without being prompted for a password. Run the following command on your source server:

ssh-keygen -t rsa

Copy this key into your authorized_keys file (usually in /home/$USER/.ssh) on your backup server and set permissions to 700 so that nobody else can read or edit the file – these permissions are explicitly required for most SSH installations, so double-check that they are correct.

Rsync Configuration

After looking around for help on rsync for a while, this is the rsync command I have come up with:

rsync --delete  -ae 'ssh -p999' /home/craig/public_html/ backup.network.local:/home/craig/public_html/

The “delete” option tells rsync to delete files on the backup that aren’t in the source, and the -p999 option tells SSH to use port 999 for the transfer – I used this as I use a non-standard port for SSH for security, however if you run SSH on its standard port (22), you can remove the -p option.

MySQL Backups

Although Rsync will copy my public_html directory, it won’t backup my MySQL databases. To do this, I used the mysqldump utility. Unfortunately my file permissions wouldn’t allow me to use the more efficient mysqlhotcopy utility, so I have had to make do with a slightly crude full backup, which is gzipped to keep the file size minimal:

mysqldump --all-databases | gzip > ~/databases.sql.gz

This full backup is then imported back into the backup server’s MySQL databases.

Automation via Cron

All that was left to do after this was to schedule the backups automatically via each server’s cron scheduler. The MySQL database imports take place 45 minutes after the Rsync copy to give the backup time to complete.

Where needed, I have written simple Bash scripts to simplify the process and to remove the backup SQL scripts after transfers and imports.

~~

Hopefully that has been educational, please feel free to comment if you have questions/suggestions :)

OpenBooking – Testing Needed!

openBooking Logo

Although not in the relaxed way I’d have wanted, but my dissertation project has now been handed in! After a week of frantic, Red Bull and Relentless -induced coding and writing, 9,500 words of write-up and 14,500 (ish) lines of PHP, SQL, XHTML and CSS are complete

The overall system is a distributable web-based resource booking system, mainly aimed at schools/colleges/universities, but it’s customisable enough to be used in pretty much any environment. Admin users can create slots, locations, categories and resources and then users can create bookings.

As it’s a distributable project (released under the Mozilla Public License – Wikipedialegal text), if anyone can actually use the project, let me know and I’ll get a copy to you. Only requirements are a database server and an LDAP (or Microsoft Active Directory) server, but most networks should have these. I’ve only tested the app with OpenLDAP and MySQL/PostgreSQL, but in theory it should work on other platforms.

Even if you’re not able to test the system personally, but feel free to suggest it to bosses, managers etc. The existing public code trunk has been updated and distributable archives have been uploaded to the OpenBooking Google Code account. I’ll be getting a full-featured homepage with forum and wiki running in the next week or so :)

Windows Users: Switch to Firefox Today!

Apart from sounding like a 1960′s advertising slogan, the title of this blog actually does have some relevance.

Today, Microsoft Windows users in Europe are being given the choice of eleven alternatives to its Internet Explorer web browser.

I haven’t researched this, but I would guess that about 75% of the time you spend at a computer terminal is looking at a web browser, so the browser is a core application for today’s computer users, and one that can have a profound effect on your computer usage.

My personal browser of choice is Mozilla Firefox. Details about why I use Firefox are on my previous blog about great open source apps. I highly recommend that you use this opportunity to install it and give it a go – with the addition of a few extensions (or add-ons), Firefox really does have the ability to transform your web experience. Here are some of my extensions of choice that really do add value to any browsing:

  • AdBlock Plus: Absolutely indispensable – this little add-on instantly removes most of the annoying advertisements you encounter while browsing. Just install the extension, sign up to an ad filter (I personally use the “EasyList (USA)” filter) and say goodbye to online ads!
  • Xmarks (formerly Foxmarks): Another indispensable add-on if you are often moving from computer to computer, it allows you to keep all of your bookmarks synchronised .
  • DownThemAll: Not strictly “necessary” but definitely in the “useful” category. If you download large files over the web often, then DownThemAll offers lots of features like resumable downloads, automatic checksum comparison and multiple link downloads.

Of course there are thousands of other add-ons that can make your browsing a breeze. So, go ahead and download Firefox today!

3 Great Open Source Apps

In a (somewhat vain) attempt to keep this blog a bit more up-to-date (I’ve set myself a target of one entry a week!), I hope to start writing some shorter blog entries in the future. In the first of these shorter excerpts, I’ll be looking at a few great free, open source applications that anyone can start using right now, for free.

Firefox – Web Browser

Mozilla’s Firefox web browser is quite possible one of the biggest names in open source software, and a product almost everyone is familiar with; at least in name.

For me, the benefits of using Firefox include what can only be described as an arsenal of add-ons and extensions that make Firefox far more than just a web browser. Among the extensions that I use are Adblock Plus (the web has never been the same again), the venerable Web Developer Toolbar and HTML Validator combination (in my opinion, the staple toolbox for any web developer) and DownThemAll (a great resumable download manager, complete with checksum support).

Also present is the benefit shared by most open source applications: cross-compatibility for almost any platform and architecture.

Songbird – Media Player

From the same stable as Firefox, but very often overlooked, is Songbird. I have only started using Songbird as my media manager of choice within the last three months, however it is incredibly versatile, discrete, and shares the cross-compatibility benefit, so I can use the same player on my MacBook and my Windows and Linux environments on my desktop PC.

Like Firefox, it benefits from extensions, although the extension support isn’t at the level of Firefox’s. A feature I do really like though is the unobtrusive mini-player – it makes quickly flicking through tracks a breeze – especially after Microsoft abolished the Media Player toolbar feature in Windows 7 and Media Player 12!

Pidgin – Instant Messaging (Windows Live Messenger – MSN)

After growing frustrated with the bloat of Windows Live Messenger, I turned to Pidgin – another open source alternative that is already shipped with many Linux distributions as the Instant Messenger (IM) client of choice.

An advantage of Pidgin (albeit one that I don’t use) is the ability to handle multiple IM protocols: geek-speak for being able manage your MSN, AIM, Yahoo!, Google Talk, ICQ and a whole host of other IM accounts in one place, and as with Firefox and Songbird, the great number of plug-ins available really do extend the functionality. For those music-fans that like people to know what they’re listening to, there’s Music Tracker, and the host of other plug-ins included as standard.

A Very Belated Update

So where has the last six months gone??

It seems like only yesterday I was packing my gear in Aberystwyth. Since then, I’ve moved back to Essex, packed in a fair few We Will Rock You shows, redesigned this website, played bass in a variety show concert started a new job and and built a brand new desktop PC – so it’s been “all go”!

The new desktop PC has been about a month in progress but it’s finally completed and I couldn’t be more pleased with how it’s turned out. More details are on the Computers section of this site, so I won’t bore people with techncial specifications here, but it’s safe to say that it was definitely worth the effort!

September 20th saw a parial change of cast for We Will Rock You at the Dominion. Among those to leave were Julian Littman, Lain Gray and Lucy Sinclar who play Pop, Vic and Meat respectively. I have yet to see the new cast, but I’m sure they will be brilliant.

I’m now working at Colchester Sixth Form College as an IT Technician as part of my degree course’s Year in Industry. It started pretty slowly, then sped up quite a bit as staff and students were off for the summer, freeing up the servers and network for maintenance. Hopefully it’s calming down slightly now!

The aforementioned variety show was the brainchild of Hans Montanana, the former head of music at Rickstones School who I’ve kept in contact with over the years. I actually came out of semi-retirement as a bassist to play the concert, not having played seriously for over three or four years! It was definitely a challenge going back to basics and reading from chord charts again but hopefully I’m now back into the swing of it and the next one (if there actually is a “next” one) will be a bit easier!

Last of all, I’ve given this website a bit of a revamp and redesign, and added a new section dedicated to the building of my new desktop PC. The theme of the redesign was partially inspired by the recent events at CERN and the Large Hadron Collider, I’m still not 100% happy with the design so there may be a few further tweaks in the next few weeks!

Anyway, that’s your lot, apologies for not updating over the last 5 months but it has been pretty action-packed!

Up the ‘kin Irons!
Craig

Windows XP – Common Optimisation Issues

Quite often, a lot of the work I do with computers just involves giving the systems (mainly running Microsoft Windows XP or Vista) a general clean-up and speed-up, as they tend to slow down and clog up over time. I’ll try and run through a couple of things which you can do to speed your machine up as well as take you through the general process I go through with each clean-up job. For the purposes of this guide, I’ll be using Windows XP Media Center Edition 2005, however a lot of the points can be applied throughout the XP (and indeed Vista) family of systems.

Step One – Running Virus and Adware Scans

The reason why your PC could be slowing up may be that it has become infected with a virus or adware. The two terms are sometimes confused, as while both are programs that compromise your PC’s security, adware installs constant pop-up advertising and other annoying paraphernalia, whereas viruses are generally seen as more malicious programs that can physically harm your operating system and possibly stop your system from functioning.

To keep these nasty things away, I use a combination of two well-known programs that are both completely free – Lavasoft’s AdAware 2007 (adware scanner) and Alwil’s Avast! Home Edition (anti-virus). Avast will need registration, but this is just an email address so that they can send you a serial key.

Before installing Avast, make sure that you have uninstalled any other anti-virus programs, as these could interfere with Avast’s scanner. Also, before running scans, make sure that both programs are fully up-to-date with definitions and program files using their integrated update functions. I generally find that it’s best to run Avast outside of Windows on a boot-time scan, as this allows it to delete any unwanted files that are locked and in-use when the scan is running.

With those scans done and any nasty unwanted programs and files removed, you can then move on to the next stage and free up some disk space.

Step Two – Freeing Up Disk Space

Despite hard drives becoming faster, cheaper and larger – is seems that there will never be enough space to keep everyone’s music, documents and movies while also being able to install today’s resource-hungry operating systems (yes, I’m looking at you Windows Vista…) and games. Sometimes it can help to free up disk space that Windows uses for various purposes – temporary files, caches, Recycle Bin, Windows Media Player sync files among others. This space is pretty much wasted if the system is running properly and as it should be.

You can run the disk clean-up utility by going to Start –> All Programs –> Accessories –> System Tools. This will give you a window that looks similar to the one on the right.

Before you go clearing all of those temporary files, you can also free up some space by deleting all but the most recent System Restore checkpoint. While there is some danger in doing this – as if something does go wrong with your machine, there will only be one checkpoint to choose from – but if the system is running happily and you haven’t made any major hardware or software changes in a month or so, the previous restore points will not be needed. You can switch to the More Options, then click on Clean Up in the System Restore section of the screen to clear the restore points. My advice would be that if you’re not absolutely sure that your system is running properly, don’t delete the restore points. Saving about 2GB of disk space is a big price to pay if the system suddenly bites the dust without warning.

After clearing the restore points, you can head back over to the main Disk Cleanup tab. I generally check every box with the exception of “Compress Old Files”, as I know that I won’t need the data – I still have my Microsoft Office installation CD for example, so there is no need to keep the cached Office install information. As with the restore points, if you’re not sure, don’t delete the files. Clicking on OK will confirm your choices and will clean the ticked boxes.

Step Three – Defragmenting

Defragmenting a Hard DriveA common issue with Windows is the ability for it to spread files right across the hard drive in tiny pieces. To give you an analogy of what this is like for the hard disk to read fragmented files, imagine a vinyl turntable having to reposition it’s needle every fraction of a second to read the next piece of music from the vinyl. Defragmentation is just the process of bringing these tiny parts of files back together and gluing them into one easily-accessible place on the hard drive.

To start the disk defragmenter, go to Start –> All Programs –> Accessories –> System Tools –> Disk Defragmenter. Clicking on your C drive and then clicking Analyse will analyse the drive for fragmented file and will produce something like the screenshot below:

Windows will normally tell you that the drive doesn’t need defragmenting, however I generally go ahead and run the defragmenter anyway. Depending on the drive size, this could take several hours to complete, so it’s best left overnight or run when you are away from the PC for a considerable length of time. On isolated occasions, it may be worth running the defragmenter twice, as one run will get rid of the fragmented files, and the second run will pull files together into a lump so that they can be access quicker. This technique could be useful when large sections of data have been deleted, leaving holes in the file structure.

Done!

You have now (hopefully) managed to speed up your Windows XP system: congratulations! I generally tend to run this routine once every month or so to keep the system fresh and running properly. If you’ve got any questions, by all means leave a comment or email me, I’ll try and reply as soon as possible but it may take some time depending on university workload.

Multi-Booting: A Revised Guide – XP/Vista/Linux

After writing my last quad-boot entry, I’ve gained quite a bit of experience in troubleshooting and sorting out multi-boot installs so I thought I’d re-write my old quad-boot blog to be slightly more like an informative guide rather than a story, and also downgrading it to just cover tri-booting, as I haven’t gotten around to replacing Apple’s OS X Leopard with Sun’s OpenSolaris yet.

Summary

This guide will use Fedora 8 as the Linux distribution, live CDs are available in both Gnome and KDE flavours for those of you who want to try it before actually touching your hard drive’s partition layout. I would recommend installing from the Fedora Install DVD as from experience, the live CD misses out several packages – make and gcc among others – by default that make life a lot easier after installation.

The other operating systems I’ll be dealing with are Windows XP Media Center Edition and Windows Vista Business.

Step One – Partitioning

My desktop PC’s hard drive layout consists of one 200Gb drive for the operating systems and one 320Gb NTFS drive as a central data area, but I’ll assume that you’re dealing with a single drive. Partition whatever space you have into three sections – four if you want a central data area. Although Windows is a lot more space-hungry than Linux, I gave each system an equal amount of space.

You can use whatever tools are available to you to create your partition layout. Both XP and Vista partitions should be NTFS and it’s best to either leave the Linux partition and format this using the install disc. If you’re creating a central data area to use between operating systems, use the FAT32 file system as while Linux can read/write to NTFS, it’s not proven with large file sizes – I use NTFS for my 320Gb data drive purely because FAT32 cannot cope with that size without splitting into separate partitions – something I wanted to avoid.

Step Two – Installing Fedora

Not much instruction is needed at this point. The Fedora Installation Guide is an excellent tutorial through the process. You can install GRUB – the Linux bootloader – to the drive to get the system installed, booting and stable, although booting to Linux will be configured via a GUI utility in Vista later on.

The general guide for creating a swap partition is to use double the amount of RAM you have in your system. My PC has 2Gb of RAM, so I partitioned off 4Gb and set this to be my swap space.

Step Three – Installing Windows

I’ll deal with both Windows systems in the same step here because they’re both relatively similar. You’ll have to do some partition trickery before installation so that Windows assigns the correct drive letters and installs each version in ignorance of anything else on the system.

You can do this via pretty much any partition manager, but I used GParted as included on the Fedora and Ubuntu LiveCDs – or you can use the dedicated 50Mb GParted LiveCD. Select the XP partition, right-click on it and select Manage Flags. Put a tick next to the “hidden” flag and close the window.

Now simply place the XP installation CD in the drive, fire up the installer and install as normal. Just remember to make sure you’re installing to the right partition on your drive. When you’ve installed and can boot to XP, reboot to GParted and swap the “hidden” flags. You can then install Vista as normal.

Step Four – Pulling It All Together

You should now have three working operating systems on your hard drive, but you can only boot to Vista. Head over and download the free EasyBCD program from NeoSmart and install it on Vista. You can then use that to create the necessary boot menu options for each system. EasyBCD includes GRUB and installs it on your Vista partition, so you don’t need GRUB on the Linux partition. Clever eh?

Done!

After you’ve created the boot menu options, reboot into each system once to test. You should now have a working tri-boot system – congratulations! If anything goes wrong or if you’ve got any questions, by all means e-mail me and I’ll do my best to help. If you’re using Fedora as your Linux distribution, head over to the Fedora forums and register.

Hopefully this is more of an informative guide rather than a narrative guide and you’ve found it helpful. If you have (or even if you haven’t), feel free to leave a comment!

Cheers
Craig