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.
If you regularly connect to multiple servers, using RDP or a similar protocol (VNC etc.), then you probably have a good memory of all the various IPs/Hostnames of the servers. Either that, or you keep them in a document and regularly copy/paste to connect.
Personally, I have to connect to 9 of my own servers along with 40+ servers at work on a daily basis. For home, I kept 9 separate RDP connections saved to my Desktop, cluttering it up with their icons. This worked for a while, but was cumbersome and inefficient. At work, we keep a spreadsheet of IPs for each server and over a period of time you begin memorising each.
So I started looking for a better solution, one that would store each of my required server connections in an orderly fashion, allowing me to connect to multiple servers at once from within a single interface. I soon came across Terminals, a secure, multi tab terminal services/remote desktop client. It stores the configuration in ASP.NET's .config file, an XML style format which allows you to easily take your saved list of connections with you to another install.
It's also very configurable with more options than the standard RDP client and also supports VNC, VMRC and many other protocols, allowing you to combine your server connection tools into one. And you can tag connections, allowing you to group them into logical categories - for me, per Active Directory domain/location.
If you meet the criteria, then give Terminals a go.
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.