More desktop happiness

While browsing around the Opera forums the other day, I came across a tip that makes the feel of my desktop just that little bit more complete. As you may know if you're an Opera user, Opera has its own theme engine. The upshot of this is that you can't get Opera to use your KDE theme. However, it turns out that not all of Opera uses the custom theme engine. For instance, the menus (both the menu bar and context menus) as well as the file selection dialog are all vanilla Qt controls. And guess what - you can get those parts of Opera to track your KDE theme. Just run Opera with the command opera --style default and it will follow your default theme.

All in all, I think my desktop is starting to look nice for a change. Bright and colorful, but not overdone. I think the new icon theme really helped liven things up without turning it into "Play-Skool does Linux." What do you think?
A screenchot of my KDE desktop
Pretty, yet still somewhat reserved and professional. Well, except for the anime wallpaper....

An actual automount article

Looks like I finally got around to publishing my first article on LinLog. You should see it in the sidebar. It's a quick tour of setting up automount. It's not a step-by-step tutorial for newbies - more like a quick overview for people who generally know what they're doing.

I've been meaning to do this for a while now, but playing around with Kubuntu the other day finally got me to do it. I haven't used a lot of Linux distributions, so I don't know how most of them work, but Kubuntu didn't support automount for my USB drive out of the box. What it did was use some sort of hotplug detection or something to create an icon on the desktop and mount the drive. This is better than Slackware, which does absolutely nothing by default, but it's not great. Call me crazy, but I like the fact that I can copy things to my JumpDrive, close my file manager, and the drive is automatically unmounted by the time I can reach over to pull it out.

.NET goodness and suckage

Today was our last day of Visual Basic .NET training at work. We've been having two-hour sessions every Tuesday and Thursday for the past month, taught by an instructor at the local community college and a friend of his who works at a local consulting company doing mostly .NET development. It's been a lot of fun - they're both great guys and I learned a lot. It was also nice to have someone with a UNIX background to talk to.

As for .NET itself, I have mixed feelings. I'm excited about moving to VB.NET because the language is much improved over VB6 and it will undoubtedly be easier to work in. Actually, that's somewhat misleading - VB.NET is not really an "improved version" of VB6, so much as a completely new language with superficial similarities. It hs real object-orientation, different data type semantics, new operators, and a number of VB6 language features (control arrays, several intrinsic objects, the option base statement) are gone. They even changed the program termination semantics and removed "edit-and-continue" capability, which was the only really great feature in VB6. In fact, one article I read aptly referred to VB.NET as "ugly C#." From what I've seen, that sounds pretty accurate.

On the other hand, there are some things about .NET that still kind of suck. For one thing, the IDE kind of pisses me off. It has the "pop-out" side and bottom panels kind of like KDevelop and Quanta+, but there doesn't seem to be a quick and easy way to "un-pop" the panels. In KDevelop and Quanta+, you can click the panel button in the sidebar to close it, but in VS.NET 2002, that doesn't work - you just have to move the focus off the panel and wait for a second.

My main complaint for today, though, is the VB.NET upgrade wizard. This is the program Microsoft included with VS.NET that allows you to upgrade a VB6 program to VB.NET "automatically." Of course, when they say "automatically," what they really mean is that it converts the easy parts and leaves a whole bunch of "FIXME" style comments. Needless to say, if you're writing anything remotely interesting, the resulting code isn't likely to compile. And if it does compile, various changes in the run-time semantics mean that there's a chance it won't work properly.

And did I mention that the upgrade wizard doesn't like MSVDM? Yup, if you're using MSVDM, just try to change desktops while the wizard is running. On my system, it crashes the upgrade wizard. Of course, if the wizard was fast, this wouldn't be much of an issue. But it's not, so it is.

Just for kicks, I tried converting for one of my simpler CRUD applications from VB6 to VB.NET. After commenting out the non-working parts (they were mostly related to printing, so not critical for testing purposes), fixing a few bugs related to changes in scoping, and changing the program start up behavior, I was able to compile and run it without too much trouble. Of course, it was fairly slow (compared to the VB6 version), but it worked. The only problem was that the graphical form designer (which is half the reason to use Visual Studio in the first place) mangled all my forms, dropping all the controls on top of each other in the upper-left corner of the form. They still show up correctly when I run the program, but design mode is completely useless. I guess this isn't a problem is you never want to change the form layout again, but otherwise....

