I've written in the past about the steps I take to perform a clean install and listed the software I use on a daily basis. Today I'll walk you through my software for 2011 - the applications that I find indispensible as a Web Developer for the Windows stack. Alas, I won't be going into as much detail as Scott Hanselman, more of a summary to look back on in a year or two and compare any changes.
Please note: these are listed in alphabetical order and for each application, assume I use the latest version (unless otherwise stated):
- 7-Zip - free app for handling archives, including rar and iso
- Adobe Reader - essential for handling all the pdf files that you come across (specifications, ebooks etc.)
- CCleaner - I generally avoid software that claims to clean up your PC, but this actually works and ensures your system remains as quick as day 1
- Combined Community Codec Pack - ensure you have all the codecs you'll ever need and opt for Media Player Home Cinema whilst installing
- CutePDF Writer - installs as an additional printer, allowing you to print virtually anything to a PDF file
- Dropbox - access your files anywhere and everywhere, there's even an iPhone app available
- Fiddler2 - essential for analysing HTTP traffic
- FileZilla - both the client and server are great for setting up FTP connectivity
- Google Chrome - the fastest web browser in the world, my personal favourite
- Google Toolbar for Internet Explorer - not essential, but I use it for getting access to my Google Bookmarks
- IIS Search Engine Optimization Toolkit - this tool gives you more information than many paid SEO companies would be able to, a great starting point for SEO on your site(s)
- IIS URL Rewrite Module - SlickCMS uses this for rewriting URLs on IIS7 and it also works well with WordPress/PHP installs
- ImgBurn - a useful piece of software for burning CDs and DVDs, giving you more control than the Windows offering
- iTunes - there's so much I dislike about iTunes, but I've been using it since 2004; it needs a complete overhaul to improve performance but is essential for us iPhone/iPod/i[something] users
- Last.fm - a handy scrobbler that not only monitors what you listen to via iTunes, but also gives you access to your library for listening as a desktop app, as I find the web GUI to be sluggish at times
- Microsoft .NET Framework - a given considering my career, but even for general Windows users, it's often a requirement
- Microsoft Office 2010 - 2003 was a huge improvement over 2000/XP, 2007 was a new start and 2010 is building upon its success
- Microsoft Security Essentials - I've used Norton, AVG and Avast (amongst others) for consumer anti virus protection, but Microsoft's own is the best to date, with an unobtrusive attitude
- Microsoft SQL Server 2008 R2 - again, kinda essential as a Windows Web Developer; there's also a free version!
- Microsoft Visual Studio 2010 - I find it a good improvement over 2008 and love the dual monitor features
- Mozilla Firefox - my previous browser of choice (until Chrome came along), but lately I've found it to be slow and sometimes unresponsive, however the plugins make it a worthwhile addition
- Notepad++ - for opening and authoring single code files, this is essential
- Opera - if you're developing for the web, ensure you have all the major browsers to hand
- Paint.NET - at work, the designers get Photoshop, us developers get Microsoft Paint: so I go one better and opt for this free app to edit pictures
- Picasa - great for organising and viewing your photos, I especially like the lightbox style preview
- Safari - like Opera, essential for browser testing, otherwise I wouldn't worry (Chrome is where it's at)
- Skype - I use it for the instant messaging and VOIP features, but it offers so much more
- Spotify - think of it as free music, but legal
- Terminals - I've written a whole post on Terminals in the past, it warrants that much attention
- TortoiseSVN - for integrating with an SVN server, this is a must; look to Visual SVN Server for the server side of things
- TreeSize Free - Rackspace, Dedipower and I use this for scanning directories to locate that elusive log file that's bloating by the minute
- WinMerge - alongside TortoiseSVN, I find this invaluable when committing work back to the repository
- XML Notepad 2007 - for viewing XML files, this works well; but I find larger XML files can cause lockups due to the nature of the format
Found something in the list you hadn't heard of, or that you're already using? Let me know what you think and if you have anything additional to recommend.
Today, a Footer is essential to a website. It shows the user that they’ve reach the end of the page and provides them with some additional information/links. Without a Footer, many users may wonder if the page has fully loaded within their browser.
Recent trends in Web Design have expanded on the traditional Footer, which contain a handful of links and perhaps a Copyright notice. These new Footer designs stand out from the norm and can provide a dramatic ending to a user’s scrolling experience.
Although I’m a Web Developer by day, I do have a keen eye for good design on the Web. So the following is a selection of my favourite website Footers.
Firstly, starting with what I consider a bad footer:
In general, Wiggle’s site comes across as cluttered and takes a while for the user to digest and find what they’re looking for. It’s also full-width, so on a larger resolution monitor can appear to have too much whitespace. Admittedly, the Footer does have some valid information, but could be laid out better.
So what makes a good footer?
Apple’s site is clean and crisp throughout, though their Footer is very simple and allows the main content to take centre stage. However, interestingly it contains a breadcrumb of the user’s path to the current page.
The BBC’s recent redesign impressed me, especially the Footer – which provides useful links for the user and uses a neutral colour palette, so that it doesn’t clash with the various pages throughout the site.
PelFusion’s Footer is split into 3 columns with links to Comments; Categories and Archives – distinct Blog features. I’m interested to see how this will look in a year or two – whether or not the extra Archives will spoil the look, or if the owner decides to only display the most recent ones.
Perishable Press has an almost sepia tone to the page, with the Footer echoing this. What inspired me most about this was the 3 sets of images that fit together well and the rollover states display more colourful versions, yet the 3 sets differ in dimensions and location.
Waterstones’ Footer is perhaps the only one here containing an actual photo, rather than the more common illustrated picture. It fits well with the nature of the site, displaying a selection of books on a Web 2.0 style glossy shelf. Below are 2 columns of links, each divided into 2 (totalling 4).
Yodaa’s Footer fits well with the rest of the site, which changes as you scroll down the page – from a blue sky in the header through to the dark earthy feel of the Footer. It contains a contact form that has been designed to fit the illustrated feel of the page very well.
I had to include my own site for reference, purely because at the time of designing it, I believed it reflected the current trend of Footers on the web. I spent a few days researching Footers that I liked the look and feel of – and opted to attempt a cartoony style, with all of the links as pictures rather than text. It’s starting to show its age and in some respects looks fairly plain compared to others on this list in a similar style.
That’s my list of 30 great website footers. Please be aware that these are my personal favourites and have made such an impact that I’ve bookmarked them whilst browsing the Web over the past few months. I can’t pick a favourite of the bunch, but looking through the list there does appear to be a trend in website Footers that I prefer:
- Multiple-columns – 3 and 4 are the more popular choice
- Jammed full of useful links
- Fit well with the rest of the theme
- Big and almost overpowering
And overall, they all provide that important factor – letting the user know they’ve reached the end of the page and providing them with a few more options in the hope of keeping them on the site.
When designing my next version of slickhouse and indeed, any future sites – I’ll be taking these into account, allowing them to influence my design decisions. If you’d like to read more on website Footers, the following Articles are worth a look:
- Themeflash – 50 excellent footer design inspiration
- Smashing Magazine – footers in modern web design
- Six Revisions – 25 stylish website footer designs
- Vandelay Design – blog footers
Let me know if you’ve come across any additional Footers that have inspired you and if you agree with the above choices, or not.
Inspired by the site over at usethis.com, the following is a brief interview between me and, well, me.
Web Developer, Techie
Who are you and what do you do?
I'm Matt, Husband to Anneka and Daddy to Lily (18 months) and Mia (15 weeks to go). By day I'm a Web Developer for IOCEA.com Ltd, the creators of Cshop and by night I develop my own sites and tinker with my servers.
My personal project, SlickCMS is nearing completion for a public release, over a year after embarking on it. I'm still contemplating going Open Source with it, or simply making it freely available.
When I'm not developing for work or my own kicks, I try to improve my measly XBOX 360 Gamer Score; Fallout 3 is proving to be engaging.
What hardware do you use?
At work, a Dell Optiplex 320 with 2GB RAM and an Intel Pentium D. It has lasted me nearly 3 years of development without any problems. It has 2 Sony 17" LCDs connected to it, with a Microsoft Laser Mouse 6000 - an older gaming mouse I found to be perfect for me, a lefty.
At home, a Sony VAIO, again with 2GB RAM and an Intel Pentium (M). It runs Windows 7 fine and my only complaint is the loud fan.
I also run several servers in the loft, including a mini-itx Firewall and an AMD Athlon X2 with 6GB RAM as a Virtual Host.
And what software?
My work desktop and laptop run pretty much the same set of software, with the former using Vista and the latter Windows 7. Visual Studio 2008; Microsoft SQL Server 2008; Office 2007; Notepad++ and 7Zip amongst others.
Browser wise, it's Internet Explorer 8 at work, with Google Chrome at home. I prefer the minimalist approach of Chrome for browsing websites and the Web Developer toolbar of IE8 for development purposes.
The Firewall uses Smoothwall and the Virtual Host uses Microsoft Virtual Server 2005, with the VMs a mix of Server 2003/2008.
Lastly, I am a fan of Star Wars, so my Servers are named after planets: Bespin for the Host; Talus, Hoth and Corellia (amongst others) for the VMs and Tatooine for the NAS.
What would be your dream setup?
At work, a 30" Dell monitor, with the Sonys either side would work well - all powered by a Intel Xenon workstation.
Laptop wise, a bleeding-edge Lenovo, Sony or Dell would be good. Maybe a high-end netbook or lightweight laptop for browsing the Internet when not developing too.
My servers could do with an upgrade and consolidation - there's no need to run all 4 of them 24/7, when just the one with a bunch of Virtuals would suffice.
I used to roll with a desktop at home, for PC Gaming and occasional developing - but have since found a laptop to be ideal for sitting on the sofa whilst coding.
Recently, I've been asked to perform a clean install on friend's laptop/desktop PCs. I reckon over the past few years I've installed an operating system over 100 times, of all different flavours. Off the top of my head, I've sat waiting for the following to complete:
- Windows 98se
- Windows 2000
- Windows XP
- Windows Server 2003
- Windows Vista
- Windows Server 2008
- Windows 7
- Various Linux Distros (mainly ubuntu)
- Copy all relevant files to another drive (network/external)
- Format the hard drive
- Pop-in the O/S CD/DVD and follow the instructions
- Install the latest drivers (usually in a specific order)
- Install updates
- Install software required
Step 2 is fairly straight forward and can be combined with 3 - as many Operating System installations allow you to format the drive(s) during the process. If you feel it's necessary, run a format utility on the drive to wipe them prior to installation - DBAN is good for this. The installation process can vary from 15 minutes or so, all the way up to a couple of hours. Microsoft seem to be doing better these days, as I've found the installation times with Vista and Windows 7 are far quicker than those of XP and older versions.
A restart is essential after installation. You may need to change the boot sequence within the BIOS on older hardware, to ensure it doesn't perform the whole process over again.
Once you're into your Operating System of choice, it's then a case of ascertaining which Drivers are needed. Usually, the more recent the Operating System, the less drivers you'll need to install - this is due to the vendors packaging many popular Drivers with the O/S.
You have 2 options whilst installing the Drivers - either restart in-between each install, or skip the restarts and wait until all are installed. The former is preferred, as it ensures each Driver is installed correctly and loaded prior to moving onto the next. It also allows you to resolve conflicts quicker if required.
Then you can move onto the updates. Linux/Mac fans would argue that they can get by without updates, but Microsoft users are veteran update installers. Choose wisely, opt for all critical and security updates, then trawl through the optional ones and ascertain whether or not you'd need them. I recommend Microsoft's Update website over the built-in Automatic Updates for pre-Vista O/S's, as it includes all Microsoft Updates, not just those specific to the O/S.
Step 8 is specific to your requirements, but if you've restored a PC to factory settings - now is the time to remove the excess crap that many Manufacturers install. Then add any additional software that you need. My current suite includes:
- Adobe Reader
- Combined Community Codec Pack
- Google Chrome
- Helicon ISAPI Rewrite Lite
- Expression Web 2
- Office 2007
- SQL Server 2008
- Tortoise SVN
- Visual Studio 2008
- XML Notepad
Then move onto step 9, which for me involves running msconfig and removing startup programs not needed. Then look at all of the services and disable any unnecessary ones. Finally, tailor the settings to your needs, such as Folder Options within Control Panel and the Taskbar/Start Menu settings.
Finally, give the PC a Defrag. Afterall, it's just had a kicking in the hard drive department. Then it's a case of testing everything works as you'd expect and start using the machine.
Let me know if you do anything different and any interesting stories of your clean install encounters.
Last night I realised some of the DNS servers I use for my domains weren't responding to requests. I initially thought it was my webserver, but Google Chrome kept saying "resolving host" and a quick nslookup revealed that the nameservers weren't replying.
My DNS is hosted with ZoneEdit, who hand out different nameservers per account. DNS should be the most reliable service in your chain - but for me it was failing. So I decided to switch providers for the domains that were affected to EveryDNS.
They're a free service, allowing you to setup your DNS for up to 20 domains per account. This is 4 times as many as ZoneEdit allow! The site itself is also a lot more responsive and fairly easy to use. The only thing which put me off is that you have to use their client to update your Dynamic DNS entries. They do provide the full source code for the Windows client though, which I downloaded and promptly started trawling through.
Their client is efficient, small and worked on my Server 2008 webserver - so I didn't have a reason to rewrite it. However, it requires use of command-line parameters to update. This is fine for those who have their webserver connected directly to the internet - i.e. the webserver has the external dynamic IP address, as assigned by the ISP. But in most cases, the webserver is behind a firewall and uses an internal IP (such as 192.168.1.x).
So, I needed a way of retrieving the current external IP, as it changes periodically - hence being known as Dynamic. An ipconfig results in the internal IP, but visiting WhatIsMyIP.com yields the external IP. Screen-scraping the page would allow you to get your IP - or you can use the specific page which just displays your IP.
Then once the external IP is retrieved, you can call the official EveryDNS client - passing in the IP as a parameter. Lastly, this whole process needs automating and executing at regular intervals, to ensure your DNS records are updated to reflect your Dynamic IP address.
I decided to write a small application in VB.NET to accomplish this:
- Retrieve the External IP address from What Is My IP
- Build up the parameters for the official client
- Call the official client passing in the parameters
- Log a success/failure
- URL - the URL to WhatIsMyIP to retrieve the IP Address
- LogFile - the path to the log file
- LogToFile - true/false depending on if you want a log file to be produced
- username - your EveryDNS account username
- password - your EveryDNS account password
- domains - a comma-separated list of each domain you want to update
- Executable - the path to the Official EveryDNS client
example.com,example.co.ukThen it would call the client for example.com, wait for a response and then call it again for example.co.uk - allowing you to update all of your DNS records at EveryDNS in one go.
This application can then be scheduled to run at regular intervals. I chose once an hour, every hour to ensure I'm not hitting the sites too hard - but that IP changes would be dealt with fairly quickly.
Hopefully there are others in the same situation as me, that want to use the EveryDNS client with their external IP address. Let me know if you end up using the client and what you think - perhaps you have improvements you'd make?