2004-05-31 Books
I finished Eric S. Raymond’s *The Art of UNIX Programming* ¹ today. I liked how he puts things into words that I knew but couldn’t express well. A typical problem in my Windows-only office. How do I explain my ideas about object-orientation, threading, property files, or free software when all I have are gut-feelings? ESR puts it into words, articulates this knowledge “outside the scriptures” and thereby helps me articulate it as well.
¹
Another good think are the references. For many topics, he’ll point you to the one or two seminal books, papers, RFCs, or websites you need to know about. I should make a list of the things I want to read more about:
- Agile Manifesto, http://agilemanifesto.org/ – when you read the small number of simple statements, you might feel that they just state the obvious. And they do. Now reflect on how close your work environment comes to these goals.
- TCPA FAQ, http://www.cl.cam.ac.uk/~rja14/tcpa-faq.html
- Tutorial on autotools, http://seul.org/docs/autotut/
- Writing Documents Using DocBook, http://xml.web.cern.ch/XML/
- The Internet Standards Process, RFC 2026 – dry and boring, unless you wondered what the difference between an RFC and an Internet Standard actually is, and how these things get created.
- Free Standards Group, http://www.freestandards.org/
- *Just for Fun* by Torvalds and Diamond, ISBN 0-06-662072-4
- Single Unix Standard, http://www.unix.org/version3/
- *The C Programming Language by Kernighan and Richie, ISBN 0-13-110362-8*
- *Experiences – A Pattern Language for User Interface Design* by Coram and Lee, http://www.maplefish.com/todd/papers/Experiences.html
- *XSLT Concepts and Practical Use*, http://nwalsh.com/docs/tutorials/xsl/xsl/slides.html
- *Why Threads Are a Bad Idea* by John Ousterhout; slides available at http://home.pacbell.net/ouster/threads.pdf.
- *A Critique of the Remote Procedure Call Paradigm’’ by Tanenbaum and van Renesse, EUTECO ’88 Proceedings, Participants Edition. (No URL?)*
http://agilemanifesto.org/
http://www.cl.cam.ac.uk/~rja14/tcpa-faq.html
http://seul.org/docs/autotut/
http://xml.web.cern.ch/XML/
http://www.freestandards.org/
http://www.unix.org/version3/
http://www.maplefish.com/todd/papers/Experiences.html
http://nwalsh.com/docs/tutorials/xsl/xsl/slides.html
http://home.pacbell.net/ouster/threads.pdf
Application Protocols:
- On the Design of Application Protocols, RFC 3117 – ESR: “excellent overview of the design issues”.
- On the Use of HTTP As a Substrate, RFC 3205 – ESR: “good design advice for anyone considering using HTTP as the underlayer of an application protocol”.
- Rationale for the Structure of the Model and Protocol for the Internet Printing Protocol, RFC 2568 – ESR: “repays study by anyone considering writing a new application protocol”.
- BEEP, generic protocol machine that competes with HTML for the role of universal underlayer for application protocols, at http://www.beepcore.org/beepcore/docs/sl-beep.jsp
- *End-to-End Arguments in System Design* by Saltzer, http://web.mit.edu/Saltzer/www/publications/endtoend/endtoend.pdf – ESR: “every protocol designer should read the classic”.
http://www.beepcore.org/beepcore/docs/sl-beep.jsp
http://web.mit.edu/Saltzer/www/publications/endtoend/endtoend.pdf
These are only references I don’t know already. There are of course some interesting things I already read. ;)
Questions
- The low 128 characters of UTF-8 are ASCII, and the low 256 are Latin-1...* – This confuses codepoints with encoding, I think... While the encoding of ASCII and UTF-8 are the same (you can read an ASCII text as UTF-8), the same is not true for Latin-1 (you cannot read a Latin-1 text as UTF-8). For ASCII you need 7 bits, therefore you can use the 8th bit to say “this is a multi-byte character, check following characters for more information. Latin-1 is an 8 bit encoding, however, and needs this 8th bit.
- Other Version-Control Systems* doesn’t mention arch and darcs, both mentioned a lot on #emacs...
#Books
Comments
(Please contact me if you want to remove your comment.)
⁂
Another nice reference is “The Practice Of Programming” made by Brian Kernighan and Rob Pike. ISBN 0-201-61586-X
– adulau 2005-04-09 11:19 UTC