Sometimes I wish that Microsoft were something tangible that I could grab hold of and slap 32 different ways from sideways as I watched it writhe in anguish begging for mercy. Why? Because it does that to me almost daily. And I am sure I am not alone.
Tonight my wife showed me that she had installed Opera 9.5 on her computer. I was very impressed with her technical savvy that she showed in doing this. So much so that I told her that Firefox has just come out with a new version and, since Firefox the previous has all but killed my wife’s computer, updating may be the order of the day so that she could use Firefox instead of Opera.
So I had her load up Firefox and attempt to update from within the application. And you know what? Two words: Epic. Fail.
Frick.
Firefox froze and took the entire system with it. Not wanting to watch Firefox think about dying on the spot, I decided to power down the computer and start afresh. Yes ladies and gentlemen, I killed the windows.
Apparently the registry was being written to/read from when Firefox decided to crap all over itself. And as such, shutting the computer down in the middle of that process freeze basically wiped out the registry. Thanks Microsoft for the awesome idea of the registry. I so love that.
So I got a blue screen of death (BSOD) on the boot. I tried logging in to the last known good configuration. Nothing. Safe mode? No dice. Safe mode with networking? Nada. Safe mode in any capacity? Pukage.
Now I will be the first to admit that Microsoft is the bane of all even semi-smart people’s existence. I hate them with a passion that is unrivaled in normal circumstances. But tonight… well, tonight I actually applaud them.
There knowledge base article actually worked almost to the letter the way they said it would. I had to guess a couple of times, but the guesses were logical and easy to make based on what I was seeing. In about an hour and half’s time I was able to get my wife’s computer back on its feet and ready to be (ab)used once again.
So tonight, for the briefest of moments, I thank you Microsoft for putting out a halfway decent article on getting a Windows XP machine back up and running after your stupid registry hive files go belly up at a time when they shouldn’t have. You actually earned your $32,000,000,000,000,000,000,000 USD tonight, in my book.
You would have thought that I would have learned from my recent migration from Windows to Linux that there are steps to follow when moving computers. Apparently I have a lot yet to learn about this subject.
As I sit here and think about the stress of moving from one PC to another at work, I am again plagued with all of the things that I need to take care of the ensure that when I start using my new machine that it will be able to perform for me the way my old machine did. Only better. Because, after all, it is a new machine.
I am wondering if I will actually ever get all of the stuff out of the old computer that I need to have. I know I can take care of the obvious. Those are easy. Things like browsers, editors, the AMP bits of the (L|W|M)AMP stack. The things that trouble me the most are things like IP addresses that are stored in communication utilities like Putty and WinSCP. Or things like passwords that I have saved in FileZilla or FireFTP. Those are things that I never look at beyond once and never think to write down because I have them where I need them.
So I am now looking through the things that are going to need to be set up in order for me to do my job. And as I look at these things I find myself thinking that it might be a good idea to offer this up for others as well. So here is my list of things that I needed to do in order to allow myself to work on my new machine.
Migration list when moving to a new computer
Apache web server:
Make sure when setting up a new Apache web server locally that you look closely at the modules that are currently included on your old setup.
Also make sure to copy your httpd.conf and any associated conf files that are included by the Apache configuration file, including all virtual hosts that you have setup.
Of special interest here is the hosts files that you may have edited to set up local virtual hosts. For good measure make a copy of your hosts file for migration to the new machine.
MySQL database server:
Make sure this is installed before installing PHP. After it is installed make sure to edit the my.cnf file so that it closely resembles or even matches the current machine’s database server config.
Install any MySQL client tools that you are using like MySQL Administrator, MySQL Query Browser, MySQL Workbench, Navicat and/or SQLYog.
Make sure you have a backup of any databases that you intend to use locally, including the information_schema and mysql databases.
Take note of any stored connection details for each client tool, including host names, user names, passwords, SSH tunnels, HTTP tunnels.
PHP:
Install PHP after your web server (duh!) and after your database server(s). I mention this because you will want the database server client libraries installed before installing PHP so PHP can hook into them as needed with as little headache as possible.
Make sure to also setup any and all PHP extensions that are currently setup on your “old” machine, taking note of packages that might now be in the PHP core that will not need to be included.
Take note of the fact that many packages (including MySQL/MySQLi and cURL) have to be handled in a bit of different way because of the use of client libraries. Specifically, on Windows, there are several DLL files that need to be copied into a system path folder to allow PHP to see the client library hooks.
Test each extension to make sure they are working as expected. Also use this time to test any local virtual hosts that are set up in the hosts file.
Transfer and Source Control:
Get your source code control apps set up. This includes Subversion, CVS and other source code control clients.
Checkout to your local environment any repositories that you will be working with.
Get all file transfer applications installed and configured, including FTP and SCP clients. These would be things like FileZilla, FireFTP, WinSCP (for Windows), etc.
Get any other communication tools setup, like SSH clients and Telnet clients.
Enter any stored connection details into these apps if you want to store them. It is important to copy these from the old machine in much the same way as you would copy the database server connection details.
Editors and IDEs:
This will range for each individual developer. The most important thing to remember here is to install the editors and IDEs that are most important to you.
If your editors or IDEs support projects, setup any necessary projects.
Graphics applications:
Install any graphics manipulation programs that you use. These would include Photoshop (or the CS package), Gimp, etc.
Install any video editing software.
Miscellaneous:
Install any other applications that you would expect to use.
Install/paste/migrate/import any files that you will need onto your new machine. These could be web files, image files, personal files… whatever.
Install any anti-virus applications that you will need.
Configure your machine to your liking. Yes, I did wait to the end for this. I did this because quite honestly how your machine feels to you is completely irrelevant to getting your environment into a usable state. I know this is debatable, but these are my instructions.
I hope these steps help you in some way. I am constantly remembering things in the two recent migrations I have done, so I may edit this list at some point in the future.
I do think it is a rather comprehensive list of things to consider when migrating computers. If I am missing something, please be sure to let me know.
Today I fell in love all over again. With Linux. Specifically Ubuntu 8.04.
I have been playing around with Ubuntu 8.04 for the last week and a half or so and I have totally fallen in love with software, operating systems and geekery again. Not only does Ubuntu just flat out work straight out of the box, it has made using my computer fun again. And productive.
Take installing my printer driver on my machine. A few years ago I bought a new HP Photosmart 2610 printer for an outrageously discounted price at a black Friday after Thanksgiving sale at Circuit City. I had gotten it home and installed the software for it on my computer (a Winblows 2000 computer at the time). It took about 30 minutes and two reboots (that’s right, you heard me) to get the software installed.
Once it was loaded it worked very well. It allowed me to print, fax, scan… the works. Right from my computer. Awesome.
When I got my new laptop about 2 years ago I installed the software for the printer on it. Once again, about 30 minutes and two reboots later I was able to use my printer. I followed this same process a few months later for my wife’s laptop.
Did I mention all of these computers I did this too were Winblows? The last two were XP machines, one XP Pro the other XP home. Thanks Microsoft.
Today I decided to “trudge” through getting my printer connected to my machine. I say “trudge” because I have always heard that installing printers on Linux is a lesson in futility and that, seeing as I am losing hair already, if I wanted to keep what little hair I had I would just not bother.
Was I ever stupid for listening to that mumbo jumbo.
Installing the HP Photosmart 2610 driver on Ubuntu 8.04
Once there I looked around and found that there is an unusual amount of support for many Linux distros form HP’s printer division. Since I quickly found my distro on the list I decided to use Add/Remove … from the Application menu to see if I could install my printer that way.
Did I mention I love Ubuntu? In 8.04 go to Applications -> Add/Remove … and in the search box enter HPLIP. You should get one result. Install the “HPLIP Toolbox” and once it is done, go to System -> Preferences -> HPLIP Toolbox.
If your system is like mine (vanilla to the core) you will have no printers installed to manage. I was asked by the Toolbox if I wanted to add a printer and I said I did by clicking the “Add device” button.
I was asked how my device was connected to my machine and I chose “Network” since that is how my printer is connected.
About 1 second later I was told my printer had been found and did I want to install that printer. I said yes and within about 1 second I was asked which driver I wanted to install. Since there was only one I chose it.
Within about 1 second my driver was installed.I was asked to set up some information for the printer (like the name, location and such as well as the fax number and fax name). I chose the defaults (because they were what I would have entered anyway) and let the setup work.
About five seconds later I was able to test print. No reboot. No 30 minute installs. Just printing. Fast.
Did I mention I love Ubuntu?
Anyhow, I hope this can help someone else who may have believed that setting up printers on Ubuntu was hard. This was painfully easy and now I am printing away like a printing machine.
Well, not really. My printer is doing that. But I am telling it to. And it is all because of Ubuntu.
The other day I got the bright idea to sign up for Skype. After all, I am a geek by trade and almost all geeks have a Skype account. Not wanting to feel left out I jumped on the bandwagon.
So I went to Staples and bought a Skype optimized headset from Logitech. It didn’t really work (the mic was way to short for my fat face) so I returned it and went to Best Buy where everyone knows the best electronics and computer equipment is sold.
While there a headset from Microsoft caught my attention. It was the LifeChat LX 3000 and it looked pretty appealing.
Now before you call me a hypocrite know that the reason I chose Microsoft is that M$ has a way of making things that work with their own OS really well. I thought that since they made the headset it should work really well.
It did.
But not how I would have wanted it to.
See I installed Windows Live Messenger (because you have to install that before you install the software that drives the headset) then installed the headset driver software. Then I connected the headset. And turned on the sound.
The sound played. Through the speakers on my laptop. I did what the instructions in the headset manual said to do. But the sound still came from my computer rather than through my headset.
So I called M$ tech support and after about 30 minutes of trying to talk with a guy named Winston (Yeah right, his real was Sunil) I found out that the headset is designed in such a way as to become your default speakers. Yes, you heard that right. Microsoft expects you to use this headset as your default sound output handler. WTF?
After Sunil, er, Winston, remoted into my laptop and reset a bunch of settings to get the headset to play the sound, I told him I was going to remove the headset from the computer so I could listen to music from my computer. He told me I couldn’t do that without undoing all of the changes he just made. I told him I didn’t want to have to use the headset all the time but only when I wanted to make phone calls. He told me that was fine. As long as I changed my settings every time I connected the headset to my computer.
Thanks Microsoft.
Yes, the headset went straight back to Best Buy where I promptly traded them for a Plantronics headset. Which works as expected.