« March 2006 | Main | May 2006 »

April 28, 2006

Gnome Integration, A Response

I would like to thank Aaron Topance for replacing his vague claim that "Gnome isn't integrated enough" with actual examples of areas he thinks need improvement. I'm going to deliberately avoid responding to all of his points because while some of them don't make me itch, others may agree that they are needed changes. There are, however, points I feel are inaccurate or in need of clarification.


Secure Shell GUI Functions: Nautilus has supported SFTP for years. I'm sorry, I can't give an exact number, but it has been a long time. KDE was the first to add support for file access over SSH, but originally KDE called the protocol fish:// instead of sftp://. Gnome allowed the use of sftp:// before KDE did. There are actually two ways to use SFTP in Nautilus. One is to select File > Open Location... and then enter an SFTP url. The other option is to use File > Connect to Server... and select a Service Type of SSH. The second method will create an icon on the desktop that can be used to reconnect after rebooting. However, I would argue that neither KDE's solution built on a kio-slave nor Gnome's solution built on gnomevfs is ideal. Many programs, including Vim, can't reuse these connections. The real solution should be universal. Now that the Linux kernel has added support for FUSE, it should be possible to create a solution that any program can use without depending on kio or gnomevfs.

More Command Line Tools: Konqueror doesn't implements its own terminal application. (Which is really what you mean. Terminal applications are used to interact with shells.) Konq is simply embedding Konsole. Reusing one application as a component in another application is an example of KDE being more "integrated". Theoretically, Gnome could be just as "integrated" using Corba, but I think the general consensus is that Corba on Gnome has mostly failed. Either KDE developers are masochists, or KDE's component model is easier to use.

Frankly, I don't think that embedding a terminal in a file management program is a good example of "integration". However, it might be possible to convince me that being able to embed GnuCash graphs into an OpenOffice.org document should be easy. That sort of thing seems to be popular with people that use business applications. My one hang up is that any time I tried that sort of thing in Windows, OLE (or whatever the heck technology was being used) was pretty flakey. *shrug*

As for memory usage, you can not safely assume that running two applications results in twice as much memory usage. Linux has advanced memory management that allows programs to share memory. Running a Qt based app and a GTK+ based app will resulting in very little sharing. Running two GTK+ based apps will result in most of the memory taken up by their libraries being shared. Occasionally, developers make mistakes that reduce the amount of sharing, but Gnome is actively looking for such problems and resolving them. When Gnome 2.12 was released, it actually used less memory than Gnome 2.10. Is their still room for improvement? Of course. But embedding one app in another doesn't imply that less memory is being consumed, and running two applications instead of one doesn't imply a doubling of memory requirements.

Menu Editing: Ages ago, as the glaciers were receeding and Gnome was still 1.x young, there was a menu editor. For some reason, it disappeared. I never missed it. (Well, except on SUSE with its insane menu structure and excessive number of apps.) Alacarte is a new menu editor for Gnome. Most distributions are not yet shipping it.

Eye Candy, Eye Candy, Eye Candy: I like Clearlook. I like the simple, understated design of Gnome. I don't, don't, don't want Gnome to start looking like Windows, Mac OS X, or even KDE. (Although I think we can all agree that Ubuntu is too brown and Fedora Core 5 is too blue. Standard Clearlook is nice, and Fedora Core 4 was almost perfect.)

Themeability is not a problem with the GKT+ API. Have you even looked at it? GTK+ apps do have a lot of control, however most try to fit in instead of sticking out like bruised thumbs. When I first started using Linux, XMSS was based on GTK+ 1 and it had window snapping. True translucent windows in X only recently became possible. In the past, most programs that appeared to be "transparent" were cheating. They copied the root window, but couldn't capture windows stacked under themselves. Real translucency will come with time, in moderation.

There are easy to use applications for globally changing fonts, icons, window decorations, window controls, window behaviour, file manager layout and wallpaper. What's missing? Animations?

If you want your desktop to sparkle, spin and dance, both the AIGLX and GLX projects appear to be focusing their work on Gnome. AIGLX is actively modifying Metacity, the Gnome Window Manage. GLX prefers Compiz, its own window manager, but Compiz is built on Gnome technologies like libsvg and gconf.

As for the claim that "KDE [...] is faster and slimmer than Gnome", show me the numbers. It's easy to have a form a wrong impression. Without actual benchmarking of some type, it is impossible to evaluate the accuracy of the claim. I have never noticed any speed or memory problems with Gnome, other than long standing gnomer-terminal window update issues that have (finally) largely been resolved.

