Archive for the 'linux' Category

On returning to Gnome

Wednesday, October 24th, 2007

Just over a week ago I completely my conversion to Ubuntu (my laptop was the last machine over).  One of the reasons for doing this conversion was to get the benefits of some of the gnome stack, like dbus, which are very nicely configured in the Ubuntu environment.  It meant that after about 1.5 yrs with Ion, I gave it up for the default Ubuntu Gnome environment.

Running Ion for a year and a half gave me perspective on a few features that are really nice:

  • Go to Window By Name - Alt+G, start typing a window title name, go
  • Go to Urgent - Alt+K, jumps you to windows that need your attention
  • Go to Prev - Alt+K, if no urgent, jumps between current and last window
  • Dynamic Desktop Creation - for a new work effort move everything to a new workspace that is relevant to it
  • Kludges - policy based placement of windows so Pidgin stays on it’s own workspace
  • Full screen windows are the way to go
  • Scratchpad - a frame that is smaller than the rest of the workspace that pops up and back on demand.

There were also a lot of drawbacks:

  • Ion had so many key bindings it tended to collide with xemacs bindings (like Alt+G).  I lost some xemacs functionality while running Ion
  • Ion didn’t really do multi window applications well, like Inkscape or Gimp.  There was a float workspace type which acted like very old fvwm.  As such I tended to use Gimp and Inkscape less because they were hard to manipulate in the environment
  • Tumo (the Ion maintainer) decided that people were forking his software, so he removed access to the darcs repository, and you could only get snapshots.  And he changed the default license to something very odd.  Running a software stack that is fundamentally unsupportable because the maintainer is actively trying to make it hard for people to get source access is bothersome.
  • Config formats changed, and 2 attempts to roll forward to something current wasted 2 hours each.

One of the reasons for Ubuntu is that their community support is pretty good, and using main path base software was what I was looking for.  But I learned a lot of lessons in the time with Ion about things that I liked, and wanted to duplicate in a gnome environment.

Policy Engine

After watching many people in meetings on MS Windows get a sensitive IM while they are giving a presentation, and scrambling, you realize the value of a policy engine for windows placement.  IMs are always on Workspace 5, always.   My presentation won’t be on  Workspace 5, so  I can get to the IMs when I’m ready to deal with them.

One upon a time, the default gnome window manager did this.  Then we got Metacity, which pretty much can’t do anything (interesting enough that compiz is bringing features like this back).  The fact that useful features are being slipped past the anti-feature HIG overlords under the guise of eye candy has a certain irony that you don’t find many places. :)

However, my laptop is old.  It can’t do compiz.  That’s ok, as Devil’s Pie can do it for you instead.  Devil’s Pie lets you create small policy files in lisp which control window behavior.  Before you run away screaming because of this being lisp, look, it isn’t that bad:

