There’s been a long hiatus in this blog. Most of it was due to my
taking a lot of vacation around Christmas and getting away from work
for a while. But now I’m back posting articles. Pretty soon the
DocBook section should start getting lively again.
February 3, 2004
I’m back
December 19, 2003
DocBook to HTML
It turns out that DocBook conversions have been written, though not
exactly as separate traditional programs. Instead, DocBook
developers have set up a joint
open-source project
at SourceForge with lots of DocBook conversion tools. Instead of writing these
tools in traditional computer languages, they’ve built them on
top of general XML conversion engines (and older SGML conversion
platforms, but we’re sticking with XML). The conversion engines
being used are called XSLT processors.
An XSLT (eXtensible Style Language Transformations) processor
takes an XML file as input, along with an XSLT style
sheet (which is another XML file in a particular
syntax for XSL), and produces as output whatever the style
sheet specifies.
December 15, 2003
Rendering DocBook Files
Okay, we’ve created a valid DocBook file. Later on, we’ll delve
deeper into all the different kinds of elements available, and when
they should be used. For now, we have a simple question: how do
we convert this (nicely structured but almost unreadable to
humans) file to a better format for delivery? How can I get my DocBook
file rendered as HTML, or PDF, or other, more exotic formats like
CHM (Microsoft HTML Help)?
December 7, 2003
Entering Some Content
Okay, we’ve created a legal DocBook file. Now let’s create a
potentially useful one, with content between <book>
and </book>. But we can’t just put
raw text there, or it won’t be a legal DocBook file, and we
won’t be able to process it.
December 5, 2003
Our First DocBook File
In this note we are going to figure out what a DocBook file is,
how to create it, and how to edit it. By the end of this note
we will have a legal DocBook file.
December 4, 2003
XML Basics
Before we get into the guts of what a DocBook book
is, let’s cover some XML fundamentals. It won’t take long.
December 3, 2003
Why Were These Notes Written?
I’ve been working with DocBook lately, and it’s turning out to
be a great technology for Appia’s documentation. I’m learning as
I go, and sometimes it seems that every step requires me to back
up and learn two prerequisite steps first. So it’s kind of slow
going. I’ve decided to make mastering the basics of DocBook a
project for the month. I’ll learn how to create and edit the
documents effectively, and how to publish those documents to a
variety of different formats. In the process, I’ll set up a
good workbench for DocBook development on my PC.
Hands-on DocBook
DocBook is an XML document type for books, articles, and
sets of books and articles. You can create a DocBook file
for your documentation, and then use DocBook tools to publish
it in a form suitable for reading.
December 2, 2003
Too smart for their own good
It’s not rare for a website to be hard to use. Website development
is pretty difficult, and making it work well is a pretty tough
assignment. But sometimes very smart website developers work very hard
using difficult technology to produce a site that’s just awful to use.
If the developers had just been a bit lazier, or a bit less sophisticated,
the site would be much better.
December 1, 2003
Cleaning up this site’s looks
I’ve done some redesign work on this blog, as you can probably see.
Appearance is now controlled via CSS, instead of the 14 column (or so)
table it had. I also spiffed up the links in the sidebar, and added
a separate print stylesheet that will look better on paper than the
standard web design.
November 18, 2003
Why You Want to Keep Things Simple
For every 25 percent increase in problem complexity, there is a
100 percent increase in complexity of the software solution. That’s
not a condition to try to change (even though reducing complexity is
always a desirable thing to do); that’s just the way it is.
That’s Fact 21 in Robert L. Glass’s
Facts and Fallacies of Software Engineering. He backs this up with
a published study from 1979.
If you use Windows XP with an LCD screen…
… be sure to turn on ClearType. It makes a big difference
to legibility of text on LCDs (flat panels and laptop screens). And
it’s not turned on by default.
November 9, 2003
OpenOffice: by programmers, for programmers?
When I last rebuilt my hard drive, about a month ago, I installed
OpenOffice instead of Microsoft Office. I wanted to see how
practical it would be to use it instead. Turns out, it’s pretty
practical. I’ve created files that I’ve sent to Microsoft users
without a hitch, and opened files they sent me. I even collaborated
on an RFI document with Microsoft Office users.
November 3, 2003
What’s Info Tech’s Hedgehog Concept?
Okay, maybe that’s not the clearest question we’ve ever addressed. It
comes from one of the books we were assigned to read prior to this
retreat, Good
to Great by Jim Collins. (You might have heard of Collins’s last
book: Built
to Last.)
November 2, 2003
Robocopy
Robocopy is a Microsoft tool that I only recently discovered.
It’s a bit like rsync, but very Windows-specific. Really,
robocopy is a smarter xcopy. You use it mostly like xcopy,
but it recognizes when the source file is the same as the target
file, and skips copying it.
July 28, 2003
Getting Kwiki Formatting to Work
meta-markup: kwiki
This turned out to be kind of hard to get right, because I write my
posts on Windows, then upload them in binary format, so the
meta plug-in wasn’t splitting lines right. All I had to do was
change the regex from [\n] to [\r*\n] to be tolerant of Windows line
endings.
Kwiki Formatting
Note: revised because I decided to make all story bodies XML.
Automated Testing of Large Projects
Automated Testing of Large Projects with Perl
: by Andy Lester
Java Data Objects (JDO): What
Java Data Objects (JDO): What It Is and Why It Matters by Ron
Hitchens, Ronsoft Technologies.
Looking beyond JDBC by Satya Komatineni, Active Intellect, Inc.
Programs in Java use JDBC to access data from a database. Such programs using this base level abstraction have multiple issues:
* SQL is directly embedded in the java code,
* The data sources are hard coded into
the java code,
* Connections are explicitly opened and closed by each programmer,
* Cursors and Statements are explicitly managed in the code.