My picture.





mb2@mbreen.com [public key]

Michael Breen


Some areas of past or present interest and professional experience:

Statestep, a specification and modeling tool, embodies some further interests, including: formal methods; algorithms; automated checking; cognition and user interface design. Part of Statestep's UI design goal, for example, is to make it possible - even easy - for humans to consider large combinatorial spaces in a systematic and efficient way. You can find out more at the Statestep website.

Documents and notes

Statecharts: Some Critical Observations  [.pdf]  [.ps.gz] - A kind of "Statecharts considered harmful" article; should help with an awareness of where subtle errors can hide in a complex model.

On Abstraction in Finite State Machine Models  [.pdf]  [.ps.gz]
A short reflection on a cognitive issue relevant to finite state machine design generally.

Experience of using a lightweight formal specification method for a commercial embedded system product line  [.pdf]  [.ps.gz]
Requirements Engineering Journal 10 (2). Copyright 2005 Springer-Verlag. Author version. The original publication is available at springerlink.com. Describes the specification technique supported by Statestep.

Other Statestep-related documents are on the Statestep website.

Rational Java Indentation and Style. Coding standard including motivation based on cognitive and practical arguments.

Notes on m4. A tutorial introduction to m4: a neat but little-known macro language.

Notes on Yapps 2. Yapps is a clever, lightweight parser generator for Python.

Installing Fedora Core 3. Linux installation and maintenance notes. Though out-of-date, these notes contain some general tips which remain relevant, e.g., on keeping two Linux installations to make upgrades easier.

Drifting GlidePoint fix for Linux: When my mouse cursor began to drift of its own accord, I isolated the problem to the Alps GlidePoint device in the middle of my laptop's keyboard. There are lots of tips on the web on changing xorg.conf to disable it but none worked completely for me. Here is the /etc/X11/xorg.conf that did the trick.