Archive for the ‘Windows’ Category

  • Windows 7 Rants, Part 2: Abandoning Linux, Network Performance, and Bye-Bye Redmond (Back in the Fold)

    Date: 2010.02.17 | Category: Reviews, Software, Tech Stuff, Windows | Response: 1

    In my previous post I gave Windows 7 quite a beating. If you’ve read anything that even resembles a review on my blog, it should be pretty apparent by now that if I muster up the effort to get behind the keyboard and actually express my opinion about something, it’s usually because I hate it. That’s not to say I hate everything, just think of it this way: if I’m not publicly dissing it, I love it :) I didn’t bash your favorite movie? It’s because it’s the best… movie… ever!

    Anyway, obviously I’m writing about something right now, so obviously I hate it. Yup, it’s my battle with Windows, Windows 7 this time. If you read the previous installment, you’ll know that I was using Windows 7 as it came with my newly purchased ASUS laptop. Since then I’ve had the unfortunate experience that my workstation at work (Kubuntu Karmic) had grown exceedingly quirky. As in the same crap I ranted about last time with disk IO being prioritized so highly that even moving the mouse wasn’t possible when files were being moved about. Install a kernel update, and forget about using the computer for several minutes. That kind of prioritization. Add to that that at an otherwise critical point in time (we were moving servers) my Eclipse PDT install started completely barfing on PHP5.3, the new VPN solution in our company didn’t work with any Kubuntu installment since Feisty, and Firefox started crashing on every file upload, attempt to use Firebug, and attempt to use our time-tracking software’s web interface (which is a study in WTFs, by the way, so I can’t really blame it). Google results mentioned incompatibilities between 64-bit Linuxes and current Firebug, and I seriously needed to use the VPN as I had to work from at home during the weekend. All in all, it seemed like there was really not a lot of options. I turned my head and asked my colleague if perhaps there was an extra Windows 7 Professional license I could use.

    Now this may seem like nothing special, but for me it was quite tragic, really. I hate a lot of things, and I do hate computers and OSes in particular (great career choice then, eh?), and I really hate OS fan boys regardless of their color and shape, because to be honest: All OSes suck. I just found Linux to suck the least, and adding to that, when it sucks, it’s always because of a legimate bug, a technical shortcoming or a missing piece of software. It’s never the Apple way of “you’ll take what we give you, and only what we give you, up the ass and you’ll look trendy while you smile” or the Microsoft one of “we don’t care if it’s the simplest task ever invented, we will easily turn it into the most intertwined, non-standard, and complicated equivalent, then we’ll make it partly work and give you a billion irrelevant and incomprehensible options to configure it, minus the ones that you actually need, oh, and we’ll fix the bugs once we’re finished making new software”. With Linux, I’ve always felt completely free and empowered, no matter what crappy thing made me shout at my monitor in frustration.

    So, really, making this decision felt utterly awful, I may sound like a drama queen, but my girlfriend can attest to the fact that I was literally depressed following that. But, you win some, you lose some, and so I ventured back into Redmond from whence long ago I so joyfully departed.

    Oh, such a long introduction such a short story! :) Well, if it’s a rant, it’s a rant ;) But, that was the story of my abandoning Linux on my workstation at work, let’s get to the next part: The bitching about Windows 7. This time: Network performance.

    Let’s see… Any Eclipse user out there knows that the IDE is quite fond of messing about with files in its projects. It’s a necessity for doing all the wonderful things it does in the background, such as validating your code, analyzing it to offer magical code assist features, and all sorts of funky stuff that makes it just that bit more fun to be a developer. Also, being a web developer, I’m pretty sure I won’t be the first of my kind to be having his or her project code on a network share, as a local installation of LAMP will rarely suffice as the backbone of a development environment.

    This means that there’s gonna be a whole lot of network traffic going on when a developer of my breed is working in Eclipse (or any equivalent derivate, for that matter). Which also means that network performance is pretty crucial for being productive. You can’t afford to wait too long for your searches, saves, loads, check ins and outs, whatever, to complete, or your groove is gonna be seriously disturbed.

    At first I didn’t notice the problems with networking in Windows 7. I had to move a lot of documents from my XFS partition to my NTFS drive, and I did that by way of a network share, since I had to clear out my /home partition to be able to increase the size of the NTFS partition so that there was actually room for all my files there. Obviously Windows doesn’t access XFS partitions. It’s a gigabit tether, so putting them up there went at the speed of my aging 2.5″ HDD, and getting them back went pretty fast, too, nothing made me wonder at that time.

    It seems, though, that this was mainly because of the size of the files. Moving large files in Windows 7 to or from a network share is sufficiently fast (like 15-20 MBps, not the 30-something that Kubuntu provided, but still plenty speed for what you need a network share for in the first place). It’s when you start juggling small files that things start to smell, well, …fishy…

    Now, what is typically the nature of files in a programming project directory? That’s right, they’re small. Like <10k. And then there’s the subversion metafiles, tons of stuff in each .svn directory. You really need a network stack capable of pushing those babies through like slugs from a minigun. Well, maybe I’ve spoiled in Linux, but I really don’t think so – my other OS X colleagues don’t feel spoiled either, when we pull 710 MB of these small files from the network share in 6½ minutes. Or when a fresh Subversion checkout takes 1-2 minutes tops. Or “Refreshing workspace” completes in 15 seconds.

    To tell the truth, I’ve actually been kinda pissed about that kind of delays. I even wrote a PHP script based on inotify that enabled me to keep a local copy of my projects which were mirrored onto the network share transparently and on-the-fly triggered by file changes. Something that Microsoft actually made some kind of implementation of in Windows 7, called “Transparent Caching”. Except it doesn’t work. Wonder if I should mail them my script?

    Anyway, my jaw slowly (very slowly) dropped to the floor when I checked out ~3MB of project files from SVN in Eclipse on my fresh Windows 7 installation and it took more than two hours. Following that, I tried copying the same 710 MB of development files as mentioned before, and Explorer’s finish estimate just continued to climb. The time used to stat the directories was more than 10 minutes, and the transfer speed once it finished that ranged from 11 kBps to 20-something kBps. I soon killed the process and attempted a 7-zip “Store” operation on the directory, as I’ve previously experienced extremely crappy transfer speeds with early Vistas and USB drives which were caused by Explorer, and alleviated when using either a command prompt or 7-zip or any other 3rd party application. I let it run for awhile until it seemed pretty certain that the process would take 7 hours, give or take a few minutes. 7 hours. Compare that to the 6½ minutes in Kubuntu, and I suddenly understood why my 3MB checkout in Eclipse took more than two hours.

    Obviously, something was very wrong, and I started googling for solutions. Lots of posts by other users with exactly the same problem, or with the same sort of problem only related to external devices. My return to searching for solutions to problems with Windows just brought me back to a long-forgotten hell hole. People asking legitimate questions about legitimate problems with their crappy Redmond-based OS being met by fan boy idiots telling them that Microsoft isn’t at fault for their hardware vendors not providing proper drivers, idiots suggesting them to format and reinstall… WTF? I thought that was a joke by now?

    I tried all the shebangs, disabling all kinds of crap, uninstalling antivirus software, upgrading my network adapter drivers from the vendor, but to no avail. Then I tested my colleague’s computer, and it exhibited the exact same problem. It became apparent to me that Windows definitely still wasn’t ready for the desktop, and I kinda went into a dark place where I had to find some kind of solution besides Windows or Linux, and so I tried to install FreeBSD and PC-BSD. Both would either kernel panic when booting the installation CDs (both were FreeBSD 8.0-RELEASE based, so I guess the problem lies there somewhere), or continue (seemed to happen if I didn’t interact with the computer unless absolutely required, go figure). PC-BSD would fuck up my partition table, recreating every partition it touched resulting in “partition does not end on a cylinder boundary” warnings from fdisk, and it would always fail at some point in the installation with errors. Both, however, would succeed in installing as such, only their boot loaders would leave me with some weird prompt because it couldn’t find the boot code. Sucks.

    So, to finish up… What I did was go back to where I’ve never been really let down, and that was with Kubuntu. I knew by experience that the Karmic Koala wouldn’t help me even if bribed with lots of eucalyptus leaves, so I got the Lucid Lynx Alpha 2 cd and tried that instead. Seriously beta. Well, no, not even that as it’s alpha, but still seriously beta :) Either way, it failed to install grub, so I had to go with LILO. I also switched back from XFS to my old friend ReiserFS. Let me tell you: Either the Linux kernel just got a serious refurbishing or all my troubles with user responsiveness are really founded in XFS. Because the Lucid Lynx on ReiserFS is faster and more responsive than any OS I’ve ever tried. No more stutters with the mouse or interface, even when mirrordir’ing 12 GB to my drive while installing 470+ updates via apt-get. Not… one… Everything felt like a rocket had been shoved into my old laptop’s bong hole. I’m gonna try installing with XFS and Reiser on my own laptop and do some comparisons, so that I can maybe confirm (hopefully) that the responsiveness issues I’ve been experiencing over the last few years are to blame on XFS, not the kernel. That would make the next post indeed ;)

    Either way, that’s my rant for now. Hope it was waaayyy to long for ya :)

  • Windows 7 Rants, Part 1: Hunting for Font Settings & Automatic Updates

    Date: 2010.02.11 | Category: Reviews, Software, Tech Stuff, Windows | Response: 1

    Ok, so I recently bought an ASUS U30 laptop which came preinstalled with Windows 7. I’m mainly a Kubuntu person myself, so I resized that Windows partition to fit and put Kubuntu on the rest of the drive.

    The recent years of kernel development, scheduling in particular, seem to have brought an increasingly annoying trend: prioritizing IO operations in favor of user interaction responsiveness. While the KDE desktop has never been more attractive (beats Windows 7 by lengths, IMHO), that doesn’t matter a whole lot if you can’t move your mouse because updates are being installed or you’re copying some large file over the network.

    Add to that a bunch of annoyances such as generally being completely unable to get vertical sync to work on any output, using any media player, on any graphics card. Or, the KDE 4.x branch in general being a Windows 95 story in rewriting in terms of beta-ish stability. Or, the inability to properly configure my multi-touch touchpad, negative 1 or 2 hours on the battery when compared to W7, going from sleep to operational every time causing a second sleep for no apparent reason then presenting an “Error 1 when suspending” or something like that, the WiFi constantly disconnecting sometimes needing an rmmod && modprobe to come back up, and so on and so forth in a seemingly endless array of problems that seem to be increasing in numbers rather than decreasing.

    Quite frankly, Linux in my experience is getting worse, not better.

    So, as heart-breaking as it is, I’ve decided to opt out of Kubuntu on my laptop for a while, and try out that Windows 7 thing that came with the thing in the first place.

    As Windowses go, this one certainly looks better. OOB it performs way better than Vista, it seems to have fixed a few of the most idiotic usability flaws while still retaining others that were introduced with Vista; like hunting for where to change system fonts… Now where would that logically reside? Well, affordance tells us that we’d right-click the desktop, choose Properties and go to the appearance tab or whatever. Well, affordance counts for nothing, so there’s no Properties there anymore. There’s a Personalize, though, but nothing in there hints at anything about fonts… Well, maybe “Display” does a bit. But that’s not it. Although there’s an Andjust ClearType Text in there. Not it either. Set Custom Text Size (DPI)? Nope. Change Display Settings! Sorry, donuts all out. Hmmm… Try again, back. Let’s try the search input at the top. It looks like what we know from Mac OS X and KDE. Certainly, searching for “font” gives results, yay! Oh, there’s a whole section of font-related options! “Preview, delete, or show and hide fonts”, “Change Font Settings”, and “View installed fonts”. There’s also a “Display” group, but we’ve already tried those, and they didn’t do us any good. So, of course, the “Change Font Settings” must be it, it’s pretty much named after what we’re trying to accomplish, right? Well, not quite… This pane just allows us to chose whether or not to “Hide fonts based on language settings” (Huh? You can do that? I mean, what the hell does that even do?) or to “Allow fonts to be installed using a shortcut (advanced)”. Well, apart from being completely incomprehensible settings, why the hell would you even make a Control Panel page for these settings? This sounds like something that belongs in a registry setting, safely tucked away from tired eyes trying to find a useful settings page. So, the “Change Font Settings” page wasn’t actually a page to change anything sensible about fonts. I won’t bore you any further with exploring the last two options returned by our control panel “font” search word, suffice it to say they are equally useless.

    So where the hell do you change the size or type or fonts used in Windows? Searching for it helps not, neither does common logic. Well, stupid, how dumb are you? Use your brain! It’s “Control Panel”, then “Appearance and Personalization”, then “Personalize”, then “Window Color”, then “Advanced Appearance Settings”! You should know that fonts are a type of window color! Sheeesh…

    As mindbafflingly stupid that user interaction has been designed, luckily I haven’t spend enough time here yet to stumble upon other equally retarded annoyances. If I had, I’d probably be smoking crack right now trying to calm my nerves.

    I have, on the other hand, just experience the glorious genius of the “Recommended” and default settings for automatic updates. The epic fail quality of the genius is two-fold, the first one destroying your work, the second one potentially destroying your computer. Please read on.

    1) The default behavior is to download updates, install them, and restart the computer. Just. Like. That.

    Don’t leave that thing unattended if you were actually doing something important before picking up the phone, checking how the dinner was coming along, taking a trip to the crapper, or anything other that normal people do every once in a while.

    Windows 7 seems to say,

    “Hey, there’s these purdy important updates that I needs to gets. I’m just gonna install those for ya, then I’m gonna be restarting, but never you worry, once I’m back, all dem Explory windows is gonna be aaaalll right back, see?”

    “Sure, alright, but what about that Windows AIK instance that was open with all my changes to the WIM that I’d been preparing that I wanted to export once I had finished it?”

    “Oooh, you needed that? Really? It’s just… You weren’t there, so I figured…”

    “Yeah, that’s fantastic, great! What about the x264 process that was running along transcoding at 4 hours, with 4 more hours to finish? You gonna bring that back, too?”

    “Uh, well, see, I kinda figured that wasn’t important, seeing as how it was just using pretty much all the CPU. Ya know, it kinda looked like a runaway process and all…”

    “Or, an intensively hard-working process, not to be disturbed? Well, one final question. The Putty instance with an open SSH connection to my Kubuntu box where I was running an SFV batch process on 1.2 TB of data in the session that was killed when you rebooted my computer… I’d like to see you bring that back?”

    2) Believe it or not, but the automatic updates are also triggered when sleeping. That is, when your laptop’s sleeping, not the flatline brain activity kind of sleep that is the logic behind Windows 7′s automatic updates. Yes, that’s right. This entire process can and will happen when you’ve put your computer into sleep mode. That means do a little work, close the lid so your laptop sleeps, and stow it away. Someplace safe, like where you’d usually put it. Like a carrying bag or sleeve. You know the kind that obstructs air intake? The kind you’d never dream of putting you laptop in if it were on? Because if you did, you’d probably end up damaging it severely as it overheats until the battery’s drained, or the CPU or some other vital component like the graphics card fries and shuts it down? Yup, this is the comfy cramped little place your laptop would suddenly awaken to install updates and do a reboot. A reboot which could end anyplace, really. At a BIOS password prompt, for instance. A boot manager screen. A hard drive encryption password prompt, or simply the login prompt of your favorite window manager.

    So thank you, Microsoft, for once again proving that stupidity comes in many forms. Oh, and for still not having fixed the auto-hiding task bar so that overlapping windows actually don’t get to be placed on top of it. But of course, it’s only been 15 years since that issue was first reported. And it’s not like the other operating systems don’t have that same problem. Oh yeah, sorry, that’s right, they don’t.