Older blog entries for knipknap (starting at number 91)

19 Feb 2009 (updated 19 Feb 2009 at 00:44 UTC) »

Introducing Nanny

I have created something new in the last few days - although the application is very young, I have been working on the backing components for a much longer time. It is one of those times where a long period of tedious work finally turns into something useful.

Nanny is currently a terminal with a powerful integrated desktop wiki. However, Nanny is also a starting point for creating a powerful workflow application for the GNOME desktop. Let me walk you through some screenshots. At first glance, the main window looks like a terminal:

Main
window

However, after selecting a workflow…

Selecting a workflow

…something is different. Yay, a wiki-style workflow appeared!

Main window showing a workflow

You may edit this workflow in a very simple editor with all the features of a wiki, but none of the pain of wiki markup language. Here is the editor:

Editing a workflow

Linking to other workflows is easy, and of course you also get to view older revisions. I am particularly proud of the annotation feature, because implementing that properly with all the load/restore magic was a serious pain in the ass.

The future

While Nanny is currently clearly terminal-centric, this is just the beginning. I am planning to gradually make the terminal optional, replacing it by workflows that may kick start other scripts. I will also add more “active” features where you have a workflow with an actual state, and where different wiki pages are combined into one higher-level workflow. In short, this application should evolve into a general purpose workflow application.

Syndicated 2009-02-18 23:37:21 from Debain.org

Using Federico’s plot-timeline Script With PHP

I am currently trying to profile a PHP application, so I tried to find a way to create a call graph. Since I didn’t want to strace() the entire Apache process (which probably wouldn’t have worked anyway) I remembered a posting that showed how to do it with Mono. So this still depended on strace, but since I liked the plot-timeline.py script from Federico’s performance-tools, I decided to simply fake some strace output.

If you need to do the same, try the following:

  • Add this file to your PHP application.
  • Add some code similar to this:
    unset($tracer);
    $tracer = new CallTracer('/tmp/trace.log');
    function trace($_comment = '') {
      global $tracer;
      $tracer->trace($_comment);
    }
    
  • Sprincle trace() calls accross your source code.
  • Pass the resulting file to plot-timeline like this:
    python plot-timeline.py -o graph.png /tmp/trace.log
  • The result looks something like this:

    Syndicated 2009-02-07 23:02:49 from Debain.org

    Announcing: Freech now has a homepage!

    Seeing the freshmeat beta page inspired me to do some web design, and after a few hours of hacking the Freech homepage is born!


    (click on the image to go to the homepage)

    Syndicated 2009-01-24 13:37:15 from Debain.org

    Announce: Freech 0.9.18

    The last release of Freech is only two weeks ago, but there have been such a huge number of improvements that already here is the followup. Some of the new features include:

    Multi-forum support and a completely new front page (that may optionally be skipped if you are using only one single forum):

    The new front page

    The design of the forum has been simplified and optimized for smaller screen resolutions. A lot of detail has been put into making the looks of different forum pages more consistent, leaving a much cleaner overall impression. In addition, all pages are now XHTML1.0 (strict) compliant.
    Many other details were polished: Line wrapping in postings works even better, “breadcrumbs” (the path pointing to the current page) are shown on every page, video links are optionally embedded into posting, and a lot more.

    The simplified design of the forum

    A lot of work went into improving the administration features. Activities of moderators are logged on a dedicated page, and moderators may now lock/unlock other users. Spam handling and detection was greatly improved.

    The forum renders a lot faster by allowing the browser to cache more pages. As usual, a large number of bug fixes is also included in the release.

    Special thanks to Mario Deck for doing a lot of the work to make the forum XHTML1.0 strict compliant.

    Links:
    Download
    Project page
    Full changelog

    Syndicated 2009-01-23 15:01:16 from Debain.org

    Release: SpiffWarehouse 0.2.0

    SpiffWarehouse is a Python module for storing objects in a filesystem in a revisioned manner. While I do not recommend using it currently because the API is plain evil, it is a required dependency of some of my other projects, so here is the release nonetheless.

    Project page: http://code.google.com/p/spiff-warehouse/
    Download: http://dl.debain.org/spiff_warehouse/
    API documentation: http://docs.debain.org/spiff_warehouse/index.html
    Handbook (PDF): http://docs.debain.org/spiff_warehouse/en/spiff_warehouse.en.pdf

    Syndicated 2009-01-11 21:40:17 from Debain.org

    Release: Bibshelf 1.6.0

    I am happy to announce the release of a new version of BibShelf 1.6.0, the book organizer for the GNOME desktop. This release is mostly a maintenance release that fixes gcc 4.3.2 compatibility and adds several translations.

    Special thanks go to all translators, including:

    da: Joe Hansen
    de: Samuel Abels
    es: David Lara
    fr: Nicolas Provost
    ga: Kevin Scannell
    id: Andhika Padmawan
    it: Marco Colombo
    ms: Sharuzzaman Ahmat Raslan
    nl: Mark Haanen
    nn: Eivind Ødegård
    rw: Steven Michael Murphy
    sv: Daniel Nylander
    vi: Clytie Siddall
    wa: Pablo Saratxaga
    zh_CN: YueGuang

    The updated release can be downloaded here:
    http://dl.debain.org/bibshelf/

    The project page is here:
    http://code.google.com/p/bibshelf/

    Syndicated 2009-01-11 21:24:52 from Debain.org

    Release: SpiffGtkWidgets 0.2.0

    SpiffGtkWidgets is a collection of Gtk widgets (currently a calendar and an annotated text view) for Python. This release comes with a number of bugfixes and with an improved installer.

    Links:
    Download
    Project page
    API documentation
    Handbook (PDF) (incomplete)

    Syndicated 2009-01-10 20:16:43 from Debain.org

    Release: SpiffIntegrator 0.2.0

    SpiffIntegrator is a small but powerful package manager for adding plugin support to Python applications. This release works with Genshi 0.5, and improves the build infrastructure to make it a lot easier to install.

    Links:
    Download
    Project page
    API documentation
    Handbook (PDF)

    Syndicated 2009-01-10 20:06:52 from Debain.org

    Release: SpiffGuard 1.9.2

    SpiffGuard is a library providing generic access lists for Python. This release works with sqlalchemy 0.5 and improves the build infrastructure, making it a lot easier to install. A few minor bugs were also fixed.

    Links:
    Download
    Project page
    API documentation
    Handbook (PDF)
    Handbook (PDF) (German)

    Syndicated 2009-01-09 17:12:43 from Debain.org

    Bugfix Release: Freech 0.9.16-1

    This is a quick followup to the last release of Freech that fixes several problems with the package. If you had problems installing the software, release 0.9.16 should fix them.

    Download: http://dl.debain.org/freech/

    Syndicated 2009-01-09 11:13:32 from Debain.org

    82 older entries...

    New Advogato Features

    New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

    Keep up with the latest Advogato features by reading the Advogato status blog.

    If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!