Archive for April, 2008

Upgrading

Wednesday, April 30th, 2008

Did you ever though about how can you spot a real IT guy looking at his computer? Sure installed JVM is a good indicator but there is another way. Just look at software versions. Guys like us always upgrading just for the sake of it. It is easy, fast, brings you new features and eliminates old bugs.

Except sometimes it brings new bugs and breaks features you liked. Every one of us I’m sure has a couple of disaster upgrade stories. Every now and then it happens. Just a month ago I upgraded to a beta version of Ubuntu and my system suddenly lost sound. I mean common, it was like three weeks before release, software should be stable as hell at this moment. But it didn’t I my system stayed noiseless for a couple of weeks when eventually bugs got fixed. It wasn’t pleasant experience especially since I didn’t have any way to fix it myself, you couldn’t just downgrade a piece of software and reinstalling OS is too much pain.

But here you go, it happens. Some guys decide not to upgrade at all and therefore not to have any upgrading issues, leaving the system as stable as possible. And while I think it makes sense for some systems like a Nuclear Power Station computers we as developers shouldn’t follow it. We should run the latest more or less stable build of any software we use.

Here is why - we write systems as well. We’re not afraid of bugs, we’re use to them. Stability is a good option but it is not that important in our world. I’m sure any of you accustomed to save the document you’re working on every second or so. And the most important thing is - we could test software we’re building in most recent environment. That is just essential. You couldn’t develop a web application now without testing it on Firefox 3 and IE8, because that’s where your application is going to work very soon. You can’t just skip testing any Windows application on WinXP with SP3 and Vista with SP1. You can run tests within virtual machines while leaving your system clean and stable but it just not the same, you wouldn’t find as much that minor issues and incompatibilities as you could find living with the system all day long and developing on it.

Don’t get me wrong, you have to understand what you’re doing before upgrading. Just read release notes, google for a while to find out how stable the new system is. But when it exceeding some threshold of stability and you can actually live with it - go ahead and install it. It’ll help you fix any new system related issues now and not when the new system hits the market and your product suddenly stops working. On the other hand it’ll test your product in unstable environment, which is always a good thing to do.

So upgrade. To beta and maybe even alpha versions. Just be aware of the possible problems and make a backup, just in case.

SSD disks

Wednesday, April 23rd, 2008

Every developer has to be geek inside. It is just natural and stops most of us from thoughtless actions like applying for Oracle or any other Enterprise Level company. But as geeks we love everything new and shiny that somehow related to computers, software, hardware, cool gadgets, we love all this stuff especially when they just hit the market. But some of them might be ridiculously expensive. I don’t know why Macbook Air cost that much although I won’t rant about it having one USB or lack of other ports. Be mature, there are tons of USB hubs everywhere and in couple of years all the devices would be either USB or wireless. But here you at least know what you are paying for - prettiest laptop ever built.

But there are other examples. Quad Core CPUs is one of them. Cool things for sure but do you need them? Modern systems are fast and unless you don’t run ray tracing constantly or compiling C++ applications all day long you aren’t going to notice much benefits even from Dual Core systems. Of course the second core does have sense when some of your application goes crazy and you can just stop it without experiencing jumpy mouse movements or waiting an hour for Task Manager to start. But that about it and sometimes they just don’t give you much more value than a P3 CPU. Well, you don’t really have an option here, Dual Core is a slowest available processor out there but I think it just enough.

But you can find tons of articles about that and you couldn’t find almost any about SSD disks. It does looks like a great technology and it will be big in the future. SSD doesn’t have moving parts so you can shake or drop it without any risk of loosing your data. But the greatest benefits of them suppose to be read/write speed and less power consuming, it is just memory, isn’t it?

Believe me or not I though so myself until recently. Turns out they aren’t that great at all. One of the Russian company did a research and found out that they actually slower in write operations and consume almost as much electricity as 2.5″ HDD. Well, yes, they two times more economical during operation time but it doesn’t give you much since disks most of the time actually idling, it is easy to proof, just look to your IDE activity indicator while you’re debugging. And what does 2x means anyway, how much time would it give to your laptop battery life? -8 minutes. Yes, there is a minus here.

But why is that? How come HDD that spins a disks at 7200 RPM is more efficient than couple of microchips? Why moving an operation that implies a moving of a small piece of metal around is slower than switching electronic routes? Could be a Babbage device faster than a modern CPU? Obviously an answer for the last question is no but you knew it already, didn’t you? But why SSD performing that poorly?

Well, there is a short answer, evolution. HDD is around for more than 50 years now, over all those years thousands of people worked hard to improve them. They’ve put a lot of accessories inside that makes disks perform better, consume less, turn off in case of forthcoming drops and hits and a lot of others. SSD on the other hand is just in the beginning of their life, they eventually will be polished but years should pass before that will happen. It will eventually, mechanic stuff couldn’t be as efficient as electronic components but not today. Not tomorrow. Not this year.

Be aware of that and the next time you would think about buying new laptop with SSD just turn that thought down and go with good ole HDD. You will have to replace the whole notebook in a year anyway and maybe engineers would fix flash issues during that time.