Older blog entries for stefan (starting at number 28)


Today I made a new Synopsis release. Its main feature is an updated Cpp processor (aka. ‘preprocessor’) which is able to annotate macros and cross-reference them, just as Synopsis does with C and C++ declarations.
I updated the ucpp version that is used as backend. Hacking the required support hooks into that was surprisingly delicate.
Unfortunately, ucpp’s author and boost’s preprocessor experts disagree on the interpretation of the CPP specification, resulting in it not being able to process an important part of boost correctly.
A couple of years ago I attempted to use boost.wave as an alternative Cpp processor backend. Unfortunately, that has its own share of bugs, which very much restrict its usefulness, at least for applications such as Synopsis.

Syndicated 2009-04-17 18:49:04 from stefan.seefeld.name


I have recently completed a 1-month sabbatical that allowed me to work on Roundup. A big part of that consisted in pushing upstream lots of small (and occasionally not so small) fixes and enhancements that we developed at CodeSourcery. (For example, we dramatically improved performance for serving (large) files.)
I also worked on the XMLRPC frontend (hoping that this will allow customized client applications to be written).
Overall, I’m very happy with this work. As I knew I was going to work on this, I started by rewriting the Roundup website (discovering sphinx in the process), and migrating Roundup’s own bug tracker away from sf.net, near the python.org tracker. (We are finally self-hosting !)
The desired effect was to help revive the Roundup community (both, user and developer). It seems this worked well: now we even have a candidate project for this year’s Google Summer of Code !

Syndicated 2009-04-07 16:22:10 from stefan.seefeld.name

Freedom Evolves

I just finished reading Daniel Dennett’s Freedom evolves. I was most curious about the last part, where he went into topics such as the development of ethics and morale, but was also fascinated by the beginning chapters, where he nicely illustrates how determinism does not imply inevitability.

However, I was quite a bit uneasy about the middle part, where he discusses at length various objections voiced to his views. The vocabulary of the arguments is rather reductionistic in nature, and the whole debate reminds me of the pre-heliocentric description of planetary motion in terms of epicycles; Choosing a ‘wrong’ perspective can obfuscate what is being analysed.

Syndicated 2009-03-15 01:12:28 from stefan.seefeld.name

Bossa ‘09

I’v just come back from this year’s Bossa conference, which took place near Porto de Galinhas, Pernambuco, Brazil.

I was invited to talk about Hybrid Programming using Boost.Python.

The conference was interesting, allowing me to look at Free Software as used in embedded mobile devices (read: cell phones).

It was also a great opportunity to socialize, and just have a great time.

From Porto de Galinhas '09

Syndicated 2009-03-13 00:26:56 from stefan.seefeld.name

Polyphonies Corses

Last night we went to a concert friends of us gave, together with an invited ensemble from Corsica: Barbara Furtuna.
The concert was amazing. In particular, I noticed the homogeneity of the singers. Their vocal technique gives them an unusually wide range of harmonics, making it easier to adjust the pitch.
One of the singers noted in the concert that they don’t actually read music, making a collaboration such as this one particularly challenging.
(How do they communicate to work on pieces performed together with other groups such as Constantinople ?)
Barbara Furtuna

Syndicated 2008-11-04 13:03:11 from stefan.seefeld.name

After almost a year since the last release, I just announced version 0.8 of synopsis.

Synopsis is slowly shifting from a soure code documentation tool akin to doxygen to a full-blown code introspection tool, with a variety of code representations, useful for different types of software analysis, or even source-to-source translation.

In particular, this release contains a new C parser, which might be useful to people writing language bindings for, say, GNOME. Let's see whether they are interested...

The hardest part is still, of course, parsing C++. Thus I'm quite proud to be able to point at a cross-referenced view of boost code.

tk, you certainly accept that property is a category which doesn't exist outside human society. Even further, there have been societies without any form of property. Without getting into too much detail here, it would be important to define exactly what type of property we are talking about: there is conceptually a big difference between your private CD collection and the computer you use at work. The only one that plays a role in thie economic context is the second, which is a means of production.

Thus, if property exists, it is a form of our (social) existence, which is entirely the result of our own (human) evolution. This is the same evolution that shaped our (human) nature.
I'm unable to coin the term 'natural' in this context, you make it sound a bit metaphysical.

21 Mar 2002 (updated 21 Mar 2002 at 16:35 UTC) »

tk, property exists as a relationship we (human beings) establish. It's a contract. I'v never heared anybody deny the existence of intellectual property. The question is whether its existence is something we consider worth preserving, i.e. whether it makes the world a better place than not having it.

In this respect, it's important to consider Microsoft's argument seriously, although it is by no means a new one. It's the old dogma about human nature and its need for (material) incentives to be creative. For a nice treatment of that topic, you may want to read this paper.

Talking about project management (issue tracking, etc.), I came across this interesting tool, which renders a structured document interactive by various means.

I'm now pondering about how to enhance this idea further, based on docbook (the xsl stylesheets by ndw are nicely modular and extensible, so decorating the generated html with external references to tools such as a wiki would be a first start...), or a real issue tracker (I'm having a keen eye on scarab.

If anybody has seen other similar tools, or is thinking about working on such a tool, please get in touch !

Exploring how to combine different metaphors and paradigms together is always something I enjoy...

29 Jun 2001 (updated 29 Jun 2001 at 13:25 UTC) »

Added 3D primitive support to berlin last night. It still needs a lot of work for it all to blend nicely into one unified scene graph (using the appropriate traversal types as you walk through the polymorphic nodes, for example), but you can already get nice screenshots.

An interesting aspect to note is that I did all the prototyping in a python client, before I moved the code into the PrimitiveKit. The joy of using a location transparent and language transparent architecture...

I'v also been working on synopsis, in particular printable output formats. As it turned out, docbook isn't yet able to annotate programming languages, Abstract Syntax Trees in particular. *Sigh*.
I'll maybe go and make a proposal concerning some more entities, based on the AST type system I use inside synopsis.
In the meantime, I wrote a texinfo based formatter, which does the job quite nicely.

Just released a new version of synopsis. We have made amazing progress in the last couple of weeks, largely due to chalky who did a wonderful job at integrating the C++ parser and writing a flexible HTML formatter.
I'm very enthusiastic about this, as this is one of those rare situations where I have been able to colaborate pretty intensively on a project. While the other project I'm working on seems to catch a lot of attention, I'm mostly working alone on it these days, which is a bit boring. I very much welcome this refreshing change.

19 older entries...

New Advogato Features

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!