Go read about my trip

I haven’t posted here because I’m on the road. You can read about my travels with my wife at www.flibbs.com. I probably won’t post here anytime soon, at least until the trip is over.

No Comments

ActionScript scoping

I recently ran into this crazy ActionScript scoping issue, that drove me so crazy I decided it needed a post. ActionScript is an ECMAScript language so learning it has been very fun. I’m able to use all my JS knowledge and then extend it to a much richer language.
Read the rest of this entry »

1 Comment

I’m famous!

A long time ago, people were bitching about Hungarian notation in code. Its a rediculous convention perpetrated by Microsoft in the early nineties. During some debates on a mozilla newsgroup, circa 1999, I made this comment:

prepBut nI vrbLike adjHungarian! qWhat’s artThe adjBig nProblem?

Well, I had no idea how this goofy statement had been passed around. A quick search on google turns up all sorts of hits where people have used it in their e-mail signature. I even found a guy offering T-shirts with the quote.

Anyhow, I just found the whole thing funny.

No Comments

OpenJade and Cygwin

I’ve spent more time with OpenSP/OpenJade trying to get everything working under Cygwin, and I think I’ve finally got it.

Here’s what I had to change:

  • OpenSP 1.5.1
    1. Edit config.h.in, and comment out #define SP_HAVE_LOCALE OpenSP will work with this turned on, but OpenJade will break. Better to just disable locale support in OpenSP and let OpenJade figure it out later.
    2. Run configure --with-included-gettext Cygwin’s gettext support is lacking bindtextdomain or something.
    3. Ditch the #pragmas Cygwin doesn’t support #pragma interface and #pragma implementation, and it results in undefined symbols during linking. This is in a lot of the source files, you’ll probably want to write a perl or awk script to take care of it.
  • OpenJade 1.3.2
    1. Edit grove/Node.h, and change the #ifdef SP_WCHAR_T_USHORT to #ifdef SP_WCHAR_T_USHORT_ OpenJade defines it’s Char type as a Unsigned32. This is apparently incompatible with grove’s definition of GroveChar as a wchar_t. Cant’ we all just get along?
    2. Edit msggen.pl, and add a second chop; – gotta love window’s CRLF linefeed sequence, and the way it confuses perl.

At this point, I know I can run the openjade.exe binary. I haven’t really fiddled with it any more, but I have an article I want to format as HTML.. so that’s next.


The ultimate IDE

I’ve been working at Macromedia for a month or two now, and I’ve learned to appreciate the coolness of Flash and ActionScript. People may whine and complain that its not open, that its proprietary, that it duplicates some web functionality, but when it comes down to it, its just damn fun. I’m hoping to put together some interacitve flash tutorials on Mozilla architecture, but that’s a subject for another day.

What I’ve been thinking about lately is the way that Macromedia has put together this slick authoring environment to allow people to develop for Flash. The latest version, “Flash MX 2004″ is an IDE that combines UI/animation design (similar to the old Visual Basic tool) with a programming environment. What’s especially interesting is that they’ve integrated the compiler, the editor, and the help system all into one space.
Read the rest of this entry »

No Comments


So since I’ve been techwriting for a few months, and hating life with FrameMaker, I decided to see what open source alternatives were available out there.

The other day I happened upon DocBook. I had heard mention of it many times before but didn’t really get what it is. Here’s what it seems to be: a well defined XML schema for writing books and such. The idea behind it is to define your document semantically rather than worrying about layout and presentation. You define chapters and books and sections and paragraphs, and DocBook tools create any kind of output you want. You can include graphics and notes and warnings, footnotes, cross references and everything. Its all very exciting.

What I particularly like about it is that you can use so many existing tools. One thing I was thinking for the mozilla world was IDL / DocBook mapping. In its simplist form, you could make an IDL file generate a DocBook API reference skeleton. If you were feeling daring, you could take the JavaDoc comments out of the IDL, and dump them into the skeleton, initializing the whole skeleton.

But if the IDL changes, is there a way to keep things in sync? The problem is that after generating a skeleton, you’d want to be able to modify the XML to your heart’s content. But as long as the XML file retains a well understood structure (which DocBook has!) then you should be able to read in the IDL and the DocBook and alert the developer/writer if the docs don’t match the source. Neat.

But for now I’m going to explore some DocBook tools and see what I can make of them.

No Comments

OpenSP and CygWin

So in my DocBook exploration, I’ve discovered the beauty of sgml mode on Xemacs. If only I could get it to do validation. For that, I needed nsgmls, which is a part of James Clark‘s SP package. But it turns out he’s all but abandoned it and the OpenJade group has taken up the cause and made OpenSP, currently at version 1.5.1.

The problem I ran into there is that the freakin’ thing doesn’t compile on cygwin. What I kept running into were all sorts of link errors:

undefined reference to
 `__static_initialization_and_destruction_0(int, int)'

After hunting around quite a bit, I discovered that this is a common cygwin error, and to fix it you need to comment out all the references to #pragma interface and #pragma implementation.

Of course! That’s what I thought it was all along. Well at least there are enough keywords here for google to index this highly, and help someone else.

Now back to mozilla doc hacking.

No Comments

Mozilla “contributors”

This morning I got a private e-mail in response to bug 178809. It went something like this…

Disclaimer: I do not speak for mozilla.org. I do not even claim to represent the views of any other mozilla developer other than myself.
Read the rest of this entry »

No Comments

Mozilla docs

I’ve been doing some contract work at Macromedia and learned a few things about the documentation process. I’ve also discovered a fantastic tool that Macromedia created, LiveDocs.

I’ll write more about some of the techwriting process that I think Mozilla could adapt, but I wanted to post about LiveDocs because it is so simple, but so brilliant.
Read the rest of this entry »

No Comments

Song Fight

Last night I saw a truly unique show – one that was more “indie” than any other indierock show that I had attended. The show was a sort of showcase of artists from songfight.org. I didn’t actually visit the site until just hours before the show but I absolutely love the concept.
Read the rest of this entry »

No Comments