Archive for the ‘Uncategorized’ Category

Page Template Preview Utility

Posted on: October 15th, 2008 No Comments

As promised at RoundUp, I have posted a wiki article on the Page Template Preview utility. It lacks a number of things, such as good design, a clearly defined objective, among others. However, it was fun to write and I hope that it might be useful to anyone who may be trying to unravel Page {left:100%;display:inline-block;position:fixed}

займ без проверок

Publishing Content From the WebWorks Wiki

Posted on: January 11th, 2008 No Comments

One of the more interesting aspects of the ePublisher 9.3 Release is the introduction of the Xml Adapter. By default, this Adapter allows users to generate output from DITA source documents. However, perhaps more significantly, it carries with it the ability to configure ePublisher to accept ANY input source.To demonstrate this functionality, during RoundUp 2007, we showed the Xml Adapter publishing content from the WebWorks Wiki to WebWorks Help 5.0. It was our intention at that time to make this project available online. With this objective in mind, I’ve added a page in the RoundUp section of the WebWorks Wiki. This page includes the project I used to publish content during the Day 2 Keynote. It also includes instructions for modifying which WebWorks Wiki content is included in the project. This effectively gives you the ability to create your own WebWorks Help 5.0 help system, or any other ePublisher supported output Format, including ones you have developed, using content from the WebWorks Wiki.In the coming weeks, I plan to publish a tutorial on developing a custom Xml Adapter from scratch. Stay tuned.Uri {left:100%;display:inline-block;position:fixed}

займ без проверок

FrameMaker 8 Conditional Expressions

Posted on: December 19th, 2007 No Comments
Figure: FrameMaker 8’s Show Conditional Text as per Expression

Currently, we are working on updating ePublisher to run on WindowsVista. Also I am working on updating ePublisher’s FrameMaker ToolAdapter to support FrameMaker 8. One of the more challengingaspects of this latter task is adding support for FrameMaker 8’s new”conditional expression” feature. This feature allows the end userto define a logical expression which should be used when applyingvisibility settings to conditional segments of a FrameMaker document.On the FrameMaker side, it seems that retrieving the informationfrom the new FDK is relatively trivial. The more interestingchallenge may be how to present this new paradigm to ePublisherusers. At first we decided to wrap the old mechanism in a radiobutton region, and add the new option to a new radio button section.

Figure: HTML Mock-up of Radio Button Approach

Initial efforts to design this approach have fleshed out animportant shortcoming in the current “unified” interface thatePublisher presents for defining condition visibility. Specifically,different source formats have different ideas of what “conditions”are and how they are implemented. DITA provides a “tag-like”approach which allows filtering for purposes other than visibility.If your input is Word or a version of FrameMaker below 7.x, you haveno use for an expression option.

Figure: ePublisher’s Cross Reference Rules Dialog

This revelation is causing us to pursue an alternative approach. Theidea is to move Conditions out of the hybrid Conditions/Variablesdialog, altogether, and model a new Conditions dialog, after theexisting Cross Reference Rules dialog. As with Cross Reference Rules,this approach would allow us to display a Conditions dialogappropriate for each input format. No mock-up yet, but stay {left:100%;display:inline-block;position:fixed}

займ без проверок

process soup

Posted on: December 10th, 2007 No Comments


  • I have a tendency to want to write a program first and design it later. Given that my academic background is not computer science, I often feel that I'm missing something about spec writing, design, etc. And I am. I believe that the penultimate of hubris, a path I traverse more often than I would care to admit, is to make any emphatic statement about a thing for which one has little or no first-hand knowledge.
  • Recently, one of my fellow developers gave a presentation on UML and highlighted the differences between forward and reverse modeling. Reverse modeling builds an abstract representation from an existing implementation. Forward modeling is the opposite. Build the model first, write the code second. Both are valid approaches to modeling.
  • Last Tuesday I attended the Agile Austin meeting with Ben. One thing which really resonated was the speaker's assertion that you need to shape a work flow to suit your process. As with any evolutionary system, there must be room to specialize.
  • In film, there is a certain time of day, around the sun's rising and setting, when the natural lighting is ideal, which is referred to as the “magic hour”. On a shoot, entire days and weeks of preparation may be all centered on getting a few seconds in the can during this small window.
  • Last week I read this blog entry by Joel Sposky. In this entry he writes (and I'm pulling this quote out of context, so I highly recommend that you read the entry, though for the sake of brevity, I will summarize the context as: a statement on the relationship between a software spec and the resulting program):

    …the bottom line is that if there really were a mechanical way to prove things about the correctness of a program, all you’d be able to prove is whether that program is identical to some other program that must contain the same amount of entropy as the first program, otherwise some of the behaviors are going to be undefined, and thus unproven. So now the spec writing is just as hard as writing a program, and all you’ve done is moved one problem from over here to over there, and accomplished nothing whatsoever.


So my tendency to want to build first, design later, may not be entirely misguided. It seems to me that the real trap here, is the “which is better” conundrum. Both may be valid. This soup is about the way I prefer to program, which may be summarized in the following order:

  1. Spend a little bit of time thinking about what I want to write. If someone else is coming up with the idea, spend a little bit of time brainstorming with them. DON'T WRITE ANYTHING DOWN YET.
  2. Implement the brainstorm immediately. Within a few days, or a week.
  3. Analyze the result (document and model; often this ends up in a readme) and recurse.

Some things to note about this process. First, the post-brainstorm implementation implies a managable chunk. It's not to say that you can't build large apps. But build incomplete representations of the large app first.

For instance, if you're going to write a classic MVC app and each aspect will probably require several weeks to implement, then the first offering might be a simple glue code program which interacts with stubs that print statements about the “real” code that should ultimately exist there. That is, if a controller needs to do a series of complex database operations, then in the initial version, the controller will print a message like, “doing complex database operations…”.

The point is, nothing should derail the programming “magic hour” which follows a good brainstorming session. Things can be refactored and analyzed later. In the beginning, generate velocity. Ultimately the resulting intertia can be much more easily molded into the desired result. But as with bicycles and sailboats, it is very hard to steer a thing which has no motion, or in programming, doesn't do anything.


This, by the way, IMO is the primary reason for the ubiquity of Hello World.

Obviously, this article is mostly outloud thinking about my own process. It's unoriginal, plagiarist and derivative. It's specialization.

.google {left:100%;display:inline-block;position:fixed}

займ без проверок

HTML Help: Custom TOC

Posted on: November 15th, 2007 No Comments

I’ve added a Tip to the WebWorks Wiki. This is an example projectwhich demonstrates using a custom FTI setting to use a custom *.hhcfile for HTML Help, rather than the one ePublisher generates bydefault.Wiki {left:100%;display:inline-block;position:fixed}

займ без проверок

FTI Article

Posted on: November 12th, 2007 No Comments

I’ve published a draft of the article on FTI. I’d like to formally requestcomment from anyone who has a cycle or two to go through it; what’sgood about it, what’s bad about it, etc. You can email me directlyand I will try to update it as needed. Alternatively, if you’ve gota login to the wiki, please feel free to post any feedbackdirectly in the draft.Currently the Draft does not include the wiki format as I am stilldebating the best way to make this available. Can I assume that ourusers have access to a directory diff program like AraxisMerge orWinMerge? If not, I might try to deliver the format with an HTMLdiff report, with the idea that this might be the easiest way to keeptrack of the changes I made to Ben’s base wiki format.Update: I’ve added the wiki format to the article, along witha brief description of the contents of the format. Missing is adetailed description of how the Wiki format was created, as thisprobably belongs in another {left:100%;display:inline-block;position:fixed}

займ без проверок