Wednesday, November 15, 2006

DITA Search and Firefox plugin!

Since Chris Chiasson and David Cramer built custom search engines for DocBook, I thought it might be useful to create one for DITA, too! I frequently search the Language Specification, and it would also be handy to search the mailing archives. To that end, I present my custom Google Co-op search: DITA Search!

The DITA Search homepage is available here: http://www.google.com/coop/cse?cx=015401811188033694464%3Ahu_dvbft4pu

If you would like to have a search plugin for your browser, save the following as an xml file to your C:\Documents and Settings\username\Application Data\Mozilla\Firefox\Profiles\profilename\searchplugins directory:

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
  xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <ShortName>DITA Search</ShortName>
  <Description>Search DITA1.0 Language Specification, DITA Wiki, DITA Focus Area and more! </Description>
  <Contact>scottys.log@gmail.com</Contact>
  <Developer>Scott Hudson</Developer>
  <LongName>DITA Search</LongName>
  <SyndicationRight>open</SyndicationRight>
  <AdultContent>false</AdultContent>
  <Language>en-us</Language>
  <OutputEncoding>UTF-8</OutputEncoding>
  <InputEncoding>UTF-8</InputEncoding>

  <Url type="text/html" method="GET" template="http://www.google.com/custom?cx=015401811188033694464:hu_dvbft4pu&q={searchTerms}&sa=Search&cof=CX%3ADITA%2520Search%3BFORID%3A0&hl=en&client=google-coop" /> 
</OpenSearchDescription>
Add to Google

I've also created a DITA Documentation search (lang spec, toolkit, other official docs) here: http://www.google.com/coop/cse?cx=015401811188033694464%3Acm02go-4hv8

Here's the plugin code for DITA Documentation:

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
  xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <ShortName>DITA Documentation</ShortName>
  <Description>Search DITA1.0 Language Specification, DITA OT, and other official docs.</Description>
  <Contact>scottys.log@gmail.com</Contact>
  <Developer>Scott Hudson</Developer>
  <LongName>DITA Official Documentation Search</LongName>
  <SyndicationRight>open</SyndicationRight>
  <AdultContent>false</AdultContent>
  <Language>en-us</Language>
  <OutputEncoding>UTF-8</OutputEncoding>
  <InputEncoding>UTF-8</InputEncoding>

  <Url type="text/html" method="GET" template="http://www.google.com/coop/cse?cx=015401811188033694464%3Acm02go-4hv8&q={searchTerms}&sa=Search&cof=CX%3ADITA%2520Docs%3BFORID%3A0&hl=en&client=google-coop" /> 
</OpenSearchDescription>
Add to Google

Enjoy!

NOTE: you must change the & to &amp; in the Url template string...

Categories:

DocBook Search plugins for Firefox!

Chris Chiasson has created custom Google search engines for the DocBook-apps mailing list archives and the DocBook Official Documentation (including Norm's "DocBook:The Definitive Guide" and Bob's "DocBook XSL: The Complete Guide").

David Cramer then took them a step further and created Firefox search plugins for these pages! The plugins are available here: http://www.thingbag.net/docbook/. Very cool! Thanks guys!

Categories:

Tuesday, October 31, 2006

Confidence

This one was my wife's idea, so I won't take credit for it.

Confidence

Categories:

Hey, what're you tryin' to push on us?

Another Star Wars motivator from yours truly!

Leadership

Categories:

This one's got a bad motivator...

OK, I have the Sci-Fi motivational poster bug now...

Persuasion

Categories:

Sci-Fi Motivators

One of my good friends sent me a link to Star Trek motivational posters. Very funny!

You could come up with a whole series of these things, with classics from Star Wars, Star Trek (each series), Battlestar Galactica (new and classic), Buck Rogers, Doctor Who, and more!

Here's a first attempt with my favorite character:
Compensation

Categories:

Thursday, October 19, 2006

DocBook XSL 1.71.1 released!

Michael Smith has released the latest DocBook XSL.

Version 1.71.1 of the DocBook XSL stylesheets is now available for download from the DocBook project site:
http://docbook.sf.net/files/xsl/latest
http://docbook.sf.net/files/xsl-doc/latest
http://sourceforge.net/projects/docbook

HTML and PDF versions of the release notes are also available:
http://docbook.sf.net/release/xsl/current/RELEASE-NOTES.html
http://docbook.sf.net/release/xsl/current/RELEASE-NOTES.pdf

This is the production release of the XSL, so if you've been waiting to upgrade, now is the time! Enjoy!

Categories:

Tuesday, October 17, 2006

Mission to Mexico