Conclusion: Again, show me the numbers. How do you know that Gnome is losing users? A handful of anecdotal stories does not a trend make. Novell originally planned on only supporting Gnome on NLD. Gnome is Red Hat's preferred desktop. Gnome is the official Ubuntu desktop. (Kubuntu is a seperate but related project.) When ESR announced his intentions to move Linux on the desktop forward, he chose Gnome. It appears to me that both Gnome and KDE are very healthy and growing.

April 20, 2006

Installing and Upgrading Software Using RPM

Scott, please don't encourage people to blindly skip to rpm -Uvh. Always start by trying rpm -ivh, then if you get complaints about conflicts, then try performing selective updates using rpm -Uvh. On some distros, it is possible to have multiple versions of the same package installed at the same time. If you skip straight to the update, you might end up removing a package you'll later wish you'd kept.

April 18, 2006

Proprietary Software, Root of All Evil?

At the risk of giving the impression that I've found a new nemesis, this is in response to Aaron Topance's recent post. (/me waves to Scott)

How do you know that HURD developers rely on proprietary software? If I can survive without using proprietary software, I really doubt they find it all that hard either. The problem with the GNU/HURD is not a lack of proprietary software, it is the lack of a stable kernel. Put simply, the HURD isn't finished. Remember, Linux is also released under the GPL. The HURD has failed to attract a large number of developers because of its design, not because of its license.

What gave you the impression that GPLv3 will deny users "the ability to run proprietary software on their machine"? It is only under very specific, limited, artificial conditions that such is even a possibility, let alone a likelihood. Or do you know something I don't? Until then, you comment is pure FUD, not a good thing for "an OSS purist" to be spreading.

I guess what I'm saying is, claiming the HURD isn't widely used because of a lack of proprietary software is like claiming Duke Nukem Forever isn't widely played because of a lack of bananas. As for GPLv3, your statements are too incorrect/incomplete to lead to a useful conversation.

Gnome 3.0, A Response

This is in response to Aaron Toponce's post.

Is your concern just the version number? Is there something magical about the number 3.0 that makes you feel warm and fuzzy? Myself, I think the fact that Gnome should be proud to have made seven releases in a row, on time, without breaking compatibility.

With each release, Gnome continues to polish existing technologies and introduce new technologies. Although dbus didn't exist when Gnome 2.0 was released, it's becoming an integral part of the desktop. The long maligned file dialog has been radically improved since the release of Gnome 2.0, yet old applications continue to work just fine. When the kernel developers created inotify, Gnome quickly integrated it, resulting in significanly improved file monitoring post Gnome 2.0. That's three major post-2.0 improvements just off the top of my head, if one of us took the time to do actual research, I promise we'd would find many more.

I love the fact that Gnome doesn't feel a need to make major, intrusive changes just to create the impression of progress. *cough* Vista *cough* (But that's a topic for another post.) Last I heard, Gnome is reserving the number 3.0 for revolutionary changes. We're talking things like voice interface, pervasive computing, IP over telepathy, etc. My personal theory is that we'll see 3.0 when GLib/GTK+/Gnome get rewritten to take full advantage of multi-core, Cell like processors. Until then, I respect the fact that Gnome is maintaining compatiblity, making incremental improvements, and polishing Gnome into the most simple, most usable desktop around.

You claim you want something "something more streamlined and more integrated," but that's a pretty vague statement. Perhaps you'd like to elaborate by citing some actual examples. As long as you don't act like you're entitled to your every whim and desire, I'm sure the Gnome deveopers will welcome your input. If your ideas are good enough, they might even make someone itch enough to implement them.

Until then, Gnome is becoming increasingly integrated, but in a way I like. I like the fact that Gnome is loosely coupled. Which isn't to say it's disorganized, like you seem to be implying. Gnome has a strong community. It does have goals, but those goals reflect pragmatic recognition of what developers care about and are willing to work on. I like the fact that I can expect a new version of Gnome roughly every six months. That sort of consistency is only possible will good planning and coordination.

I guess what I'm saying is, what's the big deal? Version 3.0 is just a number. As for features, I like the state and direction of Gnome. Gnome has experienced significant improvement since 2.0, and it will continue to well into the future.

April 12, 2006

Making Metacity 2.14 Usable (part 2)

Shortly after posting my rant about Metacity 2.14's new strict focusing, a familiar name appeared on Utah Open Source Planet: Elijah Newren, Metacity developer. The source of my pain lived in Utah! Going back a few entries in his blog, it became obvious that he probably lived in the Salt Lake area. The only question left was, should I track him down and motivate him through positive reinforcement or would a little negative reinforcement be more appropriate?

