maradydd: (Default)
Suppose you're designing a protocol, and you're deliberating over whether to use XML, YAML, JSON, s-expressions (!) or some other data representation format for it.

The question you need to ask yourself is, "have I written an EBNF definition for my protocol yet?"

If the answer is "no," drop everything you are doing. Yes, everything. Step away from the keyboard. Get a pencil and paper, or go to the whiteboard, and work out your EBNF first.

Then, and only then, you may decide what to use as a data representation. Deciding what data format to use before you have determined the grammar of your protocol is like deciding what language to use before you have figured out what algorithms you're using.

Protocol structure is a design decision. Data representation format is an implementation decision. Do not intermingle the two; it will only end in tears, yours or someone else's. Probably yours.
maradydd: (bad post!)
While talking with [livejournal.com profile] enochsmiles earlier today, the question came up of what baby pelicans sound like, so I went to YouTube to find out. (If you're curious, you can listen to one here.) I was mildly horrified to see that one of the related videos was of a pelican eating ducklings, and even more surprised to see that one of the videos listed as related to that video was of a lion at the San Francisco Zoo apparently eating a cat.

Intrigued by the notion of larger animals eating their smaller relatives, I executed the following Google searches, reproduced here for posterity:

"pelican eats duck": 12,200 results
"lion eats cat": 43,600 results
"tiger eats cat": 1 result
"wolf eats dog": 1920 results
"chimpanzee eats monkey": 5 results
"capybara eats rat": 0 results

Got any more pairs? Share 'em in the comments and share the pain.

Profile

maradydd: (Default)
maradydd

September 2010

S M T W T F S
   1234
567891011
12131415 161718
19202122232425
26 27282930  

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags