I've not written a blog post in many months now. This isn't because I've tired of the pastime, but more that I've not dedicated the time to it recently.
Don't fear, I have plans.
Posted: Wednesday 11th July 2012, 17:45pm
Let me start by apologising for the lack of a blog post since October 2010. This blog is over 5 years old and I tried to ensure that each month I wrote at least one post, not to keep people coming back for more, but due to my OCD tendancies I like to see a chronological list of monthly archives in the sidebar!
I had planned to go through all of the 437+ posts as a spring cleaning exercise, to ensure that the quality of remaining posts was high. Afterall, there are some on here that were written either whilst intoxicated with alcohol, or during the proceeding hangovers. But, I have come to realise that the web is a network of pages that document our current history. Deleting/archiving older content will only lead to a fragmented weblog, with a chance of broken inbound links. So, for now at least, the content on here won't change - it'll just be added to.
Although we're already 2 months into 2011, I haven't yet reflected on my New Years resolutions set for 2010. So here goes:
- Lose some weight - I didn't set a target for 2010, but we have started swimming with Lily and Mia on a Sunday morning now.
- Release SlickCMS - SlickCMS is live as a project and several sites are using the Classic ASP version.
- Build up plenty of savings - I've failed at this, but have conquered budgeting and keeping track of our monthly finances.
- Complete an XBOX 360 game - another failure, as I've barely switched the 360 on for gaming.
- Release a new web project - slck.it is live and is my first experiment at a free public service sort of site.
- Tweet more - I have been checking twitter daily, but tweeting less often myself.
- Design refresh for Slickhouse - alongside the move to SlickCMS, a design refresh was made - but I'm not 100% happy with it.
- Blog more - as I've already mentioned, my blogging disappeared by the end of 2010.
- Take more holiday - completed, in fact I took too much!
- Increase reader base - this is still something I need to work on.
I should write another 10 for this year, but I've decided to narrow it down to focus the year ahead (well 10 months):
As a personal web project, SlickCMS has proved to be very useful - in that all sites I've created in the past couple of years have used it to some degree as the foundation. For 2011, the Classic ASP version will be fully completed and the .NET version shall become the main focus. As with the switch from WordPress to SlickCMS in 2010, I hope to switch Slickhouse.com to SlickCMS.NET combined with another design refresh. Also, as the project is open source, other contributors are more than welcome.
Content creation and Marketing
Through a combination of Twitter, Facebook, other blogs/sites and possibly advertising, I hope to expand the number of visitors to each of the sites. I've realised that as a web user, I'm currently more of a consumer than producer of web content. So as I've said countless times before, I hope to blog more too - writing some longer, more meaningful articles too - we'll see how that goes! Also, Slickhouse.com itself will see a slight re-focus.
I've not yet thought of the killer app to make my millions from, but it'll come to me as I continue to keep this site alive in 2011!
For the past few years (longer than I can remember) I've been running Microsoft's Virtual Server 2005 R2, an application that installs on their Server operating systems, to allow you to host multiple Virtual Machines on the one Physical Server. So for Slickhouse, the mail; web; database; and domain controller servers are all located on the one physical box.
However, Virtual Server 2005 does have its drawbacks - it's not a pure Virtualisation platform, as it installs on top of an operating system layer. It also doesn't perform as well as other solutions on the market - namely VMWare. Microsoft released Hyper-V as an add-on to Server 2008 and as a free standalone hypervisor - Hyper-V Server 2008 R2. The compatability with Virtual Server is there, but it is a better competitor to VMWare's ESX platform.
Hyper-V does have a few advantages compared to VMWare's ESX/ESXi platform, which I was also looking into. Firstly, the hardware requirements are a lot less strict and you'll find that Hyper-V runs on many modern 64-bit servers that Server 2008 successfully installs on. There are specific CPU requirements, but most AMD/Intel CPUs on the market now support Virtualisation at a hardware level. Secondly, it fits into an existing Microsoft network very well and supports migration from Virtual Server 2005.
I chose to upgrade my main server to Hyper-V at the same time as consolodating the storage for the network. Previously, I had the virtual servers housed on one box, with 4 x 250GB drives in a RAID array within another, acting as a NAS. As with most computer technology, the price of storage has decreased as the capacity has increased over the years. Whereas back in 2005 the 250GB drives cost ~£50 each (~£200 per TB), in 2010 I've purchased a 2TB drive for ~£100 (~£50 per TB), so it made sense to drop the NAS for 24/7 use and put the 2TB drive on the server housing the virtual machines.
I opted for another Samsung Spinpoint HDD, as I've had 9 running smoothly for a few years now, so it made sense to add a tenth. Their 2TB F3 Eco Green drive runs at a slower 5400rpm speed, but I'd say it performs as well as the older generation 250GB SATA Spinpoints, running at 7200rpm. A copy of around 630GB of data (various file sizes) took hours rather than days over a gigabit connection from the original NAS.
The 2TB drive itself is purely for holding all of the data served via the NAS. I was originally intending to connect it to the host and setup shares on it, but Hyper-V Server 2008 R2 only offers Hyper-V, no other Windows Server Services (hence the free price). Server Fault's community suggested that I setup a VM as a NAS and that I wouldn't notice any performance hits.
As for Hyper-V, the installation is very straight forward - much the same as their Server 2008/Vista/Windows 7 installation process, with all the prompts located at the start, rather than strewn throughout during previous Windows installations. Once the install is complete, you can configure the server using the command line interface once the server completes a reboot. This screen remains the same throughout use of Hyper-V Server 2008 R2 with the actual management occuring on a client machine via the Hyper-V Management snap-in.
In usual setups, managing Hyper-V should be fairly straight forward. Install the Remote Administration Tools for Windows 7, then connect to the Hyper-V Server and away you go. However, as all my main servers are now virtualised, including the domain controller - I could only run the Hyper-V Server in Workgroup mode, not as part of the Active Directory domain. As my Windows 7 machines are part of the domain, it meant that I spent 3 evenings back-to-back pulling my hair out to try and get it all working. Virtual PC Guy has a great tool, HVRemote that cuts out many of the headaches involved with the initial setup. I finally managed to successfully connect to the host after plugging in the 2nd NIC, which picked up a dynamic IP via DHCP - so it appears to have been a DNS/routing issue.
Once Hyper-V Server 2008 R2 has been installed and configured, it's a case of either migrating VMs across, or building new ones. Migrating from Virtual Server 2005 proved to be a fairly easy procedure with Server 2003 VMs - uninstall the Virtual Server additions and shutdown the VM before copying the VHD across to the Hyper-V host and creating a new machine (using the copied VHD). When it came to migrating my Server 2008 Web Server across though, things were a little different. The Integration Services wouldn't fully install and a quick check of Device Manager warned me that the Virtual Machine Bus could not find enough resources. As with 99% of IT related problems though, Google netted me a solution.
Once all the virtual machines had been migrated across, full network connectivity and services were restored. Performance appears to have improved from the upgrade: VMs are a lot more responsive after booting or logging on; the sites also appear to load much quicker and SQL Server queries are instant - though I don't have raw figures to back up my claims, but if you have a Virtual Server host, Hyper-V is definately worth looking into, especially if your existing server supports it.
In the Web 2.0 era of the Internet, there's a lot more social interaction and exchanging of information. Sites like Facebook and Twitter allow users to interact with each other and share links to the rest of the Web.
However, there's a common problem that's been solved by several services. Take the following Url as an example:
It's ideal for SEO purposes - search engines will index it well, as it's keyword rich. It's also very readable to us Humans, but can prove to be hard to remember or exchange with others, particularly with Twitter's 140 character limit.
Then there's Urls such as the following:
Not only is it awkward for search engines to crawl, as it contains no useful information - it's merely Amazon specific codes. But, it's also completely useless for us to read and share to others. Sure, you can highlight the string, then copy/paste it - or click it if it's a clickable anchor link. But what if you're on the phone to a friend and suggesting they look at this great product you've found? Do you start reading out forward-slash g-p forward-slash product forward-slash 0, 4, 7...?
Obviously, the first Url is the preferred SEO/Human friendly option, but it's not ideal. So sites like bit.ly and tinyurl.com have cropped up over the past few years to overcome this and provide users with short, easy to remember, easy to use Urls.
Take the first example, in it's bit.ly format: http://bit.ly/9EJLFT
Now take the second: http://bit.ly/a411nG
Regardless of where the Url actually takes you, the bit.ly version is perfect for exchanging over the 'net. That phone call is not only shorter (saving you money) but also isn't prone to misspellings, resulting in a 404. Twitter will thank you for providing it with a short Url and will let you type a further 120 characters. Your memory might actually be able to remember that short 6 character key if needed and you'd easily be able to write it down quickly if required.
Behold: slck.it, a url shortener. Simply paste your long, ugly, unfriendly Url into the box and click the button slck.it - my previous examples then become: http://slck.it/m6ITl8 - What are your favorite open source tools? and http://slck.it/l52Skw - Professional IIS 7 (Programmer to Programmer): Amazon.co.uk: Kenneth Schaefer, Jeff Cochran, Scott Forsyth, Rob Baugh, Mike Everest, Dennis Glendenning: Books
In much the same way bit.ly et al work, slck.it takes your long Url and shortens it into a memorable and succint version. Each time someone clicks on your shorter version, they are 301 redirected to the original. Simple.
I'll be using slck.it myself from now on, to shorten my Urls as I contribute on the Internet - feel free to do the same!
Oh, and if you were wondering, the domain slck.it is a hack of slick in slickhouse using an Italian extension. Slck.it itself is also going to be released in the near future for others to roll their own - and it's my first ASP.NET 4.0 application, built in Visual Studio 2010.
Slickhouse has been live for almost a week now and I'm yet to receive a spam comment. In comparison, each time I logged into the WordPress Admin on v8 of the site, I was greeted with over 200 spam comments to moderate, that Askimet had trapped.
So it seems that OpenCAPTCHA is working as intended and preventing spammers from submitting comments.
When selecting a Captcha provider for SlickCMS, I had several criteria including:
- Easy to implement
- Easy to use
OpenCAPTCHA was the only one I came across that met all my requirements. Although no formal sample code is provided in ASP (SlickCMS' language of choice), the PHP code was easy enough to grasp and develop the same.
So, if you're looking for a spam prevention tool for your next web project, consider OpenCAPTCHA.