Well, turns outs, Elijah must've seen me coming. I'm happy to say, he's accepted a patch that makes the new behavior configurable and reverts the default back to Gnome 2.12 style focus control. He's even trying to convince the Gnome release team that the change should make it into a Gnome 2.14.x release! As soon as I discovered this misfeature, I knew that getting it changed in 2.14 would be a tough sell. For everyone's sake, I hope he's able to convince his fellow Gnome developers that this really is the best course.

Making a change like this after a release probably wasn't easy, and certainly doesn't look good to his peers. That's why I'd like to say:
Elijah, as a public display of my gratitude, I want to offer to buy you and your wife dinner at Olive Garden (or comparable). In addition, if you get the patch into Gnome 2.14.x, I'll upgrade that offer to dinner at Rodizio Grill (or comparable).

April 11, 2006

Making Metacity 2.14 Usable

Many "power users" object to the direction Gnome has been going for the last few years. Myself, I have generally enjoyed the fact that Gnome "just works" so that I don't have to spend half a day configuring crack smoking options before I have a usable environment. That said, even I admit that window management in Gnome 2.14 is broken. Seriously broken. Kick to the groin broken.

Version 2.14 of Metacity, the Gnome window manager, includes enhanced rules to prevent applications stealing focus. The classic scenario is Gaim popping up a window and stealing keyboard input or hiding another window. Unfortunately, somebody went too far while trying to address this problem. As a side effect, applications launched from the command line end up hiding behind the terminal window.

Thankfully, Ron Yorston has created a patched Metacity RPM for FC5 that fixes the problem. If you're using FC5, the fast way to fix things is to:

su -
wget ftp://ftp.tigress.co.uk/pub/gpl/5.0.0/metacity-2.14.0-1.tig3.i386.rpm
rpm -Uvh metacity-2.14.0-1.tig3.i386.rpm
pkill metacity
exit

If you've been bitten by this bug and it made you want to start throwing chairs, be sure to leave a comment in the Gnome Bugzilla ticket. If you're using FC5, I would also encourage you to leave a comment in the Red Hat Bugzilla ticket. Frankly, this bug is embarassing. It should be fixed ASAP, but I'm afraid the developers might be tempted to leave it until Gnome 2.16.

April 10, 2006

ConTeXt - An Alternative to LaTeX

Looks like I won't be traveling this week. That means I'm presenting to Plug this month. Here's the announcement I gave Jayce^:

Many are familiar with LaTeX, a collection of macros built on Donald Knuth's TeX. LaTeX is very popular for publishing academic papers because of the beautiful output it can create. However, creating a custom LaTeX style is a near super- human feat. ConTeXt is a less known but arguably more powerful collection of tools also built on TeX. Stuart is currently using ConTeXt to create a custom publishing framework with high quality requirements. Come and learn what ConTeXt can do for you and whether you should be using it instead of LaTeX.

April 6, 2006

Python 2.5 Alpha

Looks like an alpha version of Python 2.5 is available. All of the changes sound pretty useful, some of them I wish Python 2.4 had right now. My favorites are:
  • A Python equivalent to the ternary operator: conditional expressions.
  • Unified try/except/finally. When I learned that Python currently has two different types of try statements, I was annoyed but not surprised. Pythons quirkiness is one of the reasons it will never be my favorite language.
  • The "with" statement, a feature most quickly understood by reading the example code. As it happens, I've been thinking about how to best achieve this type of functionality in one of my current projects. Whatever I settle on, it is certain to be less elegant.
  • Probably inspired by Ruby, the new ctype module can be used to call arbitrary functions in shared libraries.
  • Support for sqlite3 will be a standard part of Python.
  • Various minor changes to make Python more consistent and less quirky.

April 1, 2006

Off With Their Heads!

No, I don't mean that we should execute Hans and Doran for flooding the Utah Open Source Planet feed... Although the more I think about it, the better the idea sounds...

I'm talking about those ugly yellow smiley faces that are used for people who haven't submitted photos of themselves yet. Hand over your hackergotchis people! Don't make me make Gabe hunt you down. Not sure what pose to strike? Check out Planet Gnome for ideas.

Sadly, as I browse the Planet Gnome heads, I see that several people stole my idea. If I want a unique hackergotchi, I guess I'm just going to have to dye my beard green... Oh, wait...