Dague.net move

Wednesday, April 30th, 2008

Once upon a time I said I would never host my own email (or email in general), as it was a pain I didn’t want. Then, I ended up hosting email for mhvlug.org because it turned out to be the simplest solution. A week later I installed postgrey, and watched the spam rates drop by 80%. And it was good.

A couple things changed in the last year. Linode went from UML to Xen, which definitely makes each linode more powerful. My shared hosting company stopped being helpful. I had a couple of small outages. They had moved from a knowledgable support staff, to a support pool that was clueless, and never seemed to understand the ways in which their system was broken. And, after hosting mhvlug email for a while with no issues, it seemed reasonable that dague.net email would be safe there as well.

Backups (thanks to backuppc) have been ramped up from every 24 hrs to every 6 hrs on the box, to narrow my window in which I can screw things up. Only one set of email delays so far, mostly because I set a wrong postfix param over the weekend, which may have been blocking mhvlug.org email as well. But that is resolved now. Dan will at least thing I’m a real man now. ;)

Popularity: 19% [?]

Stupid Mutt Tricks

Monday, January 7th, 2008

Key bindings for the Mutt email project that I should have known a long time ago, but only recently figured out:

  • D - delete messages matching some term
  • T - tag messages matching some term

These make it a lot easier to purge out all the mass email bits that very quickly become noise when trying to catch up on 2.5 weeks worth of email.

Popularity: 5% [?]

Give the gift of Open Software this holiday season

Thursday, November 22nd, 2007

In the spring I came across The Open Disc, which is a collection of the best open source software for Microsoft Windows. This includes things such as: The Gimp, OpenOffice, Firefox, Thunderbird, Scribus, a bunch of Astronomy programs, and many more very useful applications. All are Open Source, and freely redistributable. This is a great additional gift to add into your holiday traditions!

I’ve made the following label (based on an early OpenCD design). Feel free to use or modify to your hearts content. Scribus source files are available as well:

Popularity: 5% [?]

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: 15% [?]

C# moment of clarity

Tuesday, August 7th, 2007

The good thing about changing technical focus is all the new exciting things to learn. The bad things is… all those new exciting things to learn mean your development output drops to the floor for some period of time. It’s always a frustrating window of time, be it a month or two, where you feel like an idiot. Having done these changes enough times in the past, I know this too will pass. That doesn’t change the fact that while you may have read 200 pages of developer documentation on a given day, your emacs buffer looks eerily similar at the end of the day as when the day kicked off.

Inevitably, you hit a break through, and now all that example test code that didn’t compile, and you didn’t know why, starts working, and patterns fall into place. Yesterday I had such a moment of clarity around C# and ADO.NET (which is MS’s db interface layer). It turns out that in the function “SqlConnection(string)”, Sql doesn’t mean “generic sql engine”. Sql actually means “MSSQL vendor extension”. Some set of compile errors yesterday got me to on a lark change that to SqliteConnection, and stuff worked. A lot of stuff worked, all at once.

I had to step back from the computer and make sure no evil spirits had come or gone in the process. Leave it to microsoft to very clearly muddle the difference between “something generic”, and “something only we have”, as to them the whole world looks like something only they have. Boo microsoft!

With that set of filters back in hand, the O’Reilly books around C# are now falling into place much more quickly. The persistence engine for OpenSim should have a good first pass by the end of the day, and I’m not feeling so stupid any more.

I also have to give MS some credit on ADO.NET. While C# looks a lot like Java, the patterns and objects they created for database interfacing looks way more like a dynamic language (be it php, perl, or ruby), especially on the read side. Read site, what will take 50 lines of code in C#, would probably be 200 lines in Java. So not boo to microsoft there.

Time to get back to that emacs buffer.

Popularity: 8% [?]

OSCON 2007 - Steve Yegge - How to Ignore Marketing and Become Irrelevant in Two Easy Steps.

Saturday, August 4th, 2007

Steve Yegge’s OSCON 2007 keynote is up online now. It’s a great talk, even if the slides didn’t work during it. He also finally lets out what the Next Big Language is, which he’s been alluding to for a while in his blog.

I’m really glad this got posted online, as this was one of the talks at OSCON I really wish I’d been there for.

Popularity: 4% [?]

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: 7% [?]

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: 11% [?]

The Thunderbird Paradox

Wednesday, July 18th, 2007

Something funny occurred to me the other day. I was one of the last folks locally to switch from Mozilla to Firefox (I still call it Mozilla). The big “complaint” everyone had with Mozilla was “it’s so big and bloated, has all these features that I don’t need in it like email. Who wants that in a web browser”. This made Mozilla Suite a more or less dead project, with little innovation left on it.

Jump forward a couple of years, and the people that were most vocal about moving to Firefox early on, all seem to be running Thunderbird. So now instead of having 1 application open that does both things (presumably a bit more efficiently as it shared a lot more code), they have 2. I’ll admit to firing up Thunderbird from time to time to check news groups, but my use of news groups dropped pretty dramatically once it wasn’t in my browser already.

Irony, you are a cruel mistress.

Popularity: 5% [?]

A novel aproach to addressing open source usability

Tuesday, June 12th, 2007

I was just doing my morning catchup on RSS feeds with trusty Liferea, and ran across ingimp in my freshmeat feed, which has a rather interesting idea.

The standard method for usability testing in proprietary software is to pay to bring in a bunch of people “off the street” while your product is in beta, sit them down in front of your program, and give them a list of tasks to accomplish. You record the whole thing. Then you go back and figure out how long each of those tasks took, but more importantly, what sort of mistakes people made. When asked to Enable Grumocks, what menu did they guess grumock controls would be in?

While this is all good and fine for people with a bucket of money, in open source, something like this really can’t happen. Ingimp is a modified version of gimp (not a plugin), that provides transmits back to a central server what you are doing with gimp. This lets them get a snapshot of users as to what kinds of images they most often modify, which tools are most often used, etc. From their website:

Who uses GIMP? What do they use it for? What size images do they work on? How many layers do they have in their images? What tools do they use? How frequently do they use the software?

These are all important questions to consider during design. However, precise answers to these questions are generally unknown for the GIMP. While usability studies of the GIMP exist, and mailing lists and bug tracking software host ongoing discussions regarding the GIMP’s design, it is difficult to characterize how the GIMP is actually used in the real world, on a day-to-day basis.

ingimp is an instrumented version of the GIMP designed to gather this information, with minimal effort required. Just use ingimp as you would the normal version of GIMP and it will automatically collect information about how you use it — the commands you use, characteristics of your documents (number of layers, image width/height, etc.), and so on. When you quit the application, your usage data is sent to this website where it is publicly available for anyone to analyze.

ingimp is part of human-computer interaction (HCI) research at the University of Waterloo investigating new forms of sustainable open usability. In particular, our goal is to research new tools that assist open source projects in their efforts to make more usable software, without creating significant new overhead to end-users, developers, or other project members.

Unfortunately their instrumented version is still Gimp 2.2, and I’m on a 2.3 build in my distro. Perhaps after the next stable series I’ll give it a go.

Popularity: 4% [?]


This blog uses the cross-linker plug-in developed by thruSITES web design company