Anyway, it looks like .NET will be a pleasant change from VB6. ASP.NET in particular will be a nice improvement, if for no other reason than that you can now write your pages in C# rather than just VBScript. (OK, technically you could write ASP classic pages in VBScript or JScript and there are plug-ins to support Perl, Rexx, and Python, but those aren't exactly the norm.) Not that I'm going to get much chance to use C#, because everybody else here just does VB, but I guess now I have a good excuse to start looking into Mono.

KDE's look

I've grown to love KDE. When I started using it, it was mostly for pragmatic reasons - integration and application coverage. My custom ROX desktop was great, but it was a patchwork of GTK+ applications sewn together with application directory wrappers, repackaging jobs, shell scripts, and symlinks. It worked for my purposes, but there was no unified look or feel and I was forced to add new applciations to the mix as the need arose. KDE handled all that for me, so I could do the work I wanted to instead of configuring my desktop (although I must admit that hacking on the desktop was a lot of fun for a while).

The main thing that has bothered me about KDE, though, is that I had trouble getting a look I like from it. There are a wealth of themes, styles, and icon sets on KDE-Look, but most of them suffer from the same problems as every other theme in the world: they're either ugly or they're pretty, but not functional. It seems like almost every theme I run across - not just for KDE, but for anything - either doesn't look good to me, or it looks nice but you can't read the text or figure out what the icons are supposed to be. After a while, I usually give up and just use the most boring stock theme available.

It looks like my days of lamenting are over, though, as I think I've finally found a combination I like for KDE. A few months back I discovered a nice widget style on KDE-Look called QtCurve. It's based on RedHat's BlueCurve and it has been perfect. Not only is it clean and simple, but the best part is that it comes with native themes for both GTK+ 1.2 and 2.x. I no longer have to mess with the GTK-Qt theme engine to imperfectly mimic my KDE theme - now I've got real themes that were designed to match. It has really improved my whole desktop experience.

I just now (meaning about an hour ago) discovered the second piece of the puzzle - an icon theme, Nuvola. Up until now, I had been using the KDE-classic theme, which is OK, but a bit dated and not particularly attractive. All the other themes I'd tried suffered from trying to be too pretty, meaning the icons looked great, but you couldn't tell what they were supposed to be. Nuvola manages to have icons which, for the most part, are recognizable while keeping the cartoonishness to a minimum. It's kind of reminiscient of the Crystal SVG theme and has the added benefit of working well with it, but somehow it just feels a bit sharper. I don't know what it is, but for some reason, Crystal SVG always felt a little washed out to me. Hopefully I'll be happier with Nuvola. Only time will tell.

Changing distributions

I've been thinking for a while that I might change distributions. It was setting up that Xandros box for Sarah that really made me start getting serious about it. Although I don't think Xandros is for me, there were some really nice things about it, including the package management system and the nice, polished look of the desktop.

I've heard that many Linux users try out new distributions like there's some sort of contest for using the most. In fact, a couple of weeks ago, I was a thread on LQ where a guy wanted opinions on his list of favorite distributions. I mean, he had an actual list of something like ten different distributions that were his favorites.

I'm not like that. I've been a serious Linux user for around five years, and I haven't tried ten different distributions in my entire life. In fact, I canlist them out right now: RedHat, SuSE, Mandrake, Slackware, and Xandros. I also installed Kubuntu on VMWare at work just to see what it looked like, but I don't count that because I only used it for about 10 minutes. The point is that I'm the type of person who likes to find something that works and stick with it. My personal experience has been that the "search for the perfect" anything is a fool's errand. The best course of action, in my opinion, is to find something that's good enough for your purposes and stick with it until you find a compelling reason to change. Trying every new thing that comes out might be fun if you're into that sort of thing, but otherwise, it's a waste of time.

