Older blog entries for cactus (starting at number 57)

Project idea

There has been some discussion here on using the Advogato diary entries on private home pages, by using XSLT to create HTML from Advogato's XML format. But I have a better idea: a client-side GUI application that stores all your private and non-private diary entries in one central XML file. Using our own XML format instead of straigt HTML will make it possible to include more complicated constructs, like footnotes.

There are several motivations behind this project: first, I want to use an application like that myself. Second, it is to be designed with the user experience in mind -- a user-oriented process, like nerdgir1's iRecipe project. Third, I'd like to learn Python and this looks like a small and light application for that.

I'll write detailed design documents and put them up on my website shortly. As for a timeframe on the implementation, "sometime this century" sounds the most accurate.


tk: Czechoslovakia? This makes me believe all those stories about the ignorance of Americans are true.


Hacking on Pangomm (part of gtkmm). It was a lot of fun, once I got the hang of the gtkmm type system. Our end-developers will have no idea of the huge infrastructure behind the elegant and simple API. Of course, this is a good thing.

Watched High Fidelity on TV. I liked it, but it's nothing like John Cusack's other best-known movie, the mind-fuck that is Being John Malkovich.


I'm ill: I think it's the flu. As always, the first night with fever was hell itself. In the first few hours, as you lay awake, you hope that this time there will be no semi-awake nightmares. But of course there are, and the next time you're fully conscious is when your mind races at 4am in a desperate attempt to make sense of the visions, while your body is soaked in poisonous sweat.

So naturally I've spent today in bed. I really miss a notebook: scribing this diary entry into a Palm is really tedious.


Faux[1] traditional Chinese music. I hope it has some magical healing effect.

Speaking of music, it turned out that I've missed out on two good parties in the weekend.

[1] Not that I could tell

On Tuesday I went to see Andres Serrano's exhibition. I thought, with all the media craze surrounding it, there'd be a huge crown, but there were hardly 10 visitors or so. About the pictures themselves, most of them seem to be blatant devices to get attention, but there are some photos that capture real beauty in the most unexpected places. Did that sound too American Beauty-ish?

A little something for the ongoing thread about religion and rationality: I was really surprised to find one of my ("otherwise normal" -- now here's an un-PC statement for you) friends from University telling me that he's not coming with me to the Serrano exhibition because he's Christian. He's never seen any photo from him, yet he firmly believes that he doesn't want to. Religion closes your mind, kids! Don't do that.

dyork: I've looked at your Advogato-to-HTML XSLT and I'd like to extend it, for those who want to use something like this. I'd restructure it a bit but that's not the point. The useful addition is this:

<xsl:template match="person">
  <a href="http://advogato.org/person/{text()}">

This also demonstrates why you don't want to use <xsl:copy-of>, since then you can't apply any special templates for inline, non-HTML tags like <person>

17 Feb 2002 (updated 17 Feb 2002 at 19:20 UTC) »

Slight hangover. Yesterday evening with a former classmate and friends was fun.

tk: You don't have to automatically allow newer versions of (L)GPL to apply to your code. In my important projects (that I would feel bad about if something happened to them) I'm always using specific (L)GPL versions in the copyright notice. This is not paranoia: it only makes sense.

"What are we doing tomorrow, Brain?"
"The same thing we do every day, Pinky: redesigning the class hierarchy of Guikachu"

It sounds funny, but it's not. Implementation-MI is a bitch.

My fucking valentine.

julian: Yes, I'd very much like to play Chrono Cross. It all depends on whether P©SX is any good, since I don't have a Playstation. And even if I had, I wouldn't want to play games like this on a console -- I'd miss the instant-save ability.

I've finished Chrono Trigger. So I guess now it's time to start it again, this time looking for the surprise endings that I've heard about.

jhermann, dyork, DV: Duh. At least it was fun to write it.

Music: Dido.

Advogato client applications

I saw some discussion here about client-side applications for Advogato. I really like the idea: I'm already writing my diary locally, with private entries mixed between public ones, and then C&P-ing it into Galeon. So of course I'd like to make this more formal.

Using my recently aquired XSLT $KiLLz I wrote the part that's at least a bit interesting from a technical point of view: the code that passes through the HTML tags as-is:

  <!-- Generic tag forwarder -->
  <xsl:template name="html-forward-full">
    <xsl:variable name="tag-name" select="name()"/>
    <xsl:element name="{$tag-name}">      
      <xsl:for-each select="attribute::*">
        <xsl:variable name="attrib-name" select="name()"/>
        <xsl:variable name="attrib-value" select="."/>
        <xsl:attribute name="{$attrib-name}">
          <xsl:value-of select="$attrib-value"/>

You can then use it like this:

  <!-- Simple inline tags -->
  <xsl:template match="b|cite|em|i|strong|tt|ul">
    <xsl:call-template name="html-forward-full"/>

I'm posting this in the hope that someone working on an Advogato client finds this useful. I don't have the time to start yet another project so don't count on me that much.

DV: I'd like to hear your opinion wether the above XSLT is nice or could be cleaner.


Looks like I've finally found a roommate: I'll be sharing a room with a member of the Hungarian GNOME translation team.


I brought back the car. I didn't even yell at them, I've calmly told them that they are retards, but I don't expect this piece of information to get to their brains.

The spare car is fun: it's the same Carisma model with the same engine, but it has a much harder feel. I like it.

40-year-old superstar programmer

I don't know when it really started, but I'm beginning to document my source code. Guikachu now has some methods that have longer commments than the implementation itself.


Saturday I had a really weird dream: I was discussing politics with (I'm not kidding) Jacob Berkman.

Of course, this is nothing compared to when I was dreaming about implementing some containers in C++ and there were some girls (the muses of programming, maybe?) and he more generic and template-ized I could make the container classes, the more nude they became. Unfortunately, no sex was involved.

9 Feb 2002 (updated 23 Feb 2002 at 22:45 UTC) »

Now is your once-in-a-lifetime chance to share a room with Top Super Mega-Hacker Cactus at GUAD3C! Mail me if you're interested.

48 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!