Upgrading always feels so good
A few months ago, I spent some of the money from my first gig to upgrade the RAM on my laptop. It had 8 gigs, but if I wanted to use this as my main development machine, I needed more in order to do what I do. So I doubled it and maxed it out at 16gb. That was the first step in upgrading.
Then a few weeks ago I was picking up a couple things out at Microcenter and decided that I should look at SSD drives to see what they had. There was a deal for a refurbished 480gb for something $230 dollars. Of course, that was with a $30 rebate I didn't get in in time, but whatever. It was still a size and price I could afford, so I went for it. I've wanted one for awhile and just haven't had the time.
Finally got it installed yesterday, along with a copy of Linux Mint 16. Fixed my wireless card at the same time.
All I can say is wow. This is by far the fastest computer I've ever used. The way that computers always look in the movies when the hacker's down to the wire and everything's at lightning speed?
Yeah, it's kind of like that.
Keep reading for the full geeky details.
Because things have been pretty hectic and busy, I didn't want down time, and first tried to install it from a live disk so I could watch movies and whatever while it was going. Learned that the way I should have done it was to put the new drive in, then install while accessing the old files via usb enclosure when suddenly I couldn't boot. Grub is a wonderful thing. What happened is that the designation of the drive wasn't valid once it was rebooted. That killed any plan of installing it slowly and testing, it was going to be a full on blank slate.
That meant not really being able to do it right then. So I waited. When I finally got time yesterday to work on hardware, I opened it up and noticed that my wireless card was not actually fully connected. It was resting on the connector, but not clicked on. Surprise, surprise, I've been having issues with the wireless card ever since I installed the upgraded RAM. It would intermittently drop, then not reconnect. But sometimes it worked just fine. I didn't connect the two because I don't use the wireless much at home. It was a few weeks later that I even knew there was an issue, and I attributed that to a system update or something similar.
Getting that fixed was so nice. And having this SSD drive means that I have a lot less to worry about when travelling with the machine. Bicycles can be a bit hard on electronics.
Installing the New OS
The first thing that struck me was how much faster things installed. Linux doesn't take long to install anyway, but it was about 15 minutes. Booting was almost immediate. The longest part were the pauses that I'd put in to make sure I could enter the bios. I'm sure it could be much quicker. Well, like 8 seconds quicker. So maybe 2?
The other thing that struck me was how nice Petra feels. I liked Mint a lot when I switched from Ubuntu, but it it never did feel smooth to me. Maybe it's the faster hard drive, but things overall just function a lot better. It's not something that I can really put a finger on, but a lot of little things that annoyed me are just gone.
Part of that is going through and starting over from scratch. I had my touchpad settings saying to disable when typing. But it never worked. When I was adjusting that bit this time, I realized that I could enable two finger scrolling. Now when I type, I don't have to worry about scrolling the window accidentally. Or worse yet, clicking on a tab, starting to type, and then scrolling through all the open tabs because the mouse was still over it. That's not really their upgrade, but it does change how I feel when I use it.
Now that I've been through and fixed every hardware issue that came up when I first made the switch to this OS, putting the proper patches in was not an issue. Though I probably need to do a better job of keeping bookmarks of the scripts. I also knew exactly what stuff I needed to install and where to get it for all of the software that I use. I knew how to move all my mysql files physically instead of with dumps and imports, preserving all the users and permissions. Stuff like that makes this a lot smoother.
Partway through, I was like "You know, I should really just make a shell script for this."
And then I was like, "Jeremy, you are becoming far too much of a geek."
Software, Preferences and Configurations
Getting the software installed, configured and updated was really fast this time, too. I used the meld visual diff tool to compare a lot of the directories I needed to change. I would run it as root from the command line for system files, and then did a directory comparison on my home folder. That showed me a lot of little configs that I didn't know about in the overall system. Plus, I saw config directories for things that I did not have installed yet. That helped with knowing what it was that I still needed. Even the ssh keys copied with just a modification of user@computer. Didn't need to change my saved servers, even github worked perfectly.
Compared to 2-3 years ago, some stuff was just insanely easy. Like installing LAMP? That took a lot of time back then. Now it's a single command. I had to add a couple things, but still... Java? Hey, there's a ppa for that and you don't have to compile and configure it by hand anymore!
Actually, on the Java side of things, configuring Netbeans 7.4 was a lot different than I remember. So many more options that I hadn't seen, and a lot of new plugins that were php specific. I have the feeling that I'm going to be speeding up a lot of my development there.
I did run into one thing that really killed me on the apache installation. I was getting permission denied errors. As far as I could tell the users and permissions were OK, so I really didn't get it.
Turns out, not only does apache need execute permissions for searching or something crazy like that, there's also a difference between 2.4 and 2.2 for syntax and defaults. Now it's default to deny all connections unless you explicitly put it in the .conf file for that site. The options are also different. That took awhile to track down. It's one of the risks of newer systems, your old stuff can break. At least I was able to change the overall apache config which covered all of my 2.2 sites.
You can read more on the apache site.
This was the main thing that took time. A lot of time that looked like this:
Well, on that screen. I was surfing the net on the other. And a lot of times this was covered with a video. But you get the idea. I ended up just leaving it running. I had messed up a couple times, and for some reason ended up having to rsync one of them between drives to get it to work properly. I think that was so I could exclude multiple directories from the cp function.
Once everything was copied, it was time to figure out what was needed. With everything that I would normally have transferred, I only had about 150 gigs free on the new drive. That's nowhere near enough to make a long term machine. I ended up cleaning up some of the stuff in the home directory's Download folder, a VirtualBox VM, and then most of the sites that I had from my last position and some freelance stuff that I no longer work on. After that, I was up to 290 gigs free. That's a way better place to start out with a fresh OS.
I was even thorough enough to find out what torrents I still needed to seed, and then pointing it to the old drive. So now even that is functioning perfectly smooth!
It seems like the laptop is about as pimped as it will get. There's not a lot else that can be upgraded. In fact, not anything that I can think of.
My desktop had kind of stopped working a month ago, too. It had been running headless in the corner for quite awhile, and I noticed it didn't respond to ssh or vnc, so I tried a reboot, and it did *nothing* but spin the fan. I fixed that, too. Well, sort of. I pulled a lot of cables and rebooted a lot of times, and found that I could boot from the Ubuntu 10.4 partition that I never overwrote. However, I could not boot into my normal operating system. So, I put mint 16 on there overwriting the ubuntu drive (pretty sure I had everything off of that) and then got everything up and running.
I didn't have time to update that one and import/cleanup everything. It has 4tb of space, so it would be a good thing to set up as a home 'cloudish' server. I might be able to get my web root to point there, actually, at least locally. That's where my downloads will be saving, at least. And backups.
There's a program called Synergy that lets you share keyboard and mouse between many different computers of any operating system. So I'm going to get a video switch to allow me to swap my large monitor between the desktop and the second monitor for the laptop. That should give a lot of extra functionality. I also have My ancient laptop that's not even worth selling but still works. I could set that off on the right hand side and use it for just watching videos and IRC since those always get in the way when I keep them pinned.
The next hardware upgrade is a quality router. Then I can assign my static IP to that, and do DNS routing so I can make that cloud available anywhere. Allow a client's IP to access a url like client.site.url.local that maps to my laptop so they can preview / test something in a totally secure way. My computer and connection are probably actually fast enough for that now. I'll have to test, but I'm pretty sure it would work fine. And actually, since it's for them, I could put that on the desktop. Like, a staging server even!
Yeah, feels like some of this stuff is starting to come together. A little.