I sometimes browse around for personal web pages as a pastime. For example, I occasionally look up the web page of people who have posted an interesting article to some mailing list. This write-up is intended for those doing the same: It is a place that shows what kind of stuff I am generally interested in, and why. As is obvious, though, it is far from being finished.
Computer Science · Politics · Free Software · Law, Technology and Society · Others
Natural Language Processing — How to build computer systems that deal with human language? Which techniques are best used for analyzing, summarizing or translating texts? There are plenty of unsolved problems in this area, which is one of the many reasons why I find it so interesting. My special interest are high-performance techniques for symbolic methods.
Optimizing Compilers — A computer program is usually written in a high-level programming language. But in order to execute the program, it first needs to be translated into a form that is closer to the computing machinery. This translation is done by a compiler; a good compiler performs optimizations that make the program smaller and faster. I am mostly interested in optimizations that benefit from “high-level” knowledge, for example those for speeding up the execution of object-oriented programs. My diploma thesis was about a compiler for translating a unification-based linguistic formalism into RISC machine instructions, where some optimizations would have been extremely difficult to achieve with a lower-level formalism.
Programming Languages — I think that the gap between modeling techniques (such as the Unified Modeling Language) and programming languages is too large. For example, I find it quite surprising that even associations, a very fundamental modeling construct, are not well supported by current programming languages. A better match with modeling techniques should make it easier to build robust large-scale systems. However, an ideal programming language should also be easy to learn for newcomers. Finally, the language definitely should be designed in a way that gives compilers plenty of optimization opportunities, or else the language will not be usable for building large systems. My ideas are still somewhat vague, but I would like to substantiate them over the next few years.
Occasionally, I read papers from other areas of Computer Science (such as Visualization, Human-Computer Interaction, Distributed Systems or Computer Architecture), but I have to focus due to the unfortunately limited availability of my time.
It might say something about me that I reach a 71.4% nerdity score in the advanced nerd test, but I am easily annoyed by people bragging about their geekdom. I find the “locker-room mentality” at some places plain terrible, but it is good to know that I am not the only one who thinks so.
-----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS/H/O d- s: a C++$ ULB++ P--- L++(--) E W-(++) N- o? K? w-- !O M++ V PS++ PE- Y+ PGP+ t- 5? X? R- !tv b+++ !DI D-- G- e+++ h--- r+++ z? ------END GEEK CODE BLOCK------
I am very much interested in politics. My political views are described on a separate page, which also lists the organizations of which I am a member.
I support and use Free Software for reasons explained elsewhere, and I devote a significant portion of my time to Free Software projects. My commitment to Free Software was one of the reasons for founding my own company, Dandelis. I am also contributing to GNU Classpath, a free implementation of the Java class library.
I am also doing some political work in this area, for example with the Swiss campaign for Free Software, Wilhelm Tux.
Like many professionals in computing, I am concerned that technology is used to restrict people’s liberties. Although we expect our personal communication to be private, it is being monitored to an extent that would have been unthinkable a few decades ago. Even though democracy requires the right to consider all views, including those outside the mainstream, some countries mandate the use of filtering software. More issues are to come, for example with so-called “Digital Rights Management” systems.
Discussing — I like intellectually stimulating conversations. My spouse is by far the best and most interesting discussion partner I have encountered, but I also like to discuss various topics with other people.
Reading — I read a lot, both fiction and non-fiction books. The non-fiction books tend to center around a somewhat diverse set of topics: Computer Science, Urban Planning, Typography, Gender Studies.
Hiking — Living so close to the Alps is really nice, and I like hiking in the mountains. Unfortunately, I am somewhat fearful of heights, so I do not feel comfortable on the more adventurous paths.