Archive for May, 2004

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

DocBook

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

One more gallery trick

oh yeah, I forgot that I had also added another thing for gallery integration.

I found this neat hack which includes a php file that outputs javascript to display a link. I tweaked the script to look like this:

..
echo "document.write('<a href="" . 
    makeAlbumUrl($gallery->album->fields["name"]) . "">" . 
    $gallery->album->getThumbnailTag($gallery->album->getHighlight() ) . 
    "</a>');";
..

getThumbnailTag is cool because it its the complete <img> tag to display the particular thumbnail. It wouldn’t be hard to make that a random number to display a random thumbnail.

so now I can also say thumbnail=yes and it will display a thumbnail from the gallery specified by the gallery keyword.

1 Comment

Adding gallery support

For another secret website I’m making for a certain future trip, I needed a way to easily link to a photo gallery (created with the awesome Gallery Project software) in a blog post.

That was pretty easy. I just added
<MTKeyValues source="[MTEntryKeywords]"> <MTIfKeyExists key="gallery"> <div class="blog-entry-gallery"> <a href="/gallery/<$MTKeyValue key="gallery"$>">gallery</a> </div> </MTIfKeyExists> </MTKeyValues>

And now in my keywords field, I can just say “gallery=foo” and it will automatically add a link in the blog entry.

No Comments

Creating a private category

Today I hacked on MovableType to accomplish two things:

  • A private category that I could post without worrying that my stuff goes public
  • Sane URLs instead of those annoying date fields

Read the rest of this entry »

No Comments