Archive for May, 2008

Productivity Tip 1: Uh, This Isn’t Productive

May 4, 2008

Following my discussion with Nathan of the Productive Linux Podcast, I’ve decided to start a category for productivity shortcuts and tips.

Today’s tip: how to change a GTK theme quickly without a switcher.

Now, this isn’t exactly my idea of productivity because this is about how things look, not how things get done. This is just about how to change it quickly without compiling or installing anything so you can get it over with and do something more useful and productive with your computer. Because this isn’t something that requires some fancy interface to accomplish.

Your gtk theme information is read from a configuration file located in your home directory — usually separate ones for gtk1 (such as .gtkrc) and gtk2 (such as.gtkrc-2.0). These files are often pointers to a system or local gtkrc via an include statement with a path to a gtk theme directory and its gtkrc, i.e.,

include “/home/username/themes/NameOfLocalTheme/gtkrc”

Suppose you just cannot survive using a gaudy default gtk theme and you download one that you find more, ummm, productive. You should install it in a directory called “themes” in your home directory. Then you can manually edit the .gtkrc(-2.0) path so it reads from the directory where your new theme is. So if you download a theme tarball called clearlooks-productive.tar.gz and decompress it in ~/themes, your gtkrc would only need to be edited like this:

include “/home/username/themes/clearlooks-productive/gtkrc”

Of course, that’s not going to allow you to waste hours switching between different themes and show you how your apps look in them — as if the screenshots at whatever site you download your themes from don’t lend you guidance about how they look. That’s not my problem, I’m just trying to help people be more productive. Besides, how many themes do you need to be productive? And if it’s a fairly small number and you have only one file to edit to point to the one you want to use, why do you need “switchers” anyway?

Coming soon: more tips about applications, utilities, and other things that will actually help you get more stuff done with less effort.

What’s In a Number? Various Thoughts

May 1, 2008

What’s in a number?

I got to thinking about this when a question was asked about the kernel version I’m running on my desktop. The question presumes that just because I don’t have the most ecent kernel version, or rather kernel line, that somehow I’m shortchanged or missing something.

Nothing could be further from the truth.

HOW OLD IS YOUR EQUIPMENT?
Age is relevant to the question about loss of utility. The kernel I’m running was released last week — it isn’t archaic and it isn’t out of date. This computer is older than the 2.4 kernel. It has a 400mhz Celeron processor and over the years it’s received what I consider very minor upgrades over the decade or so I’ve had it. First there was the doubling of RAM from its original 64 to 128. Then this past winter I doubled it again to 256. Hardly impressive, but it makes a big difference in how it functions. This computer will probably outlast me and I don’t intend to toss it out while it still works.

When I bought this computer, Linux was still in 2.2 — 2.4 was available. I think I installed my first 2.4 kernel some time in 2003 when 2.2 development ceased. It was 2.4.10, IIRC (I’m not 100% sure of 2.4 version but I know it was 2003 when 2.2 development stopped — same year MS was supposed to drop NT4 life cycle support), when I switched. I think I could still resort to 2.2 and have nearly full function for everything this computer needs except (maybe) the particular USB adapter I use now (I’d been able to use CDCEther previously but that required connecting directly via bridge). I’d have to check changelogs and see if the adapter would work with 2.2. But 2.4 is very manageable for this particular computer (and would be reasonable, imo, even for my 1.4ghz Athlon box).

HOW OLD IS YOUR KERNEL?
The kernel is probably the one part of the system that can continue to be updated even when various software — especially window managers, desktop environments, and GTK+ applications — become too hefty to keep updated. I wasn’t enthralled with KDE or Gnome when I first used them. They’ve become much to cumbersome since then to use on this computer. Even Xfce is a bit too much now, imo.

