Archive for the ‘Review’ Category
I finally upgraded from Fedora 13 to Fedora 15 on my beloved ASUS-UL30A-X5. It includes the new Gnome 3, with the “Gnome Shell” interface. It’s quite different from anything else I’ve used, and you can read lots of positive and negative impressions around the web.
Fedora 15 and Gnome 3 have awesome support for my laptop’s hardware. It’s simply flawless. You could not expect better software/hardware integration if you paid thousands of dollars for something from Steve Jobs. Fedora has been great about this for a long time, actually, although there was a video driver problem in Fedora 13 that would sometimes kernel-panic if I did a lot of suspending and resuming combined with plugging and unplugging external monitors. That’s not a problem I’ve seen in this release.
This is my work laptop, so it’s not important whether it’s cool or exciting. I am generally dealing with a lot of open windows, rapidly switching between them, opening new programs, finding files and directories, and so on. I need the interface to help me with that. So far, results are very positive, with a few things that are either giving me withdrawal pains or simply aren’t working as well as I need.
If you’re considering using Gnome 3, don’t just try it out on a live CD for ten minutes and decide it’s lame. It’s completely new and different, and you need to spend a little time actually learning it. You had to learn Mac or Windows or whatever you currently use; if you struggle with Gnome 3 at first, stop struggling and read the documentation for 15 minutes or so. The best and fastest place to get started is with the cheat sheet. You do things differently in Gnome 3. You don’t have your familiar start menu, taskbar, system tray, desktop icons, and so on. You don’t use your mouse, in general, although you can if you want to.
The Gnome 3 desktop environment is definitely beautiful and well-done. I’d say it’s the best-designed, fastest, best-integrated desktop I’ve used on Linux, and perhaps all-around the best interface I’ve used on any platform. (Mac OS X, for example, is very pretty but not very usable IMO, although it’s getting better these days with the ability to control it more completely without using the mouse. I’m not a Mac fan, for what it’s worth.) You can call it eye candy if you wish, and I won’t argue, but I’ll point out that it’s extremely tasteful eye candy. I never felt that KDE’s eye candy was anything but garish, by contrast.
It’s extremely easy and efficient to find and open programs in Gnome 3; much better than using a “start menu.” Press the “Windows key” and type the first few letters of the program’s name, then press Enter. Done. You can do the same thing to switch between your open windows.
The most important thing for me is managing a lot of open windows while switching between things a lot. This is the nature of my work, not something I’m doing wrong. I haven’t gotten used to this yet. I still want to be able to choose a window from the taskbar with my mouse, when I’m working with a mouse. It’s nice to be able to switch to a window with the keyboard quickly, but I need both abilities. Some activities, such as web browsing and graphics editing, are more mouse-driven. It’s most important to me that I don’t have to switch between the mouse and the keyboard, rather than solely that the keyboard can be used very easily. When I’m text editing in Vim (100% keyboard driven), the abilities to find and switch to other windows with just the keyboard are awesome. But I need both kinds of usability.
I haven’t gotten used to the distinction between alt-tab and alt-backtick, for switching between groups of applications and switching between windows within an application group. I might ultimately decide to configure the behavior back to alt-tab’s old familiar behavior. I don’t really think of groups of windows as applications/activities in a unit, which I think the Gnome 3 interface really assumes is the case. I group windows by using tabbed interfaces (browser, for example) in most cases; and when I have multiple windows of a single application open, they’re usually not related. For example, I’ll have several terminals open, but they’re not all for one task. I’m more likely to have Firefox with three tabs open, and three terminals, and an email or two, and a chat window — and the three terminals all correspond to different activities.
Gnome 3′s partial answer to this task grouping is completely redesigned workspace support. It’s awesome — it’s the way it always should have worked. But I’m not quite used to using it yet. I expect to use it a lot more as I relearn/unlearn old habits. In the meantime, when I have several Skype chats open and I want to find one of them, it’s a bit painful for me because Gnome wants to switch me to Skype, as a whole, rather than switching me to any given chat window. And if one of them is buried and visually not accessible, it’s hard for me to use the keyboard to get to it.
I use IRC a lot at work. I usually use XChat, but I decided to give the Gnome messaging platform a try. It’s basically Empathy, tightly integrated into the desktop environment, to make chatting easy and unintrusive. These videos show how this works. Unfortunately, Empathy isn’t a very richly featured IRC client, and this is one of those tools that I use so much and so specifically that I have special needs. I was able to tweak Empathy to make it alert me when people mentioned me by name, but I ran out of some other configuration options that I need. XChat lets me create custom key bindings to change my nickname easily, custom highlight words, and so on. From what I can see so far, Empathy doesn’t have that ability. And I’ve gotten confused or lost a bit of chat history/context a couple of times when odd things happened, such as the person at the other end of a private message chat changing his nickname. I might just need to learn how to use Empathy better, so I’m reserving my judgment a bit before I switch back to XChat. But at this point I think that Empathy is better designed for the “AOL instant messenger” type of chatting than it is for IRC, with its concept of multiple people in a single channel with changing nicknames.
I had to change one of the default window manager behaviors. My email client (Claws Mail) opens a new window to compose a message, and I have customized Claws to do almost everything with the keyboard. So when I press ‘c’, it opens a new message window. Gnome 3 decided to place this window behind my Claws Mail window, with the focus remaining on the main window, and a notification that my new window is ready to use. But then I have to switch focus to the new window to actually use it. This doesn’t work for me, so I started gconf-editor and changed the value of /apps/metacity/general/new_windows_always_on_top. That solved the problem.
I absolutely rely on Revelation for password management, and it has a nice panel applet / widget that I used heavily in Gnome 2. Unfortunately, Gnome 3 has no panels. So I have to use the Revelation program directly, instead of the applet. This is painful. The Revelation interface is not very good. I searched around for another password manager, but couldn’t find anything better (they all look worse, frankly). I don’t think that the native Gnome keyring manager is the solution I’m looking for. I have nearly 200 passwords, and I use dozens of them actively every day — and the number of paswords probably grows by two or three a week. I would be willing to pay some money for a really good password manager with tight Gnome integration. I’d love something keyboard-driven, that I can switch my focus to, type a few characters to search for the account I need to use, hit TAB to highlight the password, copy with CTRL-C, dismiss with ESC, and be on my way.
The default Gnome 3 interface is too gray and colorless. Active and inactive windows look the same. It’s too uniform. I wish the color theme were slightly more imaginative. And the window titlebars are too thick — it uses too much space. I think all of these things are fixable, but I don’t see an easy way to change the visual theme from the preferences dialog. I think I need to install some add-on to do this.
That brings up another minor wish: the system and user preferences don’t seem complete. There isn’t enough control in the control panel, so to speak. If you search the Web for tweaks, you see a lot of gconf-editor command-line one-liners. This isn’t good for most users; most people need a graphical utility that groups configuration settings together nicely for them. I assume that this is just because it’s new, and a lot of the most popular tweaks and add-ons will find their way into the next Gnome 3 release as native, built-in preferences dialogs.
In summary, I really like Gnome 3 and thank the Gnome team very much for creating it. I hope that many of the hiccups I’ve seen so far are just early-adopter syndrome, and it’ll get more complete and well-rounded in future releases. I probably need better and more configurable IRC functionality if I’m going to switch to using the built-in messaging/chat functionality, and I definitely need a better password manager in general. I might also need a taskbar or something similar to help me switch between running applications and windows when I’m using my mouse to control my computer. But all of this is early impressions, and I’m trying to learn to be a more skilful Gnome user, so I’ll see how that goes.
I bought a Barnes and Noble Nook Color e-book reader and ripped out the Nook software, replacing it with the CyanogenMod distribution of the Android OS. It’s really, really nice hardware, and CyanogenMod (CM) is really, really nice software. I love them both, and my regular readers will remember that I’m not a gadget guy. Read on for more.
I never thought I’d get a tablet, until my phone died and I got a Droid 2 as a replacement. With all those gadgets, I just started to find myself using my phone for reading my RSS feeds and so on — but hating how small the screen was. I started to think again about a tablet after experiencing how handy the smartphone’s extra features are.
The Nook Color Hardware
The Nook Color is a medium-sized Android tablet with a screen that’s the same size as the Samsung Galaxy Tab. It’s a perfect size for carrying around — much better than iPads and Xooms and so on, which are just too big for my taste. This device literally fits in the pocket of my jeans (specs).
The screen is amazing. It’s super sharp. But the Nook Color doesn’t have a microphone or a camera, and it doesn’t have any phone service. This is fine. I don’t want these items. I want a tablet to use primarily at home for consuming content such as blogs, books, newspapers, music, movies, and so on.
The best parts: 1) it’s way cheaper than a Galaxy Tab or similar tablets. It’s $250 at the store. And 2) it’s really easy to take off the stripped-down version of Android that comes with it, and put something better on it. Which brings me to my next point.
When you unpack the box, the Nook has a pretty nice little e-reader installed, with a simplified Android interface. It has limited functionality, which is fine. It does have a web browser and a couple other things, and BN recently added their own application store. But it’s really kind of lame. You can only get a small fraction of the apps that you could get through the Android Market.
I updated to CyanogenMod in two stages. First, I simply rooted the device and made it possible to install arbitrary apps from the Android Market. There’s a nice, easy process to do this. It’s called Manual Nooter. I tried this first instead of just going to CyanogenMod because I wanted to see what it was like. It was okay, but it was really obvious that it was a sort of layer on top of the underlying Nook. Pressing the Home button, for example, brought up a prompt to use the Nook home screen or the hijacked home screen for the new software. I tinkered around with this for a while, enough to determine that I didn’t like the patched look and feel. At the same time, I learned that the applications I wanted would work just fine.
So I moved on to CyanogenMod. Early reviews I’d read of this said it wasn’t ready for prime time on the Nook, but the newer updates seemed to be well received. So I backed up everything and took the plunge.
It’s really ridiculously easy to install CyanogenMod on the Nook, even easier if you don’t first update your Nook operating system. It took me longer to burn a bootable ROM on a MicroSD card than anything else. Full instructions can be found beginning at this page.
The result is just brilliant. I’ve now installed my preferred apps, stripped down the interface by removing some stuff I don’t want, such as multiple desktops (CyanogenMod is jammed with features), and I have a simple, elegant, perfectly functioning Android tablet. And I really mean it — there are no rough edges or crashes or anything you might expect from a third-party OS on your tablet. In fact, one of the things I like the most is that it doesn’t come with pre-installed adware, as my Droid did (and the stuff on the Droid can’t be uninstalled without rooting it and voiding the warranty, which is not something I’m going to do on my work phone).
If you want a small, light, thin tablet with WiFi that you can hold in one hand for reading books and newspapers and so on, which is easy to put in a pocket or purse and carry with you, and doesn’t cost much, then consider the Nook Color. If you want to turn it into something much more full-featured, then consider ripping out the Nook software and replacing it with CyanogenMod. The result is really superb.
I enjoyed this book a lot and recommend it to everyone who uses PostgreSQL or MySQL. MySQL users should benefit from understanding PostgreSQL. Beyond that, I learned a lot from this book that I can apply directly to MySQL. In particular, the book begins with a few chapters on hardware performance, benchmarking, and configuration. This material is database-agnostic and very well done. There is about 70 pages of it — it goes into a lot of details. It is more detailed than the similar material in my own book High Performance MySQL.
The rest of the book is much more focused on PostgreSQL. There are chapters on memory use, server configuration, maintenance (with a good survey of how PostgreSQL handles things like MVCC), benchmarking, indexing, query optimization, statistics, monitoring and trending, pooling, caching, replication, partitioning, proxies, and finally an extensive laundry list of common problems and how to solve them.
It was a pleasure to read — the quality and clarity of the writing is very good. Greg is an excellent writer and obviously put a lot of work into this book.