Older blog entries for joolean (starting at number 46)

20 Oct 2007 (updated 20 Oct 2007 at 22:51 UTC) »
Today I am a man

...and it only took 26 years! Ludovic Courtès has just applied my thread cancellation patch -- my first patch accepted, ever -- to the HEAD of GNU Guile. It took me forever to get working, and then another week or two of hand-wringing over copyright assignment and the disclaimer from my employer, but it's in! Thanks are due to Ludovic, whose patience was... epic.

This paves the way for the implementation of SRFI-18 that I'm working on, which I think will be pretty useful in terms of making Guile more competitive with other Scheme platforms.

bcully: I'm pretty sure ncm is an American. But he's not a New Yorker.

ncm: As a life-long New Yorker myself, I'm just a little curious as to what you think the response of New Yorkers was. (You may not be aware, but this town is overwhelmingly liberal, politically speaking.)

What was the response of New Yorkers?

SCSS

SCSS 0.3.0 is out -- I completely rewrote the grammar, mostly so that I could make the parsing system a bit more... reentrant for error-handling purposes. The S-exprs used to represent stylesheets are now very similar to the ones that WebIt! uses, though there are some incompatibilities when it comes to CSS2.1-specific stuff. And there's some other stuff, too. The NEWS file in the distribution will fill you in. Tarballs are at http://www.nongnu.org/scss/

For the next release, I'd like to improve the performance a bit more -- I feel like using regexps for validating and querying style values is overkill in most cases, though in others it's practically necessary. So... not sure what I'm going to do about that. I'd also like to add SAC support, but there may be some linguistic / architectural hurdles there.

Likewise, StephanPeijnik. I tried to get a GPLv3 drink-a-thon going but was unsuccessful. I am, however, wearing the most bitchin' shirt I own in celebration.

Holy shit, mako! Congratulations!

20 Jun 2007 (updated 20 Jun 2007 at 15:05 UTC) »

As part of the development for libRUIN, I've been writing wrapper code for all the Guile calls I make -- I'm kind of developing SCSS and SDOM simultaneously and using libRUIN to test them, so there are times when I need to get, you know, things like stack traces when there are errors coming from the C -> Scheme calls that I'm making.

This is hard.

But I figured it out -- it's just a teensy bit hairy. Here's what you do: Wrap the evaluation of your expression in a scm_internal_lazy_catch and wrap that in an scm_internal_catch. In the lazy catch handler, capture the stack before it is unwound using scm_make_stack(). cons it to the args with which your lazy catch handler was called, and then re-throw with the same key up to your wrapping non-lazy catch handler (lazy catch expects a real catch handler to handle exceptions, even if they're handled by the lazy handler). In your non-lazy handler, do whatever you want with the stack information -- log it to a file, etc.

Here's a rough diagram:

Catch:
  • Expression: Catch:
    • Expression: [EXPRESSION BODY]
    • Handler: scm_throw(key, scm_stack() .
      args)
  • Handler: Log the relevant info to a file.
GPLv3

So maybe I've missed the memo, but according to my calculations, GPLv3 is going to be finalized on June 29th -- and nobody's planning to throw a party?! This thing's been cooking for years, people. Look, I live in Brooklyn and I'm all set to get hammered the Friday after next. Who's with me?

Moved into my new place; enjoying cheap tacos and cable Internet. Still unpacking, etc. Question, though:

GNUTS

Anyone know what the story is on this project? The only thing I've been able to glean (from the barest minimum of Google-sleuthing) is that it used to be maintained by jkaivo, and he doesn't seem to be a fixture on the 'net any more. Anyone know him? Or heard of GNUTS? I think it's about time we had a cross-toolkit interface markup framework, and if people are working on it, I'd like to get in on the ground floor.

Thing are hectic at work and I'm prepping to move, so I haven't had time to really focus on, you know, my life's work, but:

SCSS

I got the standard, slightly negative response to the latest release of SDOM that I usually do, but the email from Andrew Reilly turned me onto WebIt!, which, in addition to sxml-match, defines a CSS representation that's a whole lot nicer than the one I came up with originally. So I'm rewriting the grammar and associated parsing code -- which I was going to do anyway, in the cause of better fault tolerance -- and make my representation match WebIt!'s.

I'd also like to add a SAC interface. Because it's pretty damn easy.

SDOM

While poking around in PLaneT, I also found this neat JavaScript implementation by dherman that I'd like to port to Guile. Once I've done that, I can conceivably expose SDOM to it and use libRUIN to feed it events. And think of the things I'd be able to do then!

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