'Server' Category

Download Blank VHD Images


VHD is the virtual hard disk file format originally used by Microsoft Virtual PC, but fully compatible with VirtualBox, Citrix and VMWare.

Despite the fact that VHD is not native to any of these VM hosts, it is actually a very useful file format, widely compatibility with (and thus portable between) various pieces of host software. There is also a broad range of useful tools for modifying and working with VHD images. I’ve recently been experimenting with the Plop VHD Loader, one such 3rd party tool which allows the user to boot a real machine from a VHD file.

Although they are VHD compatible, hosts like VirtualBox and VMWare prefer to create images in their own (.VMDK, .VDI) file formats, so I’ve created some blank VHD image files of different sizes which are available for download below:

These are all self-expanding, so the files themselves are very small (you don’t have to download a full 40GB of nothing). Hopefully these will help you get started experimenting with VHDs. Enjoy!

Street League 2011 – Kansas

It’s Street League 2011 stop 2, held this time in Kansas City. You may recall that ESPN basically left the video feed open for download last time around, with a very helpful 300 page going so far as to index the clips for offline viewing.

As Flash player is a direct ticket to a hot computer and an empty battery, I’ll do anything to avoid using it, so it’s great that once again ESPN have left the .MP4 video files publicly accessible. Now you can watch on your iPhone or iPad, too!

Download link for the Kansas City stop and Flash-free embedded video after the break.


Mac OS X Terminal Alternative – iTerm 2

I was pointed to iTerm a couple of weeks ago by a commenter in response to a post about running Xterm in fullscreen under Mac OS X. The software is still in beta, so I’ve been road testing it to see if it could be a viable alternative to the Mac OS’ Terminal.app or Xterm.

I’m delighted to report that, although it is still in beta, iTerm 2 has proven to be very stable, and has a ton of features which I’m sure any CLI Mac user will be absolutely delighted with – in fact, I’ve made the switch from Terminal.app on all of my Macs. Here’s a quick preview of my three favourite features.


Tutorial Series: Linux Command Line Basics

Last week, I published a seven part series of posts introducing some of the key concepts, commands and techniques of the Linux/Unix command line. Here’s an index of the topics covered to help you find what you’re after.


Full Screen Terminal in Mac OS X

It seems that I’m not the only one who finds the tinsel of an operating system GUI distracting when I’m trying to concentrate on some work. While many Linux distributions allow you to fullscreen a Terminal window, Mac OS X’s Terminal.app does not provide you with such an option. Although I did (briefly) consider rebooting into single-user mode (which starts OS X with a BSD shell), it seemed like a better idea to try and find out if anybody has already had the same thought as I, which led me to a great solution over at http://www.hccp.org

In order to enact this process yourself you’ll need X11 and the Mac OS X Developer tools installed.


Linux Command Line Basics Part VII: Tunnelling Using SSH

Knowing basic *nix terminal commands is an absolute must for any computer pro. Whether you use Windows, Mac OS or Linux, you’re bound to face the command prompt at some stage, so here’s my crash course in CLI. In this final part of my guide to the basics of command line Linux I’ll show you how to tunnel an internet connection using SSH.

SSH Tunnelling

Tunnelling an internet connection using SSH has many uses – if you’re on a restricted network at school or work you might not have access to certain sites. By tunnelling to a remote machine you can bypass these restrictions, allowing access to any site. The reverse is also true – by tunnelling into a machine at school or work you can gain access to resources on its local network which might not ordinarily be available to external connections.

Opening the Connection

The link established between the local and remote machines is akin to using a proxy server – we’re going to tell the browser (Firefox) to route data through a port on the local machine which is forwarded a specified port on the remote server. Requests will be made by the remote server and the results forwarded back to your local computer.

You need to choose a port which isn’t reserved for a common service – usually a high number in the port range (in the screenshot below I’m using port 9999).

Opening the tunnel to the remote machine

The command line SSH options are:

$ ssh -C username@remotemachine -D [port number]

Using this method will open a remote Terminal session also – there are options to simply open the connection and return the command line immediately, but this way you won’t forget about your connection, and it’s easier to close it when you’re done (just exit the SSH session).

Now that the port is open for business we need to instruct the browser to use it. Launch Firefox and open the preferences window. Click the ‘Advanced’ tab & select ‘Network’.

Click ‘Settings…’ to open the connection options dialog box. Select ‘Manual proxy configuration’ in this dialog box.

