Pulse

People who hang out on -hackers will have already heard me talking about Pulse.  No, not the awesome audio server.  That’s PulseAudio.  Pulse is my project tracker.  A crawler periodically rumages through things that are relevant to your software project and sticks things in a database.  Then we can see nice summary pages like this page for the Gnome 2.22 desktop.

At first glance, it might appear I’m just trying to clone CIA or Ohloh.  While I’ve taken some ideas from each, Pulse serves a different purpose.  You might compare it to Launchpad, although Launchpad is an active project manager, whereas Pulse is a passive project tracker.  marnanel described it as “Facebook for Gnome”.  No, I am not going to add poke.

Pulse grew out of the documentation team’s need for an automated documentation tracker.  We really need to be able to see, at a glance, what documents there are in a given release set.  We need to see who’s working on what and how far along those documents are.  And we need to see what modules should have documentation, but don’t.  My obsessive abstractionitis, however, led me to create a system that tracks everything.

If anybody’s interested in playing with it, the code is in git: http://www.gnome.org/~shaunm/git/pulse.git .  Here’s a rundown of things abrewing:

  • If you go to any module’s page, you can click the shortened comment of a commit for a popup with the full comment.  If this happens to be any module on svn.gnome.org, you’ll also see a yellow bar that lets you get diffs and info on svn.gnome.org/viewvc.  I’ve special-cased svn.gnome.org here, which I don’t like doing.  A general-purpose “find the webview for this SCM server” would be great.
  • I want to track mailing lists.  I think I’d rather avoid subscribing Pulse to any mailing lists, and instead just periodically poll each list’s web archives.  That much is pretty straight-forward code.  What I need to figure out is how to find the mailing lists associated with any given module or team, and how to find the web archives associated with any given mailing list address.  The less I have to special-case anything, the better.
  • I really want to track bug databases.  For any given module, I want to know what bug databases to use.  Notice the plural.  I would love to show stuff from distros’ downstream bug systems.  For any given bugzilla product, I want to know its components, and the default assignees and QA contacts for those components.  This is, by the way, incredibly useful for the documentation team, as we could quickly see what belongs to gnome-user-docs-maint@gnome.bugs.
  • If we could semi-reliably find FOAF files for people, we could show a lot more information about them.

Basically, Pulse should be useful, not just a collection of random interesting facts.  (Random interesting facts are great too, but only in the context of an otherwise useful system.)  If you’re a maintainer, I want the Pulse page for your module to be useful to you.  If you’re an occasional contributor, I want Pulse to make it easier for you to contribute.  If you’re a documentation writer, I want Pulse to help you find documentation to work on.  et cetera, et cetera.

Comments, suggestions, criticisms, flames, and praises welcome.

Recovering Deleted Files

Not long ago, somebody wrote a blog entry about recovering files from a partition. If anybody knows who that person was, please let me know in the comments.

Here’s what happened: Silke and I had a friend take a video of our latest Rueda performance on Saturday using our shiny new video camera. The camera just mounts USB mass storage. So I selected the videos in Nautilus, dragged them to a local folder, and deleted them. I know, dumb, right? The video of our performance is nowhere to be found, and I have no idea why. I know the video was actually taken, because we watched it on the camera right after the performance.

The first thing I did when I realized my mistake was dd the device to a local file. I’ve tried PhotoRec and Foremost. Foremost did jack for me. PhotoRec managed to recover some other videos I’d deleted, but not the one I want. Any other suggestions would be appreciated.

Update, this is the blog post I was thinking of. Thanks to Tobias who pointed me to Jakub’s blog which had a comment with this link.

Creative Commons Attribution 3.0 United States
This work by Shaun McCance is licensed under a Creative Commons Attribution 3.0 United States.