Emacs?!
I have this growing stack of books on my night stand. I tend to read some of a book, pick up another and eventually return to the original one. This can continue for as many as 10 or 15 books and 2 or 3 months at a time. My night stand is obviously quite a mess! It occurred to me that someone out there might be interested in at least some of the things I'm reading, so I put together my second book list that you can find here... This is the list of books that are currently on my night stand.
Now on to the actual point of this entry - I started reading The Pragmatic Programmer
The Power of Plain Text
They make the case (extremely effectively for me at least) that we should keep our most important data NOT in secretive, proprietary, volatile, incompatible, binary formats, but instead - in human-readable, cross-platform, version-able, merge-able Plain text files. It's OK to compile this plain text into more efficient binary formats for specific purposes (like network transmission for example), but it's unwise to store our most critical information using transient and volatile means such as Micorosoft Word documents and Excel Spreadsheets. It's important to note that the authors do not come out and say anything about these particular file formats, and I'm eager to point out that even Microsoft itself has finally embraced the wisdom in this idea...
They cite the following primary reasons for using Plain Text:
- Insurance against Obsolescence: Unlike binary files, for as long as that file exists, you can use any standard tool to parse it and unlock it's secrets.
- Leverage: Just about every tool available in computing can operate on Plain Text. Within this argument, these guys proceeded to describe some ancient (1980's) and yet stunningly efficient and powerful tools that I'm frankly ashamed to not be intimately familiar with. (for example: Emacs, Sed and Awk)
- Easier Testing: It's much simpler to verify and validate inputs and outputs if a system works with Plain Text rather than hidden binary formats. This argument really goes to the core of my problems with Flash Remoting.
Finally, as a result of reading The Pragmatic Programmer