About this Site
Tue Dec 19 19:51:57 UTC 2006
Erik Veenstra <erikveen@dds.nl>
1. Rationale for this Site
2. Technology of this Site
2.1. How?
2.2. Why?
2.3. Screen Shots
a) My View of the Document
b) The intermediate Format
c) The Reader's View of the Document
1. Rationale for this Site
This site is my way of giving something back to the open source community, especially the Ruby community. Over the years, I've taken a lot of software from the 'Net. That software isn't just software, written by devoted and often proud people, but it is a set of building blocks on which other programmers build their software. Like Sir Isaac Newton said: "If I have seen further than others, it is only because I was standing on the shoulders of giants".
It feels good to let software evolve that way. Don't start from scratch, but take something that almost does what you want it to do and take that to a higher level. And give that level back to the people who build the first seven levels. That's fair.
2. Technology of this Site
A lot of people ask me how I create the pages on this site. To avoid copying and pasting a default answer, I've put the default answer on-line. That's what you are looking at.
2.1. How?
The pages which look like little windows ("the menus") are made by hand. (Well, I abused RubyWebDialogs...) The pages with real content are made with a tool I wrote myself. It's called HTH, which stands for HTML->TEXT->HTML. When I do a "hth file.html", the HTML is converted to plain text with special markup things (see My View of the Document). This plain text is opened with my favorite editor (VIM), but any editor would do, since it is just plain text. When leaving the editor, the text with the special markup things are converted back to HTML again (see The intermediate Format and The Reader's View of the Document). The table of contents and the PDF are generated in this step.
2.2. Why?
Why do I do it this way?
When working with the usual WYSIWYG environments, I noticed that I spent a lot of time doing markup and layouts [1]. I wasn't interested in layouts at all. I just wanted to dump my thoughts and write some text. Mostly plain text. Optionally indicating bold and italic, images and headers. That's about it. But the readers want good looking pages. I've my needs, they've theirs. I've my perspective of a document and they have their perspective of the same document. So I spent a night or two on building tools to convert between them. HTH was born...
There's an other reason: I want to use only one editor for everything I do: programming, writing mails, writing documentation. It doesn't matter, I want to use VIM. (Please, don't laugh...) Using a different kind of editor for every task is not a good thing. Wrapping your head around yet another "intelligent" editor is even worse, let alone undoing its "intelligent" actions. MS Word is very "intelligent"... The editor is the most direct interface between a programmer and his machine. It doesn't matter if it's VIM or Emacs or Notepad: He usually only wants one interface to get used to. At least I do...
2.3. Screen Shots
a) My View of the Document
![My view of the document. [images/web1.gif]](images/web1.gif)
(This is plain text. The coloring is done by VIM highlighting.)
b) The intermediate Format
![The intermediate format (aka HTML...). [images/web2.gif]](images/web2.gif)
(This is plain HTML. The coloring is done by VIM highlighting.)
c) The Reader's View of the Document
![The reader's view of the document. [images/web3.gif]](images/web3.gif)
Notes
| [1] | Time saved by using HTH, compared to common tools, e.g. OpenOffice or MS Word, is more than 50%, easily. I simply can't lose time doing layout, because I can't do any layout! |