That's why I've been a Slackware user since late 2000. It was the first distribution I stuck with long enough to get used to and I haven't seen a good reason to change since. I was originally attracted to it by its "no frills" nature: no special tools, no custom setups, no non-standard package. Pretty much everything in Slackware is generic. The up side of this is that, if something doesn't work correctly or if you want to change the system configuration in a way that isn't directly supported by the distributor, it's no problem - just refer to the documentation for the appropriate package and you'll find the information you need. This was in contrast to my experience with the likes of RedHat and Mandrake, where they included lots of handy configuration tools, but when the tools didn't work, you were pretty much out of luck. Oh, I'm sure it's possible to sort out the various custom scritps and configurtion files that make everything work under the hood, but when you're a new user, it's not really an option. However, with Slackware, the generic instructions and tutorials all still apply, which makes things easier to mess with.

However, I'm no longer a newbie. In fact, the more I learn about how things work under the hood, the less I find that I care. Sure, it never hurts to know the details, but I've reached the point where understanding the minutia of configuring various packages no longer seems like a productive use of my time. I'm a programmer, not a system administrator, and I have no desire to become one. These days, all I want is a reaonable system that's easy to manage for routine things. I don't want to learn any more configuration file formats, I don't like compiling software I didn't write, I don't think the command line is "cool," and I don't care what my system uptime is.

This is basically the same reason I moved from the ROX desktop to KDE a year ago. ROX was a nice environment, but the simple fact is that it was and is marginal and non-standard. It doesn't have wide support, it doesn't integrate well with the rest of the system, and it's somewhat lacking in application coverage. KDE, on the other hand, is just the opposite. It is widely supported, comes with a wide array of applications, and even the default configuration has fairly decent integration with the rest of the system (due, in part, to the massive number of applications included with the desktop). In other words, all the boring work of integration, packaging, and so forth has already been done. Even a stock KDE desktop fully functional and fairly well integrated. It "just works." With ROX, however, I had to do a lot of work setting MIME type associations, creating AppDir wrappers, and even writing some applications myself.

So now I'm looking for another distribution. I probably won't actually switch for a couple of months - until I get myself an upgraded system. However, I'm already starting to look. I want something that does most of the work for me. Hardware detection, a package manager that resolves dependencies automatically, a nicely customized desktop, and decent system administration tools so that I don't have to bother with configuration files. However, I still want development tools to be within easy reach - including things like web and database servers. Plus, I absolutely have to have at least KDE 3.4.0, because I don't want to have to convert my profile backwards. So I'm starting my research now, although so far it looks like my options are limited. It looks like the only major KDE-focused desktop distributions that come with version 3.4 are Kubuntu - which is still pretty young, but sounds good - and SuSE 9.3, which I think costs money. Maybe I'll have more choices by the time I need to make a decision.

Blasted Windows messenger

My Linksys wireless router has a handy feature whereby you can configure it to send you an e-mail of its logs every time they fill up. For the first five months I had it, I only got one of these e-mails. Now, however, I'm getting a couple every day.

A quick perusal of the log messages reveals that the vast majority of the entires are from various systems attempting to send packets on UDP ports between 1025 and 1029. A few Google searches reveal that this is most likely Windows messenger spam. Of course, this isn't a problem for me, because I don't have any Windows machines anymore and because the router blocks those ports anyway, but it's still annoying.

I should proably look into that a little more closely and see what's actually going on. But on the other hand, since the only adverse effect has been clogging my router logs, do I really care enough to worry about it?

I hate zealots

You know the worst thing about being a Linux user? The zealots. I hate Linux zealots. They make me embarrassed to use Linux.

For example, I was just reading a thread on Linux Questions.org in which somebody asked how safe it is to download RPMs from mirror sites. Now, it seems to me like the poster was a bit confused about the difference between a mirror and an independent package repository, but the question is still perfectly legitimate. The simple fact is that 99% of the time, you don't have any idea who runs the site, who has access to the server, or how good their security is. How do you know someone didn't stick a Trojan in one of the packages? In a disturbing number of cases, the answer is probably that you don't know.

Of course, for "official" mirrors, you can always take advantage of message digests and digital signatures. Most package repositories keep PGP signatures, or MD5 sums, or something of that nature, so that you can verify the integrity of your package. However, this won't work for independent package repositories. When it comes to third-party packages, you're pretty much taking it on faith that the packager is both honest and competent. Of course, anyone who cares enough to go to the trouble of maintaining a package archive isn't too likely to be doing it for nefarious purposes, so I find that the competency factor is most often the problem.