Now set the ‘SOCKS Host’ to ‘localhost’ and the port to 9999, or whatever port you selected when you opened the SSH session. Your config page should look something like the screenshot below:

We’re done, so save the changes you’ve made and exit the Preferences window. One way you can test whether your connection is working is to visit an IP/location site such as http://whatismyipaddress.com/ and see where it places you on a map.

To end the connection, simply exit the SSH session as you would normally. Remember to change back the settings you altered in Firefox, or it won’t be able to access the internet.

And that concludes my crash course in *nix command line – we started learning about the file system and are very quickly forwarding connections, using remote GUI applications using X and more. Hopefully this has demonstrated just how powerful the command line interface can be, and by taking just a little time to become better acquainted you can start accomplishing some really cool stuff. Thanks for reading!

For a full list of topics covered in this tutorial series, head over to the index page.

Web History, Mirrored

You might have noticed when you were reading my last post about web mirroring software that the site I was mirroring in my example was a 1992 version of the very first world wide website ever published (by Sir Tim Berners-Lee & others at CERN).

There wasn’t much thought behind mirroring that site in particular other than it happened to be the last thing in my Safari history, but it’s such a wonderful and significant piece of history that I’ve decided not to delete the files but to move them to a subdomain of this website in case the W3C ever decide to remove their copy.

The mirror can be found at http://hypertext.zebpedersen.co.uk/WWW/TheProject.html, and I recommend it highly to anyone with a geek tendencies. If the internet has had a profound impact on the way you live your life, it’s well worth a poke around where it all started.

Website Mirror Software – HTTrack

These days we’re connected to the internet by pretty much every single device we own – with the widespread popularity of the smartphone there’s a great many people carrying access to the internet in their pocket everywhere they go. Traveling back a decade or so when the internet was a much more scarce resource and there was such a thing as ‘offline’, being able to download a website to view sans connection was a very useful thing indeed. When your internet session tied up the phone line and charged you a few pennies for every minute you were connected, it was a practical solution to a common problem.

Even though those days are past us, you might still want to download a whole website for posterity or simply to create another mirror to share some bandwidth. There’s a great open-source tool for doing just that in the form of HTTrack.


Linux Command Line Basics Part VI: X Window System

Knowing basic *nix terminal commands is an absolute must for any computer pro. Whether you use Windows, Mac OS or Linux, you’re bound to face the command prompt at some stage, so here’s my crash course in CLI. In the previous section of this guide we set up an SSH connection so we could operate a machine remotely. Now it’s time to extend this functionality using the X Window System to provide some remote GUI action to augment the remote CLI access we set up previously.

The X Window System

The X windowing system has been around for the best part of three decades and provides facility for displaying graphical content on a remote computer. Whilst a proficient command line user can perform advanced operations using only text input, some things are undeniably easier using a GUI. By using X, a remote user can wield the power of the command line alongside GUI programs, a formidable combo for a productive user.

One of the best parts of X is how simple it is to add this functionality to your remote session. The only change required from the SSH setup introduced in the previous section is the addition of  ‘-X’ to the beginning or end of the arguments. For example, if user ‘randymarsh’ wants to connect to the remote server ‘’ with X, he would enter:

$ ssh -X randymarsh@

Make sure you use a capital X! (more…)

Linux Command Line Basics Part V: Remote Access 101

Knowing basic *nix terminal commands is an absolute must for any computer pro. Whether you use Windows, Mac OS or Linux, you’re bound to face the command prompt at some stage, so here’s my crash course in CLI. The final sections of the guide will introduce a couple of slightly more advanced concepts which will help you get the most out of your command line experience.

Remote Access 101


When you open a Terminal window on your Linux or Mac computer, you’re interacting with the operating system through an interface known as a ‘shell’. The Terminal you just opened interfaces with your local computer, but using a protocol called ‘SSH’ you can control a remote computer using the same Terminal interface. (SSH stands for ‘Secure Shell’, owing to its increased level of security over its predecessors.)

SSH allows you to open a Terminal session (a shell) on your local machine which interacts with a remote computer. This is most commonly used in server administration or any computer which runs ‘headless’ (without a monitor).

Having a few SSH tricks in your toolbox is very useful indeed, and later on I’ll show you how to bypass network restrictions and use remote GUI applications as well, but first we need to get connected.