Showing posts with label project. Show all posts
Showing posts with label project. Show all posts
Sunday, February 27, 2011
react, a command line tool for inotify
Yes, it's 2011 and I am still using vim for software development. Damn, this editor is so good ;-). But it is not an IDE. Thus, one thing I was missing is automatically executing the compiler or the test suite.
Fortunatelly, there is the inotify API on Linux and associated inotify tools. They let you register callbacks in the user land when something happens on the file system. And even better, there is the PyInotify project, which provides Python bindings for inotify.
So, I went on and wrote react, which is a command line tool for inotify that is based on PyInotify. This tool monitors a directory recursively and triggers an external script every time a file that matches a user provided regular expression or shell file pattern is created or modified.
This tool really speeds up my vim-based software development. And it shows the value of bindings to a scripting language as I managed to finish the tool in under two hours. And as a side note: Python's argsparse is awesome! It is so good that I accepted to depend on Python 3.2. Hopefully this does not exclude too many users for now.
Thursday, October 30, 2008
Mailfilter
Ever tried to do something advanced with procmail? I did. Enough pain to sit down and find something better.
So fire, who is a friend of mine, and I came together one afternoon to write Mailfilter. This enables you to do your mail filtering with Python.
I really like the result. Check out this few lines which automatically result in one folder for each mailinglist I am subscribed at.
@filter("List-Id", "(.*)$") @filter("List-Post", "<mailto:(.+)>") @filter("List-Id", "[^<]*<([^>]+)>") def mailinglists(mo): return "ml." + esc(mo.group(1)) @filter("Mailing-List", "contact (.*)-help@(.*); run by ezmlm") def ezmlm(mo): return "ml.%s-%s" %(esc(mo.group(1)), esc(mo.group(2)))
Monday, July 17, 2006
Simulation of Channel Codes
Part 1:
Design und Implementierung eines Frameworks für Simulationen in der Kanalcodierung mit Anbindung an ein verteiltes SystemAlexander Bernauer
Institute of Communications Engineering, University of Ulm
Part 2:
Stephanie Wist
Links:
Wednesday, March 23, 2005
Gauss Project
I am proud to have helped realizing the Gauss Project:
There is currently much debate in Europe regarding SoftwarePatents in the light of the EU SoftwarePatentDirective and continued pressure to legitimize the EPO software patents dispite strong opposition. Motivated by this debate, we have build a Database of patent documents to document the current practice of granting patents on software in Europe.My job was to get the wiki integration done. Therefore I introduced virtual pages to MoinMoin, which read the patents data on the fly from a Postgres database.
Links:
Saturday, January 1, 2005
wwwsh
wwwsh - a remote shell over HTTP
Alexander Bernauer
CCC Ulm
Alexander Bernauer
CCC Ulm
Links:
- github project
- wwwsh is based on breakout.c
Monday, May 3, 2004
A Fragmentation Protocol for CAN
A fragmentation protocol for CAN (german) (erratum)
Alexander Bernauer
Abteilung für Rechnerstrukturen, University of Ulm
Alexander Bernauer
Abteilung für Rechnerstrukturen, University of Ulm
Links:
Saturday, January 20, 2001
Roborace
Some classmates of mine and I won the Roborace robotics contest of the Institute for System Theory and Automatic Control of the University of Stuttgart.
The task was to build a LEGO Mindstorms robot that follows a black line on the floor as fast as possible.
Kromm's Lucky Punch (german) is a documentation of our project. The key insight was that for the given assignment good mechanics are more important than advanced software.
The task was to build a LEGO Mindstorms robot that follows a black line on the floor as fast as possible.
Kromm's Lucky Punch (german) is a documentation of our project. The key insight was that for the given assignment good mechanics are more important than advanced software.
Subscribe to:
Posts (Atom)