Inform 7
Damn, Inform 7 is a truly impressive piece of software. Knowing how hard it is for software to understand the human language, the explanation in the “syntax error” message boggles my mind.
Inform 7
Damn, Inform 7 is a truly impressive piece of software. Knowing how hard it is for software to understand the human language, the explanation in the “syntax error” message boggles my mind.
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:
However, after selecting a workflow…
…something is different. Yay, a wiki-style workflow appeared!
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:
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.
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:
unset($tracer);
$tracer = new CallTracer('/tmp/trace.log');
function trace($_comment = '') {
global $tracer;
$tracer->trace($_comment);
}
python plot-timeline.py -o graph.png /tmp/trace.log
The result looks something like this:
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!
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 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.
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.
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
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/
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)
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.
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)
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!