(if (is (application_name) “firefox_bin”) (set_workspace 2)

See, didn’t make you blind or anything.  The policy for devil’s pie is way easier to grok than ion’s kludges file, and provides a few more options.

Scratchpad for Terminals

Remember Quake?  No?  Well it’s that first person shooter all us old folks rave about, as it existed prior to 3D hardware, and let us waste nights in college on our brand new Pentium computers.  When you hit the tilda button, you got a drop down console, that did an overlay on your screen, and let you type in commands, or Say stuff.

Behold Tilda.  The default configuration actually does look like the Quake overlay.  With a bit of configuration you can make it look like an Ion scratchpad with a terminal embedded.

Unfortunately I’m having mixed success with rendering in Ubuntu 7.10 (plus a bad interaction with the next piece of software).  I’m bad, and haven’t sent in a bug report, but I will so.  When tilda was working for me, it was great. 

In full disclosure I need to say I found out about Tilda by listening to LUG Radio, where Aq brought it back in the spring.

Desktop Navigation

Once I started to use Gnome again I knew I needed better desktop navigation than the default.  I even set aside most of a weekend to write my own “go to window by name” program, as I was convinced that libwnck would give me enough to do that.  While writing a bunch of sample code that would get, but couldn’t set window properties, I found superswitcher.

Superswitcher takes over your Windows key and/or Caps Lock and creates all manner of interesting key strokes to navigate and control your work spaces.  I’m pretty convinced it was designed as the ideal test can for libwnck, as it seems to use all the features in there.

You can dynamically create/destroy workspaces, navigate very nicely through windows based on typing partial names.

Things that I still want

Tilda to work.  After a few rez / derez of tilda on gutsy, it stops displaying properly.  I need to file a bug on this.

Jumping to urgent windows with Alt+K, and a command line interface to “Go to window by name”, which let’s me have an edit command that loads a file in xemacs, then jumps my focus there.  With the code provided by superswitcher and devilspie that shouldn’t be too bad, as soon as I figure out why libwnck was ignoring all my set requests for focus and workspace changing.

Superswitcher currently segfaults when tilda is running.  This has to do with tilda not being in any workspace, which defies the superswitcher logic.  Should be an easy fix, just need to carve out an hour or two to do it and send it in.

What makes you productive in Linux?

Sit down and think about it some time.  Post a comment about it, I’d love to hear your thoughts on this, as well as any experiences with other interesting Linux desktop tools that collectively make your environment optimized.

Popularity: 16% [?]

I love my new media player

Friday, August 31st, 2007

Two weeks ago my venerable iRiver H340 decided that this whole battery powered thing was so passe, and refused to run for more than 5 minutes at a go before declaring that it was done, and should be plugged back in. This is an incredibly unuseful state for a portable digital audio player. My attempts at open heart surgery to replace the battery appeared to go well, but the H340 no longer thinks it has any battery now.

During this digital outage, I posted off to the MHVLUG lists asking for possible opinions on new players. My requirements were:

  • Must support UMS (USB Mass Storage). Rsync is the way the universe intended us to move data around, and I’m not interested in using someone else’s DRM laced protocols (which may or may not work in Linux) to get access to my player. Hence no iPods or “Plays for Sure” players.
  • Relatively large storage. The H340 is a 40 GB HD. I just rsynced everything over to it, and didn’t need to decide in advance what I wanted on my player. Small flash drives are nice, but they don’t support the way I use a player.
  • FM Radio. My H340 had an FM radio in it, which I thought was an odd feature at first. Then I had power issues at the house, and I used it to listen to NPR while I worked from home waiting for the power company to arrive. In the last year I’ve started to use my player while mowing the lawn (under some really nice ear protectors). If it’s Saturday or Sunday morning, I like listening to Morning Edition while I do it. I might be able to live with a player without FM, but I really wanted it there.
  • Ogg support. While this is less of a requirement than those above, I have some content ogg only, and I really didn’t want to deal with converting or reripping that content. Plus, I haven’t sent Thomson my 3 quarters yet.

This very quickly narrowed the field. The winner of my search turned out to be the Cowon A2, which is a 30 GB player that also does movies.

There are so many good things about this player, including the fact that it ships with a GPL notice in the box, and that it does USB host support (so you can transfer data to it from other USB devices). However, a single feature that I didn’t even know it had in advance has sold me on this device forever.

One of the items in the top menu is Recent Files. In recent files is the last 10 files that you have stopped viewing/listening to. These files can be of any type the player supports, and the reason for stopping can be anything (power shut off, pause, jump to something else). It stores the files, as well as your position in them, so they can be resumed directly where you were previously. This is bloody brilliant. No more needing to wait to get to the end of a CD in an audio book before I jump to the latest podcast I pulled down, to avoid having to seek for 5 minutes to figure out where I was in the audio book. For this single feature, I would recommend this player.

So here’s to at least another week in geek nirvana with my new toy, and now I finally get to see the cover art that is embedded in the drunk and retired podcast episodes. :)

