Sometimes I wonder if some people have any taste for things… Compare these two icons for example:

Don’t want to start Holy War here, but both Python and Ruby are mature languages. They’ve been around for 16 and 12 years, respectively. They both have their flaws and strong sides, they both have their vast userbases, they both have good and well-adopted web frameworks around them (Django and Ruby on Rails).
What I can’t get is why default file icon for Ruby is so fugly.
Python icon is nice and it even resizes to bigger resolutions, like 48×48. Ruby icon on the other hand is not even close to that. It’s not close to anything. It looks pre-Windows 95 and I personally can’t stand having crap like this on my desktop.
I wish it was that easy.

Finally, I’m back from vacation we had and getting myself prepared for some serious work ahead. It’s good to have some rest once in a while, but once you get back from whatever place you’ve been to, things start to get messy. All those endless email queues you need to run through, pending issues you need to look at, all those gigabytes of photos you took that needs to be sorted and tagged… It’s like “Neverending Story” with the difference that it’s not fun to watch.
After living for a year in Sweden, it was interesting to see how things are going back in Ukraine. While experience wasn’t utterly shocking, you start to notice all these small things around you. Traffic is crazy, nobody follows any rules whatsoever. Customer service sucks, even if you pay money to buy something from them. A lot of government structures are either not working or badly corrupted. Luggage gets lost for no reason the moment you make switch to Ukrainian Airlines; Internet connection is like 10 times more expensive and if it breaks down, nobody really cares — so it takes about 4 days to get it restored. Basically, everything looks good outside (especially if you’re tourist or something), but try digging deeper and you’ll see how really bad things are.
On the positive note, I won’t be experiencing this again for another year or so =)
Back to work. Some interesting projects are begging to be released ASAP and for those wondering about Software Defender, I’ll be preparing next big update in about 3 weeks. And I definitely need to update my blog more often.
Hey, want to know a secret? You know why “user experience” sucks so much in Windows and sucks less in MacOS? It’s pretty simple — lack of top-notch software in Windows. Yes, you heard me right. Lack of software on Windows platform. Even though there are basically millions of software titles made for Windows platform, most of them are pain to use — they are improperly designed, unstable or simply fugly to use. MacOS is a bit different in this way: not that many products are available (I mean, compared to what we got for Windows) but usually quality is much better. UI is consistent, programs are somewhat more stable and so on.
I tend to think this has something to do with at least some of these:
Obvious fact first: when it comes to laptops there’s always balance of performance vs. battery life. After all, it’s all about how you’re using your laptop and what’s it’s purpose. Travel a lot and need to do some light tasks? Take something with 13″ screen or maybe less (like ASUS Eee) that works for 3+ hours. Using your laptop as desktop replacement? Then perhaps you don’t care about battery life that much, but what you care about is CPU performance and decent video card.
I use my laptop as primary development machine, run Windows Vista there and do a lot of different things — starting with lightweight stuff such as editing PHP and Ruby scripts in Notepad 2, ending up with performance-intensive tasks such as running few copies of Windows XP/Vista and Ubuntu in Virtual PC 2007 at the same time. And most of time I use laptop at home or at least near power source, so battery life wasn’t big deal for me.
So what I did is simply replaced standard 5400 RPM hard disk drive with new 7200 RPM drive. Now, I didn’t measure raw performance with tools like h2bench, just “Windows Vista Experience Index”.
Here’s my old, Fujitsu 5400 RPM 80 GB drive:

And here’s my new Hitachi E7K100 7200 RPM 100 GB drive:

Updated version of Software Defender is here, about one month after previous release. Short release cycles with useful features are good since I want our customers to be happy =)

Short list of things introduced in v2.1:
As for “wrapper” application, there are a lot more changes. Take a look at these screenshots for example: (more…)
Internet is filled with “Windows Vista vs OS X” or “Vista vs XP” rants these days. I’m not going to write yet another one. I’m not going to write what’s good, what’s bad and what’s freaking ridiculous about Windows Vista.
I’m going to say one simple thing. I use laptop as one and only development machine, which means I tend to do a lot of heavy stuff. You know, running Firefox with memory leaks (and then realizing 6 hours later that it took about 900 MB of RAM), running Microsoft Virtual PC or VMWare, moving big files here and there, working with pretty-damn-huge pictures or photos. Heck, I even write some code once in a while! And then there’s Hyper Island where I spend at least 8 hours per day, roaming with this laptop through buildings.

So here’s this simple thing I promised. I never actually got this kind of uptime with Windows XP. Though this is not truly outstanding uptime result, but it’s pretty good for development machine. The only reason I have to restart Vista is when new system update comes out. No “sanity” reboots which is a good thing.
While WWW::Mechanize is a great gem for Ruby, it’s still not perfect — especially when used in weird scenarios. And according to Moore’s Law you’re going to face those weird scenarios sooner than you think. So I got this little problem when Mechanize is trapped inside endless redirect loop. It’s not problem with Mechanize per se, Internet Explorer 7 cannot handle endless redirects either (Firefox detects them, though). And here’s a little fix I’ve made to limit number of redirects for Mechanize.
Open up this file: /usr/lib/ruby/gems/1.8/gems/mechanizer-0.6.8/lib/mechanize.rb and then see changes below:
I’m pround to announce that my new project finally went live. It’s called Software Defender and here’s a little excerpt from main page:
Software Defender is an activation service with web-based control panel that helps you fighting against software piracy and other forms of unauthorized use. It ensures that each copy of your digital product is used in compliance to your license terms and is not shared or used simultaneously on more that one computer.
If you can point and click, then you have what it takes to stop pirates from ripping you off and profiting from your digital products, forbid habitual refunders from getting them for free, and prevent your products from being copied without you being paid.

If you’re interested, check out these links:
Now it’s time for CakePHP fans to get their own wallpaper. As always simple yet good-looking; few sizes are available.

Download:
Enjoy! And just in case you might be interested, CodeIgniter wallpapers in the same style are available.
For all you CodeIgniter fans out there I’ve made this wallpaper. Two flavors (black and red), 4 sizes, simple yet cool-looking. Just like CodeIgniter.

Red background:
Black background:
Enjoy these and let me know what do you think. Or just say “Hi” in comments if you like these =)