Self Teaching and Home Labs

The long awaited second post. Well here it is.

I’ve read a number of articles and opinion pieces over the years about the value of self teaching.

I’ve never been one of those people that has thought that you could sit down with a textbook (or a stack of textbooks), and learn an entire subject from scratch.

I was wrong… well, in part anyway…

While I still hold firmly onto my scepticism regarding sitting down and teaching yourself an entire subject. That doesn’t mean you can’t amass knowledge on your own. I know this because I’ve done it myself. I’ve done this by setting up a home lab.

It all started when I picked up a HP Microserver N40L back in 2012. I was attracted initially by the price and the low power consumption (for a 24/7 system at home, it was ideal).

It was a revelation.

I installed CentOS 6.2 on the included drive and got going. Slowly at first. Months would go by without any meaningful progress. By the end of the year I had set up an FTP, a Samba share with media files on it being used by an XBMC installation running off a MySQL database.

The following year (almost exactly 12 months after the first), I bought my second N40L, this time running Windows Server 2012 Foundation.

This was even more of a revelation. The ease of setting things up on Windows let me take great leaps ahead with a lot of services. A few months after getting the second server in, I had my own in-house DNS, DHCP, WINS and Active Directory services up and running. I also started looking at setting up a VPN into my network.

I can say I learnt more about networking than I ever did before in those few short months.

Since then I got a VM service running, using VirtualBox, running as a service on my first N40L. I later graduated this to a dedicated VSphere ESXi server (bare metal) on a new Lenovo ThinkServer.

Over 4 years later, I’ve got a bunch of virtual machines running, one is now dedicated to running the external VPN service, there is an in-house cloud storage server (OwnCloud), an NTP server for time synchronization and a source control server (Perforce) for any code I might write. On top of these I have several Windows 10 installations on the ESXi server for testing purposes. On top of this, the original Windows Server 2012 box lives on, with a small form-factor PC (an Intel NUC) running monitoring (PRTG) plus a few Windows based services/applications.

Over the last 4½ years I’ve probably spent about £1,500 on my lab. Do I regret that spending? In a word, no. It was worth every penny. I’ve learnt more than I ever expected I would ever learn, and I am still learning. My skill set has grown, and into areas I would never have had the opportunity to cover normally (or at least not in any detail), plus it’s all at my own pace.

My latest project? Remember the original N40L? It’s turning into my new NAS storage service (using FreeNAS)…

The most important thing I’ve learnt through all this is to invest in yourself and the rewards you reap will be all the sweeter. It all started for me with a server for £99 and a copy of downloaded CentOS…

Hello World!

When deciding on how to open this blog and what the first post should be, I didn’t have to think for very long – it could only really be one thing… “Hello World!”.

Working in the software development industry I’ve probably written “Hello World!” code in many languages, among them BASIC, Visual Basic, Java, C++ and even MS Access (VBA). Ironically, the language I use on a daily basis, PHP, is not one of them so I’d like to take this opportunity to correct that anomaly now:

<?php 
echo("Hello World!");
?>

And to officially open this blog, in the language of the web – HTML:

<h5>Hello World!</h5>

or:

Hello World!

Assorted ramblings