Popularity: 10% [?]

Ubuntu package of the day: sl

Monday, July 30th, 2007

Love it when you find packages with a sense of humor. :)

Package: sl
Priority: optional
Section: universe/games
Installed-Size: 132
Maintainer: Kenshi Muto
Architecture: i386
Version: 3.03-14
Depends: libc6 (>= 2.3.2.ds1-4), libncurses5 (>= 5.4-1)
Filename: pool/universe/s/sl/sl_3.03-14_i386.deb
Size: 15976
MD5sum: de03e0be86e8d7b0c7c3b3b2cbf246ef
SHA1: 25fbec4a67ec2875852439be948704d456a557bb
SHA256: 4a7a4cf5cdbe5756226590219c4ef2ff7dce04ca9e096f5be86e8a555d83bc6c
Description: Correct you if you type `sl' by mistake
.
Sl is a program that can display animations aimed to correct you
if you type 'sl' by mistake.
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu

apt-get install sl to get it, and see what it does. I think I’m going to leave it installed just to amuse myself when I type too fast.

Popularity: 6% [?]

Switching to Ubuntu

Sunday, July 29th, 2007

In the last month I decided to switch my primary Linux distro from Mandriva to Ubuntu. It will take me until the end of the year to fully switch over, mostly because my work laptop can’t really afford the downtime, and it is scheduled for replacement come November anyway. There were reasons for leaving Mandriva, such as:

  • Stuff doesn’t “just work” on Mandriva any more. Recently I was doing some work where I wanted to reevaluate IDEs. The monodevelop and eclipse packages that I could get for the distro fell over sideways immediately. :( Even f-spot doesn’t work out of the box.
  • The perpetual issue that it took a month after release for the package install mirrors to sort themselves out, and the club urpmi repository has broken ssl certs, so curl won’t work with them.
  • 2007.1 breaks 3D on my laptop, so I can’t upgrade. Even though it is only basic 3D, it is enough to run the test apps I need for my work. In the current rev of Mandriva, I’m SOL.

There were also plenty of really good reasons to go to Ubuntu:

  • Being familiar with what I’m handing out. 12 months ago Ubuntu became the clear winner in the “Hey new person at our LUG, if you want to try Linux you should start with this“. Canonical sends me a bag of CDs whenever I ask for them, and they make good give aways at the LUG. I’d say better than 50% of our LUG is now on Ubuntu.
  • Easy for schools. I started doing some work with public schools in getting free / open software into them. Ubuntu / Edubuntu is definitely a good place to start. Again, being able to help support these folks with what they are using is a good thing.
  • Mono Integration. Ubuntu has been staying on top of the bleeding edge of Mono, as they use it for a lot of their featured desktop aps. Mono/C# is now part of my day job, so having the latest and greatest is a good thing.
  • Mark Shuttleworth.
  • Launchpad. Unlike all the rest of the distros the Canonical folks are actually spending time on their own support infrastructure, which is really good. While I wish they would support hg in addition to bzr for source management, it is a quite good start.
  • Polish. Ubuntu installations only start from a Live CD, so you can know that your system works with Ubuntu before trying to install. This means your risks of having a multiday failed install are drastically lowered.
  • Mark Shuttleworth. Seriously, go read his blog. He is an incredibly inspiring guy, and has really provided a vision of Linux hackers / users as human beings instead of IT trolls snapping at users.
  • Raw numbers. The number of Ubuntu users are on the rise, quickly. For instance, nomachine offers Ubuntu packages for their NX software. This has the side effect that I’ll be able to create less custom packages, as many more folks are packaging for the platform.

I’m sure I’ll think of more reasons, and rationale as I progress down this new road. I’ll also post on various bits about Ubuntu I’ve found either good or bad in the process. Other than the lack of a service command (which I’m just going to build my own package for, as muscle memory on tab completing that is too hard to break), the transition has been very smooth. My home desktop was migrated last weekend, and the media server just a couple of hours ago. Once I get back from vacation, I’ll start hitting some of the boxes at work that I maintain.

Popularity: 10% [?]

Nagios revisited, the debian way

Sunday, July 29th, 2007

I have to give the debian/ubuntu folks some credit for their packaging of nagios. While the mandriva configuration was pretty straight forward, you had to normalize things a lot yourself, otherwise you were adding 20 new lines for each service and/or host.

The configuration that is default in ubuntu uses hostgroups very effectively, so you setup a host group for every type of service. If you want to monitor a webserver on a host, you just add it to http_servers. In about an hour I had completely rebuilt my monitoring setup for home and offsite servers, and was getting alert emails again when things go funny.

Nicely done folks, nicely done.

Popularity: 9% [?]

Big Ideas

Saturday, July 28th, 2007

These days my car stereo functionally has three modes: WAMC (our local NPR station), XM 84 (Electronica), AUX in for Drunk & Retired podcast (I’ve gotten into the 40s on the backlog of episodes). Usually when I have other people in the car, I have it on WAMC or XM 84, but turned down, so it’s not that audible.

Yesterday, I drove for lunch. One the way back, while sitting at a light, I heard the following very quietly through the radio.

I love Linux!
I love Open Source!

Well that’s an odd thing to hear on NPR, so I turned it up. The speaker then started talking about virtual worlds, which is also not the kind of thing you tend to hear randomly on NPR. We had to make a quick stop, so once I was back in the office I looked up the program.

What I was listening to was Word for Word’s broadcast of the Big Ideas Conference from Aspen. If you pull these week’s podcast, and jump to 03:00 in, you’ll hear the same bit. It’s only 5 minutes long, as they had 10 speakers in an hour, but it is an interesting perspective on the power of virtual worlds for a less tech savy audience.

Popularity: 7% [?]

More gems from Redmonk: Google Linux Repositories, and DrunkandRetired.com

Thursday, June 28th, 2007

From sogrady’s daily links post (which I tend to find one new gem in every other day), I found that Google has a set of online repositories for just about every Linux distro out there. What a great way to make sure you’ve got the latest google earth, or any of their other apps you like. (Update: Apparently the repo only contains 2 packages, picassa, and google-desktop-linux. Boo google for not putting google earth in there, which is the only app I really care about at the moment.)

Through sogrady’s links I also came to the drunk and retired podcast, in which cote (another Redmonker) discusses current trends in technology, as well as dives into some technical topics in depth. The discussion of parsers, and Domain Specific Languages recently was surprisingly coherent for trying to explain something like that with audio only. While this isn’t MIT lectures by any stretch of the imagination, it’s a pretty good place to get exposed to technology trends that might be outside of your normal day to day environment.

Popularity: 5% [?]

Long standing man page display issue fixed

Wednesday, June 13th, 2007

As I slowly started to upgrade my Linux systems between distros I found that my man pages started looking really bad. Basically, the magic color formatting codes were being escaped, so I would get pages like this:

ESC[1mNAMEESC[0m
ls - list directory contents

ESC[1mSYNOPSISESC[0m
ESC[1mls ESC[22m[ESC[4mOPTIONESC[24m]… [ESC[4mFILEESC[24m]…

This, it turns out, makes it very hard to read. :) Once my laptop finally succumbed to this fate, I needed to figure out a fix. I had originally thought it might be something to do with locales, so I turned off UTF8, to no avail. Yesterday I finally got around to digging deeper and in /etc/man.config found the following:

# Useful paths - note that COL should not be defined when
# NROFF is defined as "groff -Tascii" or "groff -Tlatin1";
# not only is it superfluous, but it actually damages the output.
# For use with utf-8, NROFF should be "nroff -mandoc" without -T option.
# (Maybe - but today I need -Tlatin1 to prevent double conversion to utf8.)
#
# If you have a new troff (version 1.18.1?) and its colored output
# causes problems, add the -c option to TROFF, NROFF, JNROFF.
#
TROFF           /usr/bin/groff -Tps -mandoc -c
NROFF           /usr/bin/nroff -Tutf8 -mandoc
JNROFF          /usr/bin/nroff -Tutf8 -mandocj

Changing the NROFF and JNROFF lines to have a -c on them means that my man pages look right again, and I get the following:

NAME        ls - list directory contents  SYNOPSIS        ls [OPTION]… [FILE]…

Hopefully this post will help someone else deal with the same problem in the future.

Popularity: 4% [?]

MHVLUG Updates

Monday, June 11th, 2007

June’s LUG meeting last week was on SELinux, presented by Bruce Locke. The subject is amazingly complex, and hence the talk ran the full 2 hours, with lots of great meaty information throughout. The SELinux transition model has always been something that I found interesting, but didn’t fully grok, and this talk helped quite a lot in that regard. Bruce used php in apache as the canonical example of a security issue you need to contain. While my opinion is largely don’t install php on any public facing machine, when you need to support real users, like Bruce does at SUNY New Paltz, that isn’t much of an option. At least with SELinux when, not if, your php app gets hacked, it can be contained pretty well, with a much smaller chance of getting a root shell. The explanation of the targeted policy in Fedora and RHEL was also useful, as it makes SELinux a lot less scary to run. SELinux has a long way to go on usability, but with the Fedora targeted policy, at least it is vaguely usable today.

I’m quite excited for the July meeting coming up, as James Vasille of the Software Freedom Law Center is coming up to talk. A full abstract will be up soon, but for those who have questions around the legal aspects of Open Source, here is one of the experts on the subject. SFLC worked with the Gaim community to get them through their suit with AOL over AIM trademark infringement (god I hate Time Warner). I’ll let James explain a lot more on what they do once he is here. It will be great to have him.

We’ve got September lined up, as Ed previously offered to do a dog and pony show on his Linux CNC machine. Perhaps we’ll add other show and tell Linux devices for that meeting.

August, and months after are still up for grabs, with a few folks giving me some tenative commitments at this point. As always, we are looking for speakers. If you can find someone that is interested in speaking, we’ll appreciate it. Finding and filling the speaker schedule of MHVLUG is always the biggest challenge, and help on that task is welcomed.

Popularity: 8% [?]

LUG Radio, Redmonk, and other things I learned recently

Monday, June 11th, 2007

I was attempting to find a useful podcast tool on Linux so that I can get This American Life as a podcast, instead of my normal method of timeshifting our local NPR station. After a few attempts I found Castpodder, which had the best interface of any of the pieces of software that I could just package install off the network. And off I was to start setting up podcasts.

Castpodder had the benefit of prepopulating the tool with a couple of podcasts, one of which was LUG Radio, a regular podcast by a bunch of Linux Users in the UK. While there are parts of it where I think they could get their facts a bit better, overall it is a pretty amusing show, and it has definitely let me know about a few things I wouldn’t have otherwise.

One of them was Redmonk, an open source analyst firm. These guys do analysis of open source software and communities from a business perspective, and post all their content online. From their charter:

RedMonk is the first analyst firm built on open source. We’re dedicated to providing high quality research at no cost, and believe that the dialog that follows is beneficial to us, our community and our clients.

They also have a podcast, though I haven’t started listening to it yet as I’m getting through some of the LUG Radio backlog right now. However, as we start looking more at Linux in schools, it’s good to get some information on best bractices in Open Source beyond just my own personal experience. Redmonk looks like a reasonable place to gather some of that information.

The last thing I learned is that C# doesn’t kill puppies, at least not that many of them. I’ve been looking at it a bit recently, and basically it’s Java with all the rough edges scrubbed off. The fact that there is an actual open implementation that works, and that it comes with nearly every distro now.

Popularity: 11% [?]