WHAT’S THE BEST GUIDELINE BETWEEN HARDWARE AND KERNEL VERSION?
How do kernel changes relate to your own hardware? I don’t think too much has changed in terms of function between what was contemporary when this computer was bleeding edge. Many changes in kernel versions are bug fixes and security patches and the like. There’s some performance enhancements and lots of new drivers for newer hardware — I’d appreciate performance gains I might get from 2.6 (threading?) but I don’t need support for stuff this computer doesn’t and won’t have. I’m not hamstrung or limited or reducing anything. It freaking works.

If you have much more recent hardware, you obviously need a newer kernel with newer drivers; some of the newer drivers (including SATA support) are also in 2.4 so you don’t necessarily need 2.6.

If you’re still using older hardware — and I am — how new does your kernel really need to be? I think it’s a testament to the wisdom of Linus Torvalds and all the contributors to his kernel that what was efficient on this computer nearly a decade ago doesn’t really need much improvement. Certainly there are bug fixes and security issues that have been dealt with in the interim. Those don’t require the size of a 2.6 kernel.

I think it’s also fair to make this kind of comparison with other operating systems. When this computer was new, it had all kinds of stickers about how it was engineered for Windows 98. Windows 98 was gone shortly (as in hours) after I got it home, and the stickers still decorate an old desk like little war trophies.

Could this computer run XP? Yeah, but it would crawl. Even with 256MB of RAM now, I wouldn’t care to see how it runs. I wouldn’t even think of installing Vista on it. I thought of using my WinNT license with it but the only way to get USB support is via third party (Dell has a free driver) and Microsoft no longer issues SPs for NT. So what’s the point?

Yet that’s what I see so many people doing in equivalence with Linux. They’re taking bleeding edge distros intended for XP/Vista-era hardware and installing on Win95/98-era hardware. Sometimes the results are acceptable, but I’ve used KDE on this computer (last version: 3.5.8 iirc) and it was too slow for my tastes despite my best efforts to reduce icon sizes and other factors that can bog it down. The question I was asked isn’t asked in reverse — “Do you really need such new software on older hardware?”

I don’t think anyone does unless they have some new device that has only recently gotten driver support somewhere in the kernel. That’s the case with my laptop because I sold and loaned out my other two wireless devices that were 2.4-capable and my current card — Broadcom 43xx — has had kernel support since 2.6.19.

I mentioned something above about contemporary hardware:software relationships. While development continues, hardware is a snapshot in time. One of the things that many people observe when trying to keep bleeding edge software on vintage hardware is that it rarely works better than the software that was bleeding edge when the hardware was. Isn’t that to be expected when the software is being targeted at hardware made at that particular point in time?

That’s one of the reasons why I think Linux advocates are off-base when they suggest that newer distro versions are appropriate for older hardware. They rarely are. There are some that work better than others, and some that are oriented for older hardware. Truth be told, it rarely makes sense to upgrade more than two years after your computer becomes kind of “old” — which I put around five, six years. In the case of this old desktop, I could still happily run Slackware 8 which is still supported with updates (security, bugs, etc.).

There’s also something else to be said here about support cycles. Microsoft tries to keep its OS support on about seven year cycles. They take a lot of flack for doing that from users and critics alike. Ubuntu has LTS (long term service) which runs in five year cycles. They seem to get praise for five year cycles from the very people most willing to criticize Microsoft for seven year support cycles. Hypocrisy. But the point is, you can find adequate support for average hardware life cycles without having to stay bleeding edge — Windows does it, Slackware does it, and even Ubuntu does (though they’re relatively new to the game).

I think what matters most, though, is matching software to hardware with respect to era. What’s in 2.6.25 that I need on this desktop? Nothing. This computer is Linux 2.2/2.4-era — the same time frame as pre-XP. I have legitimate needs for 2.6 on a couple of my other computers — such as for bcm43xx support for the laptop and some of the new (proprietary) video drivers for the new desktop (I think I also scrolled past what I need in menuconfig for 2.4.36.3…).

In conclusion, don’t presume that the higher version number is inherently better for everything. It may be, it may not be.