At any rate, the question was not wholely unreasonable. Sure, it's probably not worth losing sleep over (unless you're exceptionally paranoid), but it's not a stupid thing to ask either.

So how do the responses go? A moderator tells the poster to "stop being a freak" and claims an open-source mirror package is going to be more secure than anything from Microsoft, someone else tells him to go back to Windows, and a few people attacked the the one person who happened to sympathize with the original poster. In his blind zealotry, one poster even forgot how to read and posted a "rebutal" link to a ZDNet article linked by the sympathizer, complaining that ZDNet is a "Windoze"-centric site. Needless to say, his link to a "respected security website," which looks to me like a crappy Linux portal site, agreed with the ZDNet story in all the details.

What's with these people? Grow the hell up, will you please? Get this through your head: it's just software. It can't feed the starvig, bring world peace, or tell you the meaning of life. And while I'm at it, "Windoze" and "M$" were funny for about 3 seconds the first time I saw them. If you use them on a regular basis, then you're being stupid and childish and you deserve to be smacked in the face with a wet weasle.

Why do I even bother? I guess it's time for another of my yearly "I'm swearing off web forums because reading the rantings of clueless morons is a waste of my time" episodes again.

Xandros weirdness

While setting up that Xandros box for my mother the other day, I noticed that they've issued a service pack. Service pack 2 for Xandros Desktop 3, to be more precise. That seemed a bit weird do me, because I don't remember seeing anything about service pack 1, but I guess that's not important. There were some good things in the service pack, such as an update to kcontrol. They put the component chooser back in! This is nice, but it comes a bit late to help me.

While I was installing the service pack on Sarah's system, I also installed all the "application updates" that were available. I don't know exactly how those are different from what's in the service pack, but I figured I might as well get them. For one thing, I noticed that they included an update to Xine, and I had been having some stability problems with Xine. No problems with the updated version so far, but I did notice that after I installed the update (or was it the service pack?) that the "Video Player" entry in the menu disappeared. What's up with that? The entire point of using a commercial Linux distribution is that they take care of these things for you.

In other news, Mom seems to be doing fairly well with Xandros so far. I sent the computer home with Dad when he was here this weekend, so I didn't get a chance to sit down with her and show her everything. I also didn't get as much time to work on the system as I'd have liked. See, Dad helped me put a new front door on the house on Sunday and it took literally all day (which is probably why Home Depot charges $279 for basic installation). We didn't finish until about 22:30 EDT, and I had to get up for work at 6:30. I ended up finishing the setup in a couple of hours on Monday evening.

I'll probably have to do some posts about Mom's questions for me. I got a couple of calls tonight for pretty basic questions. And by basic questions, I mean stuff that non-technical Window 98 users take for granted. Nevertheless, she seems happy with the new system. Of course, if you'd seen the old one, you'd know that anything would be an improvement. But it's getting late. More on that tomorrow.

Another convert!

Looks like I've got another Xandros box to set up. I built another system from parts last week, this time for my mother. I got her basically the same hardware I got for Sarah's system, except that I included a hard drive (her existing one was only 2GB) and excluded the wireless card. In case I didn't mention it before, that means a Foxconn 600A01-6LRS motherboard (which has a VIA KT600 chipset, 3 PC3200 DIMM sockets, and an on-board SATA/RAID controller, all for $40 US from NewEgg), a Sempron 2500 processor, half a gig of RAM, a 64MB Radeon 7000, a CMI8738 chipset audio card, a CD-RW/DVD-ROM combo drive, and an 80GB hard disk, all for about $320 US after shipping.

Up until now, Mom and Dad had been limping along on an old 200 MHz PII with 48MB of RAM and a 3GB hard drive rumming Windows 98. I tried to use it last time I was there, and it was just painful. When I told Mom what I was building for Sarah, she volunteered that maybe she'd like to try this Linux thing out. She has even fewer needs than Sarah - just a web browser and an office suite better than Microsoft Works for Windows 95. Hardly a tall order.

Anyway, my Dad is coming up tomorrow and he's going to bring their old computer and printer (a Canon BubbleJet, which the CUPS site lists as working, but not perfect). Just to be on the safe side, I called Mom to confirm, and Xandros is a go. I think it should work out pretty well. Worst case scenario, at least Linux includes remote access features like Secure Shell so that I can fix things for them remotely.