My family and I are raising money for a mission trip during Thanksgiving week (Nov. 18-25) to help the flood-ravaged people of Juarez, Mexico and El Paso, Texas (for more info, see http://www.ifmus.org/). The money raised from the following items will be used to help fund this trip.

G. Harvey signed, numbered Lithographs:

"Whosoever Believeth" $300

"Beside Still Waters" $225

Larry Dyke signed, numbered Lithograph:

"A Heritage From the Lord" $300

Broncos tickets (face value = $70 each, asking $100 each as fundraiser):
section 235, row 11, seats 16 and 17

  • Sun Nov. 19 vs. San Diego Chargers
  • Sun Dec 3 vs. Seattle Seahawks
  • Sun Dec 24 vs. Cincinnati Bengals

Please send email to scottys dot log at gmail dot com if you are interested in any of these items.

Categories:

Sunday, October 15, 2006

Thursday, October 12, 2006

Flatirons Solutions: Our Founders!

Pictured from left to right: Greg Beserra, Mary Pritchard, Eric Severson, John Pritchard.

Categories:

Flatirons Solutions: Open House

Categories:

Flatirons Solutions hosted an open-house to the Boulder community, friends, clients, and the Boulder Chamber of Commerce.

Wednesday, October 04, 2006

Harvard Yard

It's pronounced "Hahved Yahd"...

Working on a very cool project at Harvard Business School Publishing this week! I seem to be flying a lot to Boston this year, with projects at Fidelity and Harvard, and I'm also a panelist at XML2006 (which will be in Boston this year)!

Categories:

Sunday, October 01, 2006

It's Official! DocBook v4.5 is now an OASIS Standard!

As of October 1, 2006, DocBook v4.5 is an official OASIS Standard! The voting went right down to the wire, as many of the eligible voters had neglected to vote at all. However, of those voting, the approval was unanimous!

In other cool DocBook news, the upcoming UBL v2.0 OASIS Standard submission will include the DocBook "editable source!" Nice to see that some of the other standards are using DocBook as the basis for their documentation!

Categories:

Wednesday, September 27, 2006

New DocBook 5.0 test release (beta 8)

Norm Walsh has just posted a new test release of DocBook 5 (beta 8). DocBook 5 is very close to Release Candidate status. Tweaks in this release include: stronger data typing of attributes, and changing inlineequation to allow inlinemediaobject.

You can download the test release here: http://docbook.org/xml/5.0b8/

Categories:

Tuesday, September 26, 2006

Calling all OASIS members! DocBook needs your vote!

DocBook 4.5 has been a committee-approved specification since April 2006. We're trying to get it approved as an OASIS-approved specification. DocBook 4.5 as OASIS Standard went out to vote on Sept 1. So far 10% of members (33) have voted all in favor. (see http://www.oasis-open.org/apps/org/workgroup/voting/ballot.php?id=1109). We need as many member reps as possible to vote! If you are a DocBook user, and your company has not yet voted, please contact your representative and urge them to vote now!

Categories:

Thursday, September 21, 2006

White and Nerdy

The new song from Weird Al, "White and Nerdy", just cracks me up! I'm afraid it does fit me pretty well, though I've changed a few of the lyrics below (marked in bold) to more closely align with me:

They see me mowin'... my front lawn
I know they're all thinkin' I'm so white & nerdy
Think I'm just too white & nerdy
Think I'm just too white & nerdy
Can't ya see I'm white & nerdy?
Look at me, I'm white & nerdy
I wanna roll with... the gangstas
But so far they all think I'm too white and nerdy
Think I'm just too white & nerdy
Think I'm just too white & nerdy
I'm just too white & nerdy
Really, really white & nerdy

Outstanding grad there at CSU
Got skills, I'm a champion at CCG, too
MC Escher, that's my favorite MC
Keep your 40, I'll just have an Earl Grey tea
My rims never spin - to the contrary
You'll find that they're quite stationary
All of my action figures are cherry
Got DocBook and DITA in my library
My blog page is all totally pimped out
Got people beggin' for my blogroll spaces
Yo, I know pi to a dozen places
Ain't got no grills, but I used to wear braces
I order all of my sandwiches with mayonnaise
I'm a whiz at Bejeweled, I could play for days
Once you see my sweet moves, you're gonna stay amazed
My fingers movin' so fast, I'll set the place ablaze
There's no killer app I haven't run
At structured markup, well, I'm a Top Gun
Do vector calculus just for fun
I ain't got a gat but I got a soldering gun
"Airwolf" is my favorite theme song
I could sure kick your butt in a game of Atari Pong
I'll ace any trivia quiz you bring on
I'm fluent in XSL as well as Klingon
Here's the part I sing on...

They see me building... my Legos
I know in my heart they think I'm white & nerdy
Think I'm just too white & nerdy
Think I'm just too white & nerdy
Can't ya see I'm white & nerdy?
Look at me, I'm white & nerdy
I'd like to build with... the gangstas
Although it's apparent I'm too white and nerdy
Think I'm just too white & nerdy
Think I'm just too white & nerdy
I'm just too white & nerdy
How'd I get so white & nerdy?

I've been browsin', inspectin'
X-Men comics, you know I collect 'em
If it's Sci-Fi, you know I must get 'em
My ergonomic keyboard never leaves me bored
Shoppin' online for deals on some writable media
I edit Wikipedia
I memorized "Holy Grail" really well
I can recite it right now and have you ROTFLOL
I got a business doin' web sites
When my friends need some code, who do they call?
I do HTML for 'em all
Even made a home page for my mom
Yo, I got myself a Boba jetpack
They were havin' a sale down at the TRU shack
Spend my nights with my family
More bricks, we're Legomaniacs
I'm nerdy in the extreme and whiter than sour cream
I was in Knowledge Bowl and Choir and even the chess team
Only question I ever thought was hard
Was, do I like Kirk or do I like Picard?
Spend money on LOTR, and Trek and Star Wars
Got NASA on my underwear

They see me strollin'... they laughin'
And rollin' their eyes 'cause I'm so white & nerdy
Just because I'm white & nerdy
Just because I'm white & nerdy
All because I'm white & nerdy
Holy cow, I'm white & nerdy
I wanna bowl with... the gangstas
But oh well, it's obvious I'm white and nerdy
Think I'm just too white & nerdy
Think I'm just too white & nerdy
I'm just too white & nerdy
Look at me, I'm white & nerdy

Categories:

Wednesday, September 20, 2006

Sunday, September 17, 2006

That's great, but who are the Chefs?

WooHoo! The Broncos squeaked out the home opener against the Chiefs in OverTime by a field-goal-only game 9-6. My youngest son, Collin, and I were there to cheer them on!

Categories:

Monday, September 11, 2006

Scotland slideshow

For those interested, I've posted a slideshow with some pics of my recent trip to Scotland at: http://www.flickr.com/photos/shudson310/tags/scotland/show/

If you are looking for an OUTSTANDING travel agency, I would highly recommend The Travel Loft (http://travelloft.biz/). Tell them I sent you!

Categories:

DocBook stylesheets 1.71.0 released!

Michael Smith has released the latest DocBook XSL stylesheets (version 1.71.0). This is the experimental release, to be followed shortly with v.1.71.1 if no problems are found.

This release incorporates a number of bug fixes, and also 2 new features:

  • source-code highlighting in output of programlisting instances (controlled through the highlight.source parameter). See http://xmlguru.cz/2006/07/docbook-syntax-highlighting
  • Changes to autoindexing. With this release, none of the code for the 'kimber' or 'kosek' methods is included in the default stylesheets. In order to use one of those methods, your customization layer must import one of the optional stylesheet modules:
    • html/autoidx-kosek.xsl
    • html/autoidx-kimber.xsl
    • fo/autoidx-kosek.xsl
    • fo/autoidx-kimber.xsl

You can download the latest stylesheets here.

Categories:

Outstanding Boston DITA User Group!

As you can tell from my moblog pics from today, there was quite a crowd at the Boston DITA User Group meeting tonight! I had the pleasure of attending with David Schell and Michael Priestly from IBM, and Dave was the guest speaker.

I also had the pleasure of meeting both Nancy Harrison (with whom I've known on the DocBook TC for a number of years, but not met in person) and John Hunt (from the DITA Learning SC). I also saw Chris Wong, who is also on the DITA TC, but regretably was not able to meet.

Also in my "interesting new acquaintances" for the evening was Bob Doyle, creater of the Merlinand editor of the CMS Review, among many other notable publications and achievements! Bob also worked as the Coordinator of the NASA Ground-based Observing Program for the SkyLab missions! Bob is a very cool guy in my book!

If you are involved in DITA in the Boston-area, but not involved in the User Group yet, you really missed out tonight! Get more info here: http://dita.xml.org/freelinking/Boston%2520DITA%2520User%2520Group and get involved!

Categories:

Bob Doyle at the Boston DITA User Group meeting

John Hunt at the Boston DITA User Group meeting

Dave Schell and Michael Priestley at the Boston DITA User Group meeting

Thursday, August 31, 2006

Calling all Learning and Instructional Design experts!

The DITA Learning Content subcommittee wants you!

We are looking for experts in the eLearning and instructional design world to participate as guests, observers or members of the subcommittee to help create a learning specialization of DITA.

From our charter, here are our anticipated goals and work products:

Goals
  1. Develop a general top-level design for structured, intent-based authoring of learning content with good learning architecture, following DITA principles and best practices. Such a design would build on past work on topic-based content, reusable learning objects, and the learning content types needed to support them. Some specifics of a DITA design for learning content include:
    1. learning types, including assessments and exercises
    2. a map domain for structuring and managing the learning types as reusable learning objects
    3. linking, relationships, and simple sequencing
    4. interactions
    5. style policies for learning content
    6. dynamic sequencing.
  2. Establish guidelines that promote best practices for applying standard DITA approaches to learning content, which include:
    1. separation of presentation and content (as much as possible)
    2. separation of content and context
    3. single sourcing, repurposing, and reuse.
  3. Develop support for processing DITA for general delivery as learning and training, including print and presentation delivery to support instructor-led training (ILT), web delivery for distance learning, and computer-based training delivery in general.
  4. Develop targeted support for processing DITA learning content for delivery with standards-based learning, specifically targeting SCORM and QTI. Specifically, extend DITA processing to support basic SCORM sequencing, interactions, and required SCORM LMS runtime behaviors. Leverage QTI behaviors to drive the interactions. Address the issue of "levels" from a simple implementation to full SCORM and beyond.
  5. Build on existing DITA infrastructure (editors, CMS, transforms) as much as possible so learning content developers do not have to start from scratch.
Work products - First phase of this activity
  • Task 1: 1 month on review of structured designs for learning and how to apply DITA principles and best practices.
  • Task 2: 1 month on developing a top-level plan for map a DITA specialization for learning content, including identifying the learning types, map domains, content domains, and processing support needed to support the design.
  • Task 3: X months on developing DITA schemas and processing, and piloting and validating the top-level designs against sample content.
  • Task 4: 1 month on reviewing the pilot, writing and reviewing a progress report. Close this phase of the activity with a progress report to the TC, with recommended next steps.

If you are interested, please contact john_hunt@us.ibm.com or myself, or visit http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita-learningspec

Categories: , ,

Friday, August 11, 2006

Scotland Bound!

Flags of Scotland

My wife and I are headed for Scotland tomorrow for two weeks!

Thanks a lot STUPID FREAKING TERRORISTS! I get to carry on my wallet. No iPod, no books, nuthin. And we had planned to travel the entire trip via carry ons so they wouldn't lose our luggage. Now they might lose my iPod, camera, video camera, travel vouchers and maps in my checked bag, and I'll look EVEN MORE like a clueless American!

We bought an iPod Video as an early 10th Anniversary gift this year in anticipation of the long flight over, and as a storage medium for our digital photos (when my SD cards got full). Now, we'll only get to use it for the photos, assuming they don't lose it all...

If I ever find Bin Laden or any of his evil followers, they're going to get a Sgian Dubh where it counts... Oh, wait, I can't carry that on a flight either!

At this point, Scotland the Brave is going to mean "braving the security lines and restrictions". It's worth it though: I hope they catch every one of those wicked blokes quickly -- and I STILL get to go to Scotland!

Categories:

Wednesday, August 09, 2006

Tracking your inventory with Delicious Library

I found out about Delicious Library from Rich Burridge.

I don't even have an iSight camera, but was still able to manually enter the ISBN or UPC code. The app automatically switched context of which code you need to enter, depending on whether you were adding a book, CD, Movie (DVD or VHS), or video game!

There is a separate app that will export your iTunes to Delicious Library, called DeliciTunes.

This would be a great way to track your inventory for insurance reporting purposes. I could even see applying this to other kinds of items, such as Star Wars figures, that might still be MIB (Mint In Box) that you could scan the barcode and track! It would be nice if this app was configurable to add other types of collections, defaulting to UPC code, so you could track collections like this.

UPDATE: There's a cool easter egg! When you add a Star Wars title to your collection, after the app reads the title to you, a few seconds later, a deep whisper says "I am your father!". Nice touch! It would be cool if it also said "He's dead, Jim" or even better, "She 'canna take much more, Captain!" when you add Star Trek titles. :-)

UPDATE: Woohoo! I hooked up my Sony Handycam DCR-HC30 via firewire, and now I can use the barcode scanner! SWEET app!

Categories:

Woodstox 3.0 released!

Tatu Saloranta has released the 3.0 version of the Woodstox XML parser. Woodstox is a StAX-compliant, open-source, Java-based XML parser. It's fast, too!

My favorite new feature is the rewritten validation sub-system, along with a new validator implementation for Relax NG.

I also like the different operating modes:

Additional operating modes: parsing mode (tree [default], forest, fragment); ability to handle undeclared entities gracefully (in non-entity-expanding mode).

More information on Woodstox can be found at:
http://www.cowtowncoder.com/blog/archives/2006/08/entry_16.html. The parser can be downloaded from: http://woodstox.codehaus.org/.

Great work, Tatu!

Categories:

Tuesday, August 01, 2006

Publick House

Since 1771! Had a great dinner here tonight. I love the history in here, and plenty of great food. I highly recommend the seasonal blueberry cream pie!

Categories: , ,

Friday, July 28, 2006

DocBook V5.0 beta 7 now available

Norm Walsh has released the latest beta of the DocBook v5.0 schemas. More information is available at: http://norman.walsh.name/2006/07/28/docbook50b7.

This version includes the recently approved "audience" effectivity attribute, so you have a little more flexibility in profiling your documents. Before, you had to squeeze this kind of profiling into userlevel, vendor,condition or role. This attribute provides another level of distinction, so you can create an output comprised of both userlevel AND audience, etc.

Thanks, Norm!

Categories:

Monday, July 24, 2006

Learning and training content specialization

I'm proud to announce that as of July 18th, the DITA TC has approved the creation of a DITA "Learning and training content specialization" subcommittee, as proposed by John Hunt. I'm looking forward to participating! Here are the details:

Goals
The subcommittee has the following statement of initial goals:
1.        Develop a general top-level design for structured, intent-based authoring of learning content with good learning architecture, following DITA principles and best practices. Such a design would build on past work on topic-based content, reusable learning objects, and the learning content types needed to support them. Some specifics of a DITA design for learning content include:
a.        learning types, including assessments and exercises
b.        a map domain for structuring and managing the learning types as reusable learning objects
c.        linking, relationships, and simple sequencing
d.        interactions
e.        style policies for learning content
f.        dynamic sequencing.

2.        Establish guidelines that promote best practices for applying standard DITA approaches to learning content, which include:
a.        separation of presentation and content (as much as possible)
b.        separation of content and context
c.        single sourcing, repurposing, and reuse.

3.        Develop support for processing DITA for general delivery as learning and training, including print and presentation delivery to support instructor-led training (ILT), web delivery for distance learning, and computer-based training delivery in general.
4.        Develop targeted support for processing DITA learning content for delivery with standards-based learning, specifically targeting SCORM and QTI. Specifically, extend DITA processing to support basic SCORM sequencing, interactions, and required SCORM LMS runtime behaviors. Leverage QTI behaviors to drive the interactions. Address the issue of "levels" from a simple implementation to full SCORM and beyond.
5.        Build on existing DITA infrastructure (editors, CMS, transforms) as much as possible so learning content developers do not have to start from scratch.

Proposed chair

John Hunt, IBM (though open to other nominations or co-chair)

Deliverables
Proposed initial work products for the subcommittee include the following:
Task 1: 1 month on review of structured designs for learning and how to apply DITA principles and best practices.
Task 2: 1 month on developing a top-level plan for map a DITA specialization for learning content, including identifying the learning types, map domains, content domains, and processing support needed to support the design.
Task 3: X months on developing DITA schemas and processing, and piloting and validating the top-level designs against sample content.
Task 4: 1 month on reviewing the pilot, writing and reviewing a progress report. Close this phase of the activity with a progress report to the TC, with recommended next steps.

Initial membership

The following TC members have expressed interest as initial members in this subcommittee:
1.        Bruce Esrig, Lucent (or other person from Lucent)
2.        Jennifer Linton, Comtech Services, Inc.
3.        Scott Hudson, Flatiron Solutions
4.        Christian Kravogel, SeicoDyne
5.        Erik Hennum, IBM
6.        John Hunt, IBM

In addition, several new members have expressed interest in joining the TC to participate in this SC.

If you are interested in participating, or would like to provide requirements/feedback, please contact one of us or leave me a comment.

The public page for the SC can also be found at: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita-learningspec

Categories:

Now Podcasting Via Talkr!

I first found out about Talkr from Rich Burridge, but was quickly disappointed to find out that it only supported RSS feeds. I submitted an RFE, and within just a few weeks, the folks at Talkr have added support for Atom feeds!

Now, anyone on Blogger or other generator of Atom feeds can have their blog podcasted via the Talkr service. It's a great service, as you can download your favorite blogs to your iPod. Even better, it makes your blog more accessible for the seeing impaired!

Thank you to the folks at Talkr for creating such a helpful service, and adding support for both Atom and RSS. You can listen to this blog at: http://www.talkr.com/app/cast_pods.app?feed_id=16887

I've also added the Talkr feed icon icon to my blog template for easy subscription to the podcast.

Categories:

Friday, July 14, 2006

Everlost and the Big Dig

Or, where not to travel while in Boston...

I just happened to miss the collapsing section of the Big Dig by about 6 hours when I arrived in Boston this past Monday. I knew it was going to be, at the very least, inconvenient to leave Boston on Friday, but I had no idea that it would be that bad...

Since our rental car came equipped with a N"Everlost" system, I thought it wouldn't be too difficult to recalculate the route in. Sure enough, as we came in on the 90, the city had a detour that forced us into downtown.

Needing to get gas before returning the rental car, I thought, well, might as well get it nearby before we get across to the island airport. The system worked well enough to find a nearby gas station. Then I thought it would dump us to the nearest old tunnel to the airport, or get us to where there would be detailed detour signs leading us to where we needed to go.

The Everlost system kept trying to dump us back into the Dig, and the detour signs were pitiful at best! I swear we drove an extra hour trying to follow detour signs and then switching back to Everlost which dumped us back to the Dig!

Finally, we took a wrong turn heading back toward Marlborough on the 90 before the Everlost re-directed us through the Boston University campus and over to the Callahan tunnel and over to the airport.

Granted, I'm obviously not from Boston and it had been 10 years since I was there last! For such a major detour, I would have expected much better directions. I sure hope Boston gets its act together before I return in a few weeks!

Categories:

Thursday, July 13, 2006

Dining at Concord's Colonial Inn

Ahh, another successful outing in the Boston area!



This evening, we found Concord's Colonial Inn, an establishment that's been around since 1716. I love exploring historical sites, and this one was a treat! Several Presidents and Hollywood stars have dined there, including John Wayne! They also had a Wanted poster for John Wilkes Booth for $100,000.

For dinner, I had a lovely McWilliams Shiraz from Australia, along with a very good Yankee Pot Roast.

Categories:

Tuesday, July 11, 2006

Tales of a Wayside Inn

Wayside Inn Grist Mill

I'm in the Boston/Marlborough area this week on business, and found a really great place for dinner this evening: The Wayside Inn.

I didn't really know much about it, but stumbled across it on the web. It's a National Historic Landmark, and very interesting! In fact, there is a marker about George Washington passing through on his way to take command of the Colonial Army! It opened in 1716 as Howe's Tavern, along the old Boston Post Road. Later it became the Red Horse Tavern, and now Longfellow's Wayside Inn. It's named thusly because in 1862, poet Henry Longfellow visited the tavern and later published a book of poems entitled "Tales of a Wayside Inn." I need to take more time on my next visit to explore the extensive grounds. The working Grist Mill is quite picturesque.

For dinner, they have an excellent Bawstan Clam Chowda (NE accent added...). I also tried the London Broil and the Baked Indian Pudding for dessert.

Categories:

Monday, July 03, 2006

Handy Character Entity Reference

Cliff at work turned me on to this very handy character entity reference: http://www.digitalmediaminute.com/reference/entity/index.php

Prior to this, I've often used my O'Reilly Webmaster in a Nutshell and moreso my XML in a Nutshell books.

Thanks for the pointer, Cliff!

Categories: ,

Sunday, July 02, 2006

Essential Apps (PC edition)

After numerous Blue Screens of Death in my work Win XP system, I have had to start with a clean slate.

Though I don't quite have the luxury of choosing Linux or Mac, like Mark Pilgrim or Tim Bray or Rich Burridge, I still use quite a few open source apps in my day to day work. If the 10 years I spent at Sun taught me anything, it had to be how to work/survive with OpenSource software. Unfortunately, many of my colleagues and clients still use WinXP and I have to be guaranteed to be able to exchange data with them, and have my system be supported. Thus, I have to use WinXP and MS Office for some things, as well as some non-open source apps.

Due to the re-install, I've narrowed the list of essential apps I want installed on my new system. Here are my essential PC apps:

  1. Google Pack
  2. Mozilla Firefox
  3. Mozilla Thunderbird
  4. oXygen XML Editor
  5. GVIM
  6. Google Desktop
  7. Trillian
  8. FoxIt Reader
  9. CygWin
  10. Gimp
  11. TurboXML
  12. In the past, I've also used jEdit, but now exclusively oXygen... I would also consider using OpenOffice, but as I mentioned, I'm required to use MS Office. I also wish they made Omnigraffle for Win...
    and now for the fun apps:

  13. iTunes
  14. Picasa
  15. WebShots
  16. Google Earth

For essential Firefox extensions, I use:

  1. Web Developer
  2. X-Ray
  3. IE Tab
  4. del.icio.us
  5. DownloadThemAll!
  6. Forecastfox
  7. Adblock
  8. Google Browser Sync

What other essential WinXP apps should I be considering?

Thanks to Nederhoed, it looks like I should give Inkscape a try. I think Rich Burridge had also recommended FreeMind. Any others?

UPDATE:Plaxo and SnagIt are some additional apps I've found essential!

Categories:

Monday, June 19, 2006

TagSoup 1.0 is now final!

John Cowan has released the final 1.0 version of TagSoup. What is TagSoup? It's a parser for cleaning up non-well formed HTML (I've had the pain of previously cleaning other people's messy code/content with some help from HTMLTidy, but mostly by hand. This mess is often called Tag Soup, or worse...).

John's parser cleans up the mess and creates well-formed XHTML. It's an immense time saver. More details and the download are available here: http://mercury.ccil.org/~cowan/XML/tagsoup/.

Bon apetit!

Categories:

Thursday, June 15, 2006

Saxon 8.7.3 now available!

Michael Kay has released a new version Saxon, the world's finest XSLT parser. Don't believe me? Give Saxon 8.7.3 at try here: http://saxon.sourceforge.net/#F8.7.3SA

Saxon 8 includes support for XSLT 2.0, XPath 2.0 and XQuery. It's the first XSLT parser that I recommend, as I've had nothing but success in working with it.

Bob DuCharme has a great article on XQuery and Saxon at: http://www.xml.com/pub/a/2005/03/02/xquery.html

Categories:

Tuesday, June 06, 2006

Something Good released on 6/6/6

Something really Good has been released on 6/6/6: the new version of oXygen XML Editor!

New features in version 7.2 include: a complete Subversion client, an XML Schema instance generator, integration with the X-Hive/DB, MarkLogic and TigerLogic XML databases, editing actions on the diagram and search references/declarations actions in XML Schema and Relax NG schemata editors.

I'm most excited about the Subversion client and MarkLogic support! If you haven't used this editor, you really should try it: http://www.oxygenxml.com/

Categories:

Monday, June 05, 2006

New DocBook schema releases: 4.5RC3, 5.0b6

Norm Walsh posted releases of DocBook V4.5RC3 and V5.0b6 during my vacation last week.

The new version of 4.5 corrects an SGML parsing error reported with CR2. While the schema is an official DocBook TC release, this will delay the official release as an OASIS standard.

The 5.0b6 includes the person and org elements I fought hard for, as well as some changes to allow MathML and SVG in imagedata, modifier to appear in more places (for aspect-oriented programming docs), and db.publishing.inlines allowed in db.bibliographic.elements.

The schemas are available at: 4.5CR3 and 5.0b6

I also got my DocBook shirt and bumper sticker last week. They look great!

Categories:

Sunday, May 28, 2006

Star Wars Weekends!

When we were invited to go to DisneyWorld with some friends, we didn't realize it would be during two of the Star Wars Weekends at MGM! Here's a cool Sandtrooper that was on patrol on Mickey Avenue...

Categories:

Friday, May 26, 2006

DocSwag!

Norm Walsh has set up a storefront for DocBook swag! Just t-shirts, buttons and a bumpersticker for now. Since caffeine consumption is a staple of technical writers, I'd like to request coffee mugs be added to the product list! I think mouse pads would also be an essential!

Get your DocSwag now at http://www.cafepress.com/dbswag!

Categories:

DocBook XSL 1.70.1 released

OK, now it's official. The latest version of the DocBook XSL (1.70.1) has been released.

You can download the latest stylesheets at: http://sourceforge.net/projects/docbook, and you can view the release notes at: http://docbook.sourceforge.net/release/xsl/current/RELEASE-NOTES.html

Now go forth and DocBook with style! :-)

Categories:

Thursday, May 25, 2006

IPBuddys: a new eComic!

My son, Connor, has created a pretty cool comic series about two computers in the networked world. The computers? Right now, a PC laptop and an iMac. Perhaps at some point he can add our old Pentium II-266 tower and 486 desktop!

Originally, he wanted to call it "Saturday.COM", but that name is currently taken, even though that URL doesn't seem to respond. I tried to help him come up with a new name, and eventually settled on "IPBuddys".

He's publishing on Blogger for now. If you have any suggestions of a better place to publish a comic, send me a comment!

You can view IPBuddys at: http://www.ipbuddys.com. What an amazing time we live in, where even an 8-year-old can share his creativity with the world!

Categories: ,

Congratulations, Delta IV team!

Delta IV GOES-N launch, with HIF in the foreground

Congratulations to the Boeing Delta IV team on the successful launch of the GOES-N mission yesterday! I've been fortunate to work with many of the folks on this team, and understand the amount of work and coordination involved in making this a success. Great job!

I was fortunate to see this rocket on the pad several times over the past year. Very cool stuff! I'm glad the Delta IV made the journey as intended, and that the GOES-N payload will help meteorologists in a big way.

Categories:

Tuesday, May 23, 2006

Migrating from Interchange to Import/Export

I was trying to upgrade or convert some old Arbortext Interchange import templates to the new Arbortext Import/Export map templates. I searched high and low for this documentation, to no avail (even with Google Desktop!). Eventually I resorted to a support ticket with PTC. To save everyone else some time and trouble, here's the official response:

Instructions for migrating from Interchange to Import/Export can be found on page 216 of the Customizer's Guide(page 228 in the PDF Reader).

And just to be a little more clear, that doc should be in your docs directory (C:\Program Files\Arbortext\Editor\docs\customizing_guide.pdf)

Categories: ,

Wednesday, May 17, 2006

DocBook XSL 1.70 released!

It's been a while since the last release of the DocBook stylesheets, but there have been quite a number of improvements and fixes! Michael Smith has announced the availability of Version 1.70.0 of the DocBook XSL stylesheets.

You can download the latest stylesheets at: http://sourceforge.net/projects/docbook, and you can view the release notes at: http://docbook.sourceforge.net/release/xsl/current/RELEASE-NOTES.html

Key improvements include:

  • support for FOP 0.9
  • support for Xalan 2.7
  • support for DocBook v5 docs
  • many new parameters for FO, HTML and manpage outputs
  • additions of WordML stylesheets

This is the initial experimental release, so please test and send feedback to the docbook-apps list! The final version 1.70.1 will be released following the short review and test period.

Categories:

Tuesday, May 16, 2006

Updated "DocBook V5.0 The Transition Guide"

Dick Hamilton has added a new section about creating customized versions of DocBook V5 grammar. This doc is a great reference for migrating content from earlier versions of the DocBook standard.

You can find the latest version here: http://www.docbook.org/docs/howto/

Categories:

Thursday, May 04, 2006

A little inline SVG...

I created this graphic for some training I created, and thought I'd try embedding it directly in a blog entry:

dc:author="Scott Hudson", Generated by potrace 1.7 I XML

Unfortunately, it looks like something is getting messed up on the Blogger side. A working example of inline SVG can be found here: http://jwatt.org/svg/demos/xhtml-with-inline-svg.xhtml. It looks like Blogger pages are served as text/html, not application/xhtml+xml, even though the post editor enforces that your content is well-formed! Hopefully there will be a way to change the blog settings so I can do inline SVG in the near future.

Categories:

Star Wars Lego II trailer!

StarWars.com and LucasArts have released the trailer for the new Star Wars Lego II video game! You can view it at: http://download.lucasarts.com/legoswii_480.mov

The original Star Wars Lego game is a ton of fun, and my kids and I played the game together for hours! The controls are simple enough that kids can actually play, and it's entertaining for both Star Wars and Lego fans.

Check it out!

Categories: ,

Monday, May 01, 2006

Generating PDF bookmarks with DocBook and Arbortext Publishing Engine

I've been creating PDFs via a DocBook customization layer and Arbortext Publishing Engine. For some reason, using this method, I couldn't get bookmarks in the PDF.

I tried various combinations of:

<xsl:param name="arbortext.extensions">1</xsl:param>
<xsl:param name="fop1.extensions">1</xsl:param>
<xsl:param name="fop.extensions">1</xsl:param>

Thanks to Paul Grosso for giving me the solution: If you are using Arbortext, you should use

<xsl:import href="doctypes/axdocbook/axdocbook-fo.xsl"/>
not
<xsl:import href="docbook-xsl-1.69.1/fo/docbook.xsl"/>

I need to take a look in axdocbook-fo.xsl to see what's going on, and figure out how to make the arbortext extension to the DocBook stylesheets generate the bookmarks properly.

I also found some interesting info on linking to PDFs:

If you want to display bookmarks when the PDF opens, create your link like:

<a href="mydoc.pdf#pagemode=bookmarks

Other linking parameters are described at: http://ic.ucsc.edu/docs/tutorials/linkingtopdfs/.

Categories: ,

Wednesday, April 26, 2006

May The Schwartz Be With You...

I'm sure you've all heard that Scott McNealy has handed over the reigns as CEO of Sun to Jonathan Schwartz. Jonathan has been President of Sun for a while now, so it's not totally unexpected. McNealy on the other hand, is now going to be Sun's Chief Evangelist and Chairman of the Board, which I'm sure he'll continue providing witty soundbites for the press to eat up! Of course, he needs to figure out how to blog -- it worked really well for Schwartz, and has really impressed me there.

What is not so clear, is how the market will react to Schwartz. He's certainly younger, and arguably a very bright person. Wall Street continues to call for massive cuts in the company, and in an effort to make his opening numbers look good, I'm wondering if he'll go ahead and follow their advice.

McNealy and Schwartz have made statements in the past that they will avoid layoffs at all costs. That said, I know of several stealth layoffs that continue to occur almost quarterly now. I fear for the Software and Services folks. Sun never could figure out how to sell software, and has instead, open-sourced most of it. Much of services have been out-sourced to India or otherwise. At heart, Sun is still a hardware company. But like a McClaren racer, who can really afford one? These days, folks continue to look for a Toyota Prius-like hybrid -- low on cost, good performance, and runs all kinds of software. I think Sun is a little management heavy, too. When they make the cuts, though, they tend to cut into the muscle and not enough of the fat.

For my friends still left at Sun, "May The Schwartz Be With You" -- and not against you...

Categories: ,

Wednesday, April 19, 2006

Playing the Spock Market

The new G4 network has come out with some interesting new shows. Slightly amusing is Bonzai, but the best is Star Trek 2.0!

I found out about it from an ad on MeeVee (who says internet ads don't work?). The show plays uncut classic Trek episodes, but also provides a ticker for the "Spock Market"

Basically, you sign up for a free account where they start you with 100000 Federation credits to "invest". There are a variety of "stocks" you can buy, and based on the episodes that air and other random news events, the value of those stocks change.

For my starting portfolio, here's what I got for my 100000 credits:

  • SPK (Spock): 10
  • MDM (Dr. McCoy): 5
  • SCT (Scotty): 100 - why not? This is Scotty's Engineering Log after all!
  • CKV (Chekov): 25
  • DMI (Dilithium Mining and Mineral): 45 - hey, who figured out how to re-crystalize in ST IV?
  • PHP (Starship Phaser and Photon): 1
  • WRP (Cochrane Warp and Impulse): 5
  • RAC (Robot, Android and Clone): 15
  • RDS (Red Shirt): 2 - because everyone needs a couple of Red Shirts, just in case...
  • TRS (Transporter): 50 - what did Scotty work on besides the engines?
  • PHZ (Hand Phaser and Blade): 25
  • KRS (Klingons, Romulans and More): 25 - I've always liked the Klingons! Qapla'!

I figured this would give me a pretty balanced portfolio. We'll see how this Enterprise works out...

You can give it a try at: http://www.g4tv.com/startrek20/spockmarket.aspx

UPDATE (4/26): My current net worth is 24,293,485 FDR!

  • JTK (Kirk): 1006
  • SPK (Spock): 75
  • MDM (Dr. McCoy): 167
  • SCT (Scotty): 100
  • CKV (Chekov): 10
  • DMI (Dilithium Mining and Mineral): 200
  • PHP (Starship Phaser and Photon): 10
  • COM (Communicator): 1
  • TSP (Tricorder, Sensor and Probe): 10
  • WRP (Cochrane Warp and Impulse): 10
  • LOG (Starship Log and Computer): 2
  • FED (United Federation of Planets): 200
  • RAC (Robot, Android and Clone): 130
  • RDS (Red Shirt): 100
  • TRS (Transporter): 23
  • UPP (Universal Planet and Planetoid): 205
  • PHZ (Hand Phaser and Blade): 10245
  • KRS (Klingons, Romulans and More): 40

Categories: ,

Monday, April 17, 2006

Happy Birthday, Flatirons Solutions!

Today is Flatirons Solutions 5th anniversary/birthday!

During the early years, Flatirons had to deal not only with typical startup pains, but also brutal general economic conditions with virtually no IT spending because of the market crash and 9/11.

Despite these very significant challenges, Flatirons is now a $15M company with 80 employees, and a an impressive list of clients in both the commercial and government sectors!

Flatirons Solutions is a great company to work for, and I'd like to say congratulations to our founders and my colleagues for 5 years of Vision, Experience, and Engineering Excellence.

Categories: ,

Annotating DocBook

Dominik Brettnacher has released Annotate 0.1.6, a free annotation tool for DocBook documents. Based on an extension of the DocBook XSL and a DBMS to store the annotations, it looks to be very useful! There is also an online demo you can try. For more info, check out: http://www.brettnacher.org/annotate/.

Annotation has been added to DocBook v5.0, and is described here: http://docbook.org/tdg5/en/html/annotation.html

Categories:

Thursday, April 13, 2006

You're going to have to get up pretty early...

If you want to hear me play French Horn! I'm playing for the Easter Sunrise service for Rock Creeek Church this Sunday.Selections will be traditional hymns:
"Christ the Lord is Risen Today", "Christ Arose (Up from the Grave He Arose)", and "A Mighty Fortress".

If you are in the Boulder area and are looking for a place to attend Easter services, you are invited to attend!
Directions are located here. We will be holding Good Friday service at 7pm, Easter Sunrise at 6am w/breakfast, and our regular service at 10am at Monarch High School. Hope to see you there!

Categories: , , ,

Wednesday, April 12, 2006

DocBook V5.0b5

Norm Walsh has just released beta 5 of DocBook V5.0!

Please give this version a test drive and report any problems.
The DTD/XSD/RNG can be found here: http://docbook.org/xml/5.0b5/

Categories:

Monday, April 03, 2006

Generating DOCTYPE and ENTITY DECLs in XSLT

I ran into a very interesting challenge lately, and since RoboHelp has been EOL'd, I thought I'd try to benefit the rest of the community that might need to migrate content out of RoboHelp. There is an export handler in RoboHTML that will convert content to DocBook, but unfortunately, it doesn't provide very good or accurate markup, IMO.

Since the default RoboHTML export handler for DocBook wouldn't work for us, we created a new export handler, based on the original. What I wanted, was a book file that contained entity declarations for each topic. The trick was trying to generate the Doctype declaration, with the entity declarations. XSLT provides a way to generate a PUBLIC and SYSTEM identifier in the DOCTYPE declaration for an output document, but does not provide a way to write out the entity declarations as an internal DTD subset in that doctype decl.

Part of the solution is to not use the XML output method, but to use the TEXT method. This was working splendidly, until it came time to write the file entity reference in the content. From what I could tell, the problem is with the msxml parser that RoboHelp uses when exporting content. No matter how I tried to escape the "&", I would get &amp; in the entity reference, which of course would not resolve.

Instead of building it into the export handler, I came up with a stylesheet to process the *_toc.xml file that resulted from the DocBook export.

Here are some snippets from the resulting code. The critical components are generating the DOCTYPE decl, generating the ENTITY decl, and then creating the entity reference.

<xsl:output method="text"  indent="yes"/>

<xsl:template match="/">
  <xsl:text disable-output-escaping="yes"><!DOCTYPE book PUBLIC "-//COMPANY//DTD DocBook-Based Extension v1.0//EN" "extended-docbook.dtd" [
    <!ENTITY glossary SYSTEM "glossary.xml">
  </xsl:text>
  <xsl:for-each select="//tocentry/ulink[normalize-space(@url)!= '']">
    <xsl:call-template name="generate_entity_decl">
      <xsl:with-param name="url" select="@url" />
      <xsl:with-param name="title" select="@title" />
    </xsl:call-template>
  </xsl:for-each>
  <xsl:text disable-output-escaping="yes">]></xsl:text>
  <book>
    <title><xsl:value-of select="title"/></title>
    <bookinfo>
      <xsl:call-template name="generate_publisher_info">
        <xsl:with-param name="rootnode" select="." />
      </xsl:call-template>
    </bookinfo>
<xsl:apply-templates/> 
    <xsl:text disable-output-escaping="yes">&</xsl:text>glossary;
  </book>
</xsl:template>

The above creates the DocType declaration, but relies on generating a valid entity name for the entity declarations:

  <!-- =========== generate_file_url template ============= -->
  <xsl:template name="entityName">  
    <xsl:param name="url"  />
    
    <xsl:choose>
      <xsl:when test="contains($url,'/')">        
        <xsl:value-of select="substring-before($url,'/')"/>
        <xsl:call-template name="entityName">          
          <xsl:with-param name="url" select="substring-after($url, '/')"/>         
        </xsl:call-template>       
      </xsl:when>     
      <xsl:when test="contains($url,'\')">        
        <xsl:value-of select="substring-before($url,'\')"/>
        <xsl:call-template name="entityName">          
          <xsl:with-param name="url" select="substring-after($url, '\')"/>         
        </xsl:call-template>       
      </xsl:when> 
      <xsl:otherwise>       
        <xsl:value-of select="$url"/>       
      </xsl:otherwise>     
    </xsl:choose>
    
  </xsl:template>
  
  <!-- ======== outputs entity references ======== -->
  <xsl:template name="generate_file_url">
    <xsl:param name="url" select="''" />
    <xsl:param name="title" select="''" />
    
    <xsl:variable name="transformedURL">
      <xsl:value-of select="translate(string($url), ' ()','_' )" />
    </xsl:variable>
    
    <xsl:variable name="entity.file.name">
      <xsl:call-template name="entityName">
        <xsl:with-param name="url" select="$transformedURL" />
      </xsl:call-template>
    </xsl:variable>
    
    <xsl:variable name="entity.name">
      <xsl:choose>
        <xsl:when test="contains($entity.file.name, 'htm')">
          <xsl:value-of select="substring-before($entity.file.name, '.htm')" />         
        </xsl:when>
        <xsl:when test="contains($entity.file.name, 'xml')">
          <xsl:value-of select="substring-before($entity.file.name, '.xml')" />         
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="$entity.file.name" />
        </xsl:otherwise>
      </xsl:choose> 
    </xsl:variable>
    
    <!-- outputs entity reference -->
    <xsl:text disable-output-escaping="yes">&</xsl:text>
    <xsl:value-of select="$entity.name" />
    <xsl:text disable-output-escaping="yes">; 
    </xsl:text>
    
  </xsl:template>

The above templates create a valid entity name, based on the path to the file. I tried to adjust for both XML, HTML and unknown file names. Following is the template that creates the ENTITY declaration that needs to be a part of the internal subset in the DOCTYPE declaration.

  <!-- This generates an entity declaration: <!ENTITY foo SYSTEM "foo.xml"> -->
  <xsl:template name="generate_entity_decl">
    <xsl:param name="url" select="''" />
    <xsl:param name="title" select="''" />
    
    <xsl:variable name="transformedURL">
      <xsl:value-of select="translate(string($url), ' ()','_' )" />
    </xsl:variable>
    
    <xsl:variable name="entity.file.name">
      <xsl:call-template name="entityName">
        <xsl:with-param name="url" select="$transformedURL" />
      </xsl:call-template>
    </xsl:variable>
    
    <xsl:variable name="entity.name">
      <xsl:choose>
        <xsl:when test="contains($entity.file.name, 'htm')">
          <xsl:value-of select="substring-before($entity.file.name, '.htm')" />         
        </xsl:when>
        <xsl:when test="contains($entity.file.name, 'xml')">
          <xsl:value-of select="substring-before($entity.file.name, '.xml')" />         
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="$entity.file.name" />
        </xsl:otherwise>
      </xsl:choose> 
    </xsl:variable>
    
    <!-- outputs entity declaration -->
    <xsl:text disable-output-escaping='yes'><!ENTITY </xsl:text><xsl:value-of select='$entity.name'/><xsl:text> SYSTEM
"</xsl:text><xsl:value-of select='$transformedURL'/><xsl:text>"</xsl:text><xsl:text disable-output-escaping='yes'>>
    </xsl:text> 
  </xsl:template>

As you can see, there are several variables that have been reused, and could probably be declared globally or more efficiently. The remaining task is to create the entity reference in the content. Since the RoboHelp export handler dumped everything as a tocentry/ulink, it's pretty easy to extract and re-write the entity reference we really want:

 
  <xsl:template match="tocpart">
    <chapter>
      <title>
        <xsl:value-of select="tocentry"/>
      </title>
      <xsl:apply-templates />
    </chapter>
  </xsl:template>
  
  <xsl:template match="tocchap">
    <xsl:choose>
      <xsl:when test="tocentry/ulink">
    <xsl:call-template name="generate_file_url">
      <xsl:with-param name="url">
        <xsl:value-of select="tocentry/ulink/@url"/>
      </xsl:with-param>
    </xsl:call-template>
      </xsl:when>
      <xsl:otherwise>
        <section>
          <title>
            <xsl:value-of select="tocentry" />
          </title>
          <xsl:apply-templates select="toclevel1"/>
        </section>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

The finer details will be left as an exercise to the reader, but this was a particularly interesting problem and solution. Hope this helps!

Categories: ,

Tuesday, March 28, 2006

DITA 2006 - morning sessions from Day 1

As I mentioned before, I thought day 1 of DITA 2006 was a little "marketing" heavy, meaning most of the sessions dealt with the benefits of DITA and not much technical detail.

Keynote: The Business Benefits Obtained from Using DITA at IBM – Dave Schell

Dave’s keynote was a good overview of the benefits of DITA. Key benefits are the same as other structured markup benefits: increased consistency of content, content reuse, multiple outputs from a single source, faster and cheaper globalization and enabling personalization. What I thought was interesting, were the numbers he shared. A typical infocenter at IBM contains about 5,000 topics! He said the content is maintained primarily in their source code control and tied to the software builds. I think if you are planning to author large amounts of topics in DITA, a content management system is essential.

DITA is Ready for Prime Time. Are you Ready for DITA? – Eliot Kimber

Eliot’s preso was one of the more interesting, and controversial of the conference. I enjoyed it immensely. Eliot commented, “The more interesting question is why would DITA not be the right answer?” Some of these reasons may include: a small writing group that cannot afford some of the tools that help to author DITA effectively, such as an author-friendly XML editor (Arbortext or XMetal) and a content management system (such as Documentum, Ixiasoft, or XyEnterprise).

The most controversial part of Eliot’s preso was the comment that

“In order to use DITA effectively, you have to Specialize!”

Derived types can inherit processing defined for their ancestors. Industries can also create a set of specific types for their needs. DITA Specializations, by design, reduce the risk of creating customizations (where with a DocBook customization you have to be careful about maintaining your customization when the standard changes).

Eliot also discussed some of the hidden traps you can run into with DITA:

  • Inefficient processes – automating an inefficient process will fail to deliver the expected benefits and cost savings!
  • organizational boundaries – must focus on the enterprise bigger picture if it’s to be done right.
  • technology limitations – no OOB DITA solution. info analysis still necessary to determine additional specs, format analysis and stylesheet dev, legacy data conversion, integration with other tools (translation memory, DAM, CMS, etc.)
  • resource utilization – SMEs perform time consuming formatting tasks, indexing content, redundant content creation, maintenance of reused content, using expensive resources for copyediting and production functions.

My other favorite quote from Eliot:

“Do not underestimate the level of expertise and effort involved to implement DITA smoothly.”

Tony DiSilva also started the recurring question at the conference:

“How do you know when you should be using DocBook and when you should be using DITA?”

Specialization is essential for larger companies. The decision for smaller enterprises may be fuzzier between DITA and DocBook. With DITA, you will likely need a CMS (increasing the cost). DITA 1.1 is focusing on adding features to enable books. (front and back matter, indexing, etc.). This will make it harder to decide between DITA and DocBook.

How can they play together? Perhaps DocBook could adopt some form of DITA specialization mechanisms for fallback processing of customizations. The two standards could/should align some of the core element types in DITA 2.0/DocBook 6.0. For example, DocBook predates HTML, so those tags weren’t adopted. DITA started with the HTML tags.

IMO, if you already have your content in DocBook, there is no compelling reason to switch or migrate your content to DITA. As Norm Walsh has pointed out previously, with possibly one exception, everything that you can do in DITA can be done with DocBook. We have helped several of our customers do DITA-like implementations using DocBook. If your content is unstructured, and you are moving to a structured markup standard, the decision is on more equal footing. Key considerations are: youth of DITA vs. maturity of DocBook, robustness of markup and toolsets, ease of exchange with other partners or groups (what standard are they using? how portable do you need your content? what is the expected lifespan of the content? what is the current structure of the content, and how much rework will be needed as part of the migration?).

My Discussions with the founding fathers of DITA

One of the great things about this conference is access to the founding fathers of DITA! I had a chance to chat with Michael Priestley, Don Day and Rob Anderson about several topics:

Is DITA planning to use/provide RelaxNG schemas?
Don Day – not really. RelaxNG doesn’t have default attributes, and DITA relies heavily on attributes.

Do you see any tie between DITAMaps and Topic Maps?
Michael Priestly – they are very different. DITA maps are much more hierarchical and constraining, where XTMs focus on relationships and are non-constraining.

Looks like this post is getting a little long, so I'll split up my posts. Stay tuned for more DITA 2006!

Categories:

Sunday, March 26, 2006

DITA 2006

I’m traveling home after attending the DITA 2006 conference in Raleigh, NC. In all, it was a pretty good conference. It was definitely the 1.0 conference, as the first day was primarily touting the benefits of DITA and a little lax on technical content.

Being able to chat with the experts like Michael Priestly, Don Day, Robert Anderson, Paul Prescod, Eliot Kimber, Norm Walsh and Bob Stayton was worth the price of admission alone!

By far, my favorite sessions were: Eliot Kimber's "Are you ready for DITA?", Norm Walsh's "Reflections on DocBook and DITA", Jennifer Linton's "Developing DITA Maps", and Michael Priestly's "Specialization"

Stay tuned for a series of posts with a summary of the sessions I attended, and a few pics thrown in for fun! I did try to moblog throughout the conference, but apparently Raleigh was not as friendly to T-Mobile, and my posts never made it to blogger.

Categories:

Tuesday, March 21, 2006

New DITA XML.org Focus Area

The OASIS DITA TC has officially launched a Focus Area site at: http://dita.xml.org/

The site features three main sections:

  1. DITA Knowledge Base, which provides a technical and educational background on the standard, as compiled by the site's Editorial Board;
  2. DITA Today, which serves as a community bulletin board and directory; and
  3. DITA Wiki, which enables the public to dynamically collaborate on documents and add new pages.

Check it out!

Categories: ,

DocBook to SCORM conversion

Sasha Philippov has announced the release of a free command-line tool for DocBook to SCORM 2004 conversion. It is the command-line Ant-based java application intended to generate SCORM 2004 compliant packages from DocBook 4.4 sources. It's free to use but not open source. It uses XSL stylesheets from DocBook project on SourceForge to generate HTML resources.

You can find more information on the tool at: http://pyxx.org/DocBook2SCORM/overview.html

Michael Smith reported an "Unsupported major.minor version 49.0" error with Java 1.4.2, so you may want to use the latest version of Java.

I am also doing some work with clients on authoring eLearning content in DocBook and exporting to SCORM, so I will definitely be giving this a try! Will post my results later...

Update: Sasha has recompiled the converter to support JRE 1.3 and higher.

Categories: , ,

Monday, March 20, 2006

Doctor Who: The Next Regeneration

My wife and I were pleasantly surprised to see the Sci-Fi Channel carrying Doctor Who! We've been looking for a new show, as Battlestar is getting a little too dark, and we can't seem to stay on top of Stargate (time-commitment, as opposed to not understanding plotlines). The show will be part of Sci-Fi Fridays.

My friend Cam first introduced me to Doctor Who through the boardgame (Doctor Who: The Game of Time and Space) and also the TV series starring Tom Baker.

I'd lost touch with Doctor Who, since I also liked classic Buck Rogers, Battlestar Galactica, Star Trek, Star Trek:The Next Generation, and more...

When I saw the series promo on Sci-Fi, I thought it was new! Turns out after research on Wikipedia, that the series being broadcast is from 2005, starring Christopher Eccleston. There is already a new Doctor, David Tennant.

From the two episodes we saw this past Friday, starring Christopher Eccleston and Billie Piper, we are very excited to watch!

Categories:

Monday, March 13, 2006

My Favorite Martian

Check out what Google just released! Google Mars! I've always dreamt about going to Mars, but this is the next best thing to being there...

I thought it was also cool that the MRO (Mars Recon. Orbiter) entered orbit around Mars on my 10th Anniversary on Friday! Details on this mission are here: http://mars.jpl.nasa.gov/mro/. This mission/spacecraft should give Google Mars some GREAT images to use!

Categories:

Friday, March 10, 2006

Ten years of wedded bliss!

  Posted by Picasa

Today, Dawn and I mark ten years of marriage! We are planning a trip to Scotland this year to celebrate. Tonight we are getting together with many of our original wedding party. It will be fun to see everyone again. For those not with us, we will be thinking of you!

Categories: ,

New DocBook releases

Norm Walsh has published the following new DocBook releases:

Version 4.5CR2. This is the Committee Specification version of DocBook V4.5 with a minor bug-fix to citebiblioid. The reference documentation has also been updated.

Version 5.0b4. This incorporates a number of changes including a new "cover" element, a fix for title-ordering in info elements, a few minor renamings, and a build fix to correct the totally unusable XSD files distributed with b2 and b3. The reference documentation has also been updated.

Simplified DocBook V1.2CR1. This fixes a bug in 1.1 that requires a caption on an informaltable. It is also based on 4.5CR2.

The schemas are available here: DocBook 4.5CR2, DocBook 5.0b4, Simplified DocBook 1.2CR1

Thanks, Norm!

Categories:

Thursday, March 09, 2006

Agile Publishing with XML

Michael Fitzgerald (of XML Hacks fame) has written an interesting article on Agile Publishing.

Agile publishing shouldn't need to worry about common tools, as long as everyone on the project is using a common format (XML) and common schema/DTD (e.g. DocBook). Each person could work on whatever section of the document they want using the XML editor of their choice (vim, jedit, Arbortext, oXygen, you name it!) as long as there is some validation prior to checking it back in!

What is desperately needed are more XML editors that support RelaxNG. Thank you oXygen! However, we need the more author-friendly tools to support RelaxNG. (Psst! That means you, Arbortext and XMetal!)

Categories:

Wednesday, March 08, 2006

DocBook specialization made easy

Jirka Kosek has created a most excellent summary of how to easily create a custom specialization of DocBook, using the DocBook v5.0 spec. Check it out at:
http://xmlguru.cz/2006/03/easy-docbook-specialization. As Jirka says, "Dumb easy!"

Categories: ,

Friday, February 24, 2006

Problem converting RNC/RNG annotations to XSD annotations with Trang

first, let me say "thank you!" to James Clark for all of your work on RelaxNG, Trang and Jing! I do all of my DocBook customization layers in RNC and convert to the appropriate supported schema language for my client's editors. It has made my life much easier!

I am trying to convert an RNC schema to XSD with annotations that look like:

##Foo: This element is the top level container for the entire
document. Attributes for this element
## provide information about the status of the document.
Foo =
 element Foo {blah
}

When I run Trang to convert the RNC (I've also tried RNC to RNG to XSD) to XSD, none of the annotations come across. When converting the RNC to RNG, the annotations come across, but are lost with the step to XSD.

 <define name="Foo">
   <a:documentation>Foo: This element is the top level
container for the entire document. Attributes for this element provide
information about the status of the document.</a:documentation>
   <element name="Foo">

I am confident I am using the appropriate markup, since the annotations carry over to RNG appropriately.

Does anyone have any fixes or suggestions for getting the appropriate XSD annotations? Such as:

  <xs:annotation>
     <xs:documentation>Foo: This element is the top level
container for the entire document. Attributes for this element provide
information about the status of the document.</xs:documentation>
   </xs:annotation>

Categories: , ,

Thursday, February 23, 2006

I've been released!

Okay, maybe not me. Khosuke Kawaguchi has released the latest version of Hudson, an automated build and test tool written in Java. Looks pretty interesting. I was hoping Khosuke-san had named it after me, but apparently he thinks of the tool as his butler...

Categories: ,

Tuesday, February 21, 2006

Wednesday, February 15, 2006

Dr. Kay and the Saxon Diaries

Big day for XML experts and their new blogs! It looks like Dr. Kay (author of the XSLT Programmer's Reference and creator of THE best XSL parser in the world) is now blogging: Saxon diaries.

If you don't use it already, you need to switch to Saxon (http://www.saxonica.com/). It is simply the most compliant, high performance parser available for processing XML with XSLT. He has also added support for XSLT 2.0 and XQuery.

Welcome to the blogosphere, Dr. Kay!

Categories:

Dr. Macro will see you now...

Eliot Kimber has finally started blogging:Dr. Macro's XML Rants. Welcome to the blogosphere, Eliot!

Eliot was the first person I'd ever seen in a Utilikilt, let alone speak at an XML conference (eXtreme Markup) in one! I've since purchased and worn a Utilikilt as well.

As an observer on the OASIS DITA TC, I've taken great interest in Eliot's insights/rants on the mail list. As his blog typically addresses that "all tools suck, but some suck less", I hope that his efforts will make sure that DITA will suck less as well.

Categories: ,