Stefan D. Bruda, PhD

I am Professor of Computer Science with Bishop's University. That's in Sherbrooke, Quebec (the Lennoxville borrough). You can get hold of me in a number of ways (incidentally speaking, I consider HTML email and propriatery attachments harmful). There are many ways I am keeping myself busy, some of them described (or suggested) below.

I am proud to belong to a university with deep tradition of scholarship despite attempts to dumb down the university image.


My research work started with formal languages and complexity theory. This work gained a flavor of parallel and then real-time systems during my PhD work with the School of Computing at Queen's University (within the Parallel Computation Group and under the supervision of Selim G. Akl).

Since finishing my PhD, I remained in the area of real-time computations with particular emphasis on parallel and distributed systems. The main drive is now formal methods and conformance testing, but I am also involved in complexity-theoretic approaches and to some degree in systems.

In all, my research interests are in the area of formal software engineering, with emphasis on real-time systems. I am also interested in parallel computation, complexity theory, and formal languages.

I try to maintain electronic versions for all my publications. My Erdös number is 4 (Stefan D. Bruda—Selim G. Akl—Nicola Santoro—Shmuel Zaks—Paul Erdös). I might be old fashioned, but I still believe that a strong theoretical foundation is a prerequisite to understand, create, and improve computer technology.



I am not teaching over this summer.



I am a big fan of Emacs and XEmacs (in fact, I do almost everything from within Emacs, including reading email). I used to favor XEmacs heavily, but sadly it has reached an almost universal end-of-life status so I grudgingly moved to Emacs (prettier but slower and quirkier). When I have a chance, I also do a bit of Emacs programming, though it is probably more accurate to name it Emacs hacking. Here are some random hacks that might be of interest to other people than myself. (you might be interested in the major mode for multimedia library management, I personally find it better than any other similar application I could lay my hands on). A bit more consistent contributions include:

  • prolog-mode is a major mode for Prolog programming under Emacs and offers to my knowledge the best Prolog IDE out there.

I put together several random pieces of information drawn from my personal experience that might be just general enough to be useful for other people.

Java gotchas

Selfish code and more selfish code

I am an amateur (but passionate) photographer. I will update my photography page real soon now™.

I listen to music a lot (mostly jazz, blues, and classical). I enjoy reading. I am a big fan of Umberto Ecco. I like Jacques Prévert (bilingual; English translations), Lewis Carroll, Larry Niven, Philip K. Dick. To be honest, this is just a lazy glimpse into all of it, as it only contains links that I found awhile ago. I will try to update this blurb at some point, but please do not hold your breath. Representative poetry on-line (from University of Toronto English Library).


Definition of Love

First paint a cage
with an open door
then paint
something pretty
something simple
something beautiful
something useful
for the bird
then place the canvas against a tree
in a garden
in a wood
or in a forest
hide behind the tree
without speaking
without moving…
Sometimes the bird comes quickly
but he can just as well spend long years
before deciding
Don't get discouraged
wait years if necessary
the swiftness or slowness of the coming
of the bird having no rapport
with the success of the picture
When the bird comes
if he comes
observe the most profound silence
wait till the bird enters the cage
and when he has entered
gently close the door with a brush
paint out all the bars one by one
taking care not to touch any of the feathers of the bird
Then paint the portrait of the tree
choosing the most beautiful of its branches
for the bird
paint also the green foliage and the wind's freshness
the dust of the sun
and the noise of insects in the summer heat
and then wait for the bird to decide to sing
If the bird doesn't sing
it's a bad sign
a sign that the painting is bad
but if he sings it's a good sign
a sign that you can sign
so then so gently you pull out
one of the feathers of the bird
and you write yours name in a corner of the picture

Jaques Prevert: To Paint the Portrait of a Bird (English translation by Lawrence Ferlinghetti)


I apologize for...