<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2497792762863705826</id><updated>2011-07-07T20:22:34.539-07:00</updated><category term='9/11'/><category term='SSH'/><category term='sysadmin'/><category term='eBooks'/><category term='REST'/><category term='software'/><category term='tips'/><category term='TSS'/><category term='politics'/><category term='Clojure'/><category term='Manning'/><category term='ROC'/><category term='Schematron'/><category term='open source'/><category term='duck typing'/><title type='text'>Tohono Consulting</title><subtitle type='html'>"Tohono" is the word for desert in the O'odham language.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-3230183320064043743</id><published>2011-05-27T10:39:00.004-07:00</published><updated>2011-05-27T10:44:37.689-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='sysadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='SSH'/><title type='text'>Keep an SSH connection alive</title><content type='html'>&lt;p&gt;I'm reposting this post from Cosmin Stejerean (offbytwo.com) as a reminder to myself about how to solve this problem that's plagued me for years when connecting to the U via SSH.&lt;/p&gt;&lt;p&gt;'If you are having problems with your &lt;span class="caps"&gt;SSH&lt;/span&gt; connection getting dropped after a certain amount of time (usually caused by &lt;span class="caps"&gt;NAT&lt;/span&gt; firewalls and home routers), you can use the following setting to keep your connection alive&lt;/p&gt; &lt;pre&gt;&lt;code&gt;&lt;br /&gt;Host *&lt;br /&gt; ServerAliveInterval 180&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;You can place this either in &lt;code&gt;~/.ssh/config&lt;/code&gt; for user level settings or in &lt;code&gt;/etc/ssh/ssh_config&lt;/code&gt;  for machine level settings. You may also replace * with a specific  hostname or something like *.example.com to use on all machines within a  domain. This is the cleanest way of making sure your connections stay up and  doesn’t require changes to the destination servers (over which you may  not have control)."&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-3230183320064043743?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/3230183320064043743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=3230183320064043743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/3230183320064043743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/3230183320064043743'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2011/05/im-reposting-this-post-from-cosmin.html' title='Keep an SSH connection alive'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-5956866577602280949</id><published>2011-05-16T18:35:00.003-07:00</published><updated>2011-05-16T18:40:54.289-07:00</updated><title type='text'>Out of the blue</title><content type='html'>I got this (probably unintentionally) hilarious spam from O'Reilly, which I first took for a very late April Fool's joke:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-7dWB47BETXY/TdHRgLIfifI/AAAAAAAAAXU/jTVbucIphkg/s1600/stoner.tiff"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 58px;" src="http://3.bp.blogspot.com/-7dWB47BETXY/TdHRgLIfifI/AAAAAAAAAXU/jTVbucIphkg/s320/stoner.tiff" alt="" id="BLOGGER_PHOTO_ID_5607493361727408626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Given this photo, I'd say that "small pharmaceutical company" must be one of those medical marijuana boutiques in California.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-5956866577602280949?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/5956866577602280949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=5956866577602280949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/5956866577602280949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/5956866577602280949'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2011/05/out-of-blue.html' title='Out of the blue'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-7dWB47BETXY/TdHRgLIfifI/AAAAAAAAAXU/jTVbucIphkg/s72-c/stoner.tiff' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-5047630938648836496</id><published>2010-06-16T20:33:00.003-07:00</published><updated>2010-06-16T20:47:23.818-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Manning'/><category scheme='http://www.blogger.com/atom/ns#' term='eBooks'/><title type='text'>Manning makes good on cancelled book</title><content type='html'>An update to &lt;a href="http://tohono.blogspot.com/2010/04/manning-going-downhill-fast.html"&gt;my previous post about Manning&lt;/a&gt;: they've now officially cancelled the &lt;span style="font-style:italic;"&gt;CouchDB in Action&lt;/span&gt; book. To their credit, they are taking good care of customers (like me) who had already ordered the MEAP edition. We have been offered the choice of (1) getting our money back or (2) a replacement book or eBook (depending on our original order) AND another eBook free. I am very happy with this arrangement and have already taken the replacement offer for other eBooks. I did, however, check the eBooks' starting and (projected) publication dates. I picked books which had at least 4 or 5 chapters already available and I made sure that the book was being actively worked upon. Manning seems to have several books that have drifted off into the figurative weeds (for example see &lt;a href="http://manning.com/ingersoll/"&gt;Taming Text&lt;/a&gt;, started in June 2008!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-5047630938648836496?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/5047630938648836496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=5047630938648836496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/5047630938648836496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/5047630938648836496'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2010/06/manning-makes-good-on-cancelled-book.html' title='Manning makes good on cancelled book'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-3066665085105595920</id><published>2010-05-22T14:29:00.005-07:00</published><updated>2010-05-22T14:34:03.054-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>Obama and the Oil Spill</title><content type='html'>Great op-ed piece in the NY Times about how Obama is blowing the opportunity to use the Gulf oil disaster to lead the country to real, long-range solutions (which would help prevent disasters like this in the future):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nytimes.com/2010/05/19/opinion/19friedman.html"&gt;Obama and the Oil Spill&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-3066665085105595920?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.nytimes.com/2010/05/19/opinion/19friedman.html' title='Obama and the Oil Spill'/><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/3066665085105595920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=3066665085105595920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/3066665085105595920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/3066665085105595920'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2010/05/obama-and-oil-spill.html' title='Obama and the Oil Spill'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-203509248048640196</id><published>2010-04-22T10:28:00.008-07:00</published><updated>2010-05-01T15:27:10.639-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Manning'/><category scheme='http://www.blogger.com/atom/ns#' term='eBooks'/><title type='text'>Manning going downhill fast</title><content type='html'>I'm becoming more and more disappointed with &lt;a href="http://www.manning.com"&gt;Manning Publications&lt;/a&gt;. They used to be a great source of eBooks on cutting edge technologies by leaders in the field. They are the publisher for some of the leading tech reference. Books such as &lt;span style="font-style:italic;"&gt;Spring In Action&lt;/span&gt;, &lt;span style="font-style:italic;"&gt;Groovy In Action&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;Ant In Action&lt;/span&gt; are tech "classics".&lt;br /&gt;&lt;br /&gt;Lately, however, I've noticed that their book times are greatly increasing, author quality is decreasing, authors are unknown in the community, books are being threatened with cancellation, there is more and more advertising of "vaporware" (books with only 1 or 2 small chapters), and eBook releases are poorly screened for even minimal formatting quality.&lt;br /&gt;&lt;br /&gt;For examples:&lt;br /&gt;&lt;br /&gt;Just days ago I received an email from Manning describing how the authors of &lt;span style="font-style: italic;"&gt;Couch DB in Action&lt;/span&gt; have fallen so far behind in their progress that the content is already out-of-date. Manning is debating whether to proceed with the existing content, entirely rewrite it or cancel it. There is no mention of what happens to customers who purchased the early access (MEAP) version (as I did) if the book is cancelled.&lt;br /&gt;&lt;br /&gt;Then this morning, I received an update to &lt;span style="font-style: italic;"&gt;Spring Integration in Action&lt;/span&gt;, usually a good and welcome thing. Unfortunately, the formatting of this version has some serious problems that were not present in the previous version. The text size varies wildly from chapter to chapter and, in those chapters were it is greatly increased, many of the figures are obscuring adjacent text and several of the figures are just not visible at all.&lt;br /&gt;&lt;br /&gt;Now, of course, it must be acknowledged that this is an Early Access version of the eBook and various formatting, font, and figure problems must be expected for these drafts. However, to be useful at all, there must be some minimal standard of readability; which there was in the first MEAP version of the eBook that I received. The loss of this basic readability in the update gives the impression that no one is even reviewing the product before releasing it.&lt;br /&gt;&lt;br /&gt;And, finally, to add insult to injury, Manning sent me a link to an online survey asking frequent customers for feedback. I patiently and completely filled out the form but when I tried to submit it, it claimed that I had not answered a couple of questions and refused to take my submission. Rechecking the form showed that all questions had been completely answered! Manning remains completely oblivious to my disappointments with them.&lt;br /&gt;&lt;br /&gt;Manning used to be great but, in my opinion, they are going downhill fast!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-203509248048640196?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/203509248048640196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=203509248048640196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/203509248048640196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/203509248048640196'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2010/04/manning-going-downhill-fast.html' title='Manning going downhill fast'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-2798224818000821076</id><published>2010-02-07T22:25:00.005-07:00</published><updated>2010-02-07T22:55:41.668-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Clojure'/><title type='text'>99 Problems In Clojure - part 1: problems 1-17+</title><content type='html'>Recently, I ran across &lt;a href="http://m.3wa.com/"&gt;an interesting blog&lt;/a&gt; by someone with the username 'wmacgyver' (real name Mac Liaw?) who was translating and adapting a set of &lt;a href="https://prof.ti.bfh.ch/hew1/informatik3/prolog/p-99/"&gt;99 Prolog exercises&lt;/a&gt; into Clojure.&lt;br /&gt;&lt;br /&gt;Like wmacgyver, I played with the first 17 (or so) exercises and have posted &lt;a href="http://gist.github.com/297912"&gt;a gist of my answers here&lt;/a&gt;. I intend (hope) to continue working on the rest whenever I can get some time.&lt;br /&gt;&lt;br /&gt;wmacgyer's blog with the exercise post can be found &lt;a href="http://m.3wa.com/?p=426"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-2798224818000821076?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://gist.github.com/297912' title='99 Problems In Clojure - part 1: problems 1-17+'/><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/2798224818000821076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=2798224818000821076' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/2798224818000821076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/2798224818000821076'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2010/02/99-problems-in-clojure-part-1-problems.html' title='99 Problems In Clojure - part 1: problems 1-17+'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-7941227241724209974</id><published>2010-01-24T12:40:00.003-07:00</published><updated>2010-02-07T22:55:41.669-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Clojure'/><title type='text'>Recent Clojure talk at the Tucson JUG</title><content type='html'>A couple weeks ago I gave the monthly presentation at the Tucson JUG on the programming language &lt;a href="http://clojure.org"&gt;Clojure&lt;/a&gt;. Only six JUG members showed up but they were very interested in the language and kept me talking for over an hour beyond my initially allotted hour.&lt;br /&gt;&lt;br /&gt;There are many reasons why Clojure has really caught on in the last year or so. For me, it's a well-designed and pragmatic amalgam of Lisp, concurrent techniques, and functional programming built on the JVM. It also helps that there's a great book, a friendly and helpful community, and dozens of enthusiastic side projects.&lt;br /&gt;&lt;br /&gt;My &lt;a href="http://tinyurl.com/yjrnh55"&gt;slides (as a PDF file)&lt;/a&gt; are available in the Tucson JUG's Google group area:&lt;br /&gt;&lt;b&gt;http://tinyurl.com/yjrnh55&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Note that my presentation relied on material from the Clojure community, including the website, forums, and the terrific book &lt;a href="http://pragprog.com/titles/shcloj/programming-clojure"&gt;"Programming Clojure" by Stuart Halloway&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-7941227241724209974?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/7941227241724209974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=7941227241724209974' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/7941227241724209974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/7941227241724209974'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2010/01/recent-clojure-talk-at-tucson-jug.html' title='Recent Clojure talk at the Tucson JUG'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-2908873188259180043</id><published>2008-12-31T16:26:00.003-07:00</published><updated>2008-12-31T17:09:50.677-07:00</updated><title type='text'>Matte Matters: I couldn't have said it better.</title><content type='html'>A recent MacWorld editorial by Rob Griffiths on Apple's glassy displays captures my feelings on this giant step backwards in display technology:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.macworld.com/article/136061/2008/10/matte_laptops.html"&gt;Matte Matters&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just look around you when you're at your office, favorite coffee shop, in an airplane seat, a classroom, or even a library. There are almost always glaring light sources above and behind you. What were Apple's designers thinking? Don't they use their own products?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-2908873188259180043?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/2908873188259180043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=2908873188259180043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/2908873188259180043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/2908873188259180043'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2008/12/matte-matters-i-couldnt-have-said-it.html' title='Matte Matters: I couldn&apos;t have said it better.'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-5538625010521638303</id><published>2008-10-20T13:17:00.003-07:00</published><updated>2010-02-07T22:57:50.842-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ROC'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='TSS'/><title type='text'>Final article in series finally published</title><content type='html'>I forgot to mention that the final article in the 4-part series written by Randy Kahle and me was published a few weeks ago on TheServerSide.com:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.theserverside.com/tt/articles/article.tss?l=ARESTfulCorePart4"&gt;A RESTful Core for Web-like Application Flexibility - Part 4&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The final article contains links back to the previous articles in the series. Just scroll down the the References section at the very bottom of the article.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-5538625010521638303?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.theserverside.com/tt/articles/article.tss?l=ARESTfulCorePart4' title='Final article in series finally published'/><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/5538625010521638303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=5538625010521638303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/5538625010521638303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/5538625010521638303'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2008/10/final-article-in-series-finally.html' title='Final article in series finally published'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-4383459040966823277</id><published>2008-10-20T12:45:00.003-07:00</published><updated>2008-10-20T13:07:39.097-07:00</updated><title type='text'>Abbreviations and Code Readability</title><content type='html'>James Leigh, in a recent &lt;a href="http://jamesrdf.blogspot.com/2008/10/easy-to-read-code.html"&gt;blog post&lt;/a&gt;, makes a couple of good comments on the importance of code readability and the presence of redundancy.&lt;br /&gt;&lt;br /&gt;The accompanying poll question, however, (which asks if easily readable code is important) begs the deeper question...of course easily readable code is extremely important but the real question is how to achieve it.&lt;br /&gt;&lt;br /&gt;For example, using abbreviations in identifier names is a poor way to make the names shorter and more concise.&lt;br /&gt;&lt;br /&gt;Abbreviated names suffer several problems including:&lt;br /&gt;&lt;br /&gt;1) ambiguity: is 'getReq' short for  getRequest, getRequirement, or getRequisition?&lt;br /&gt;&lt;br /&gt;2) cognitive burden: abbreviations requires much more mental effort to remember which fragment of a word is being employed. This "ideolexical" design makes the API seem much more complex and daunting than it should.&lt;br /&gt;&lt;br /&gt;As an example, is the abbreviation for 'declareDescription' going to be:&lt;br /&gt;&lt;br /&gt;declareDescript,&lt;br /&gt;declareDescrip,&lt;br /&gt;declareDescr,&lt;br /&gt;declareDesc,&lt;br /&gt;declDescrip,&lt;br /&gt;declDescr,&lt;br /&gt;OR&lt;br /&gt;declDesc?&lt;br /&gt;&lt;br /&gt;3) lack of consistency: even with only one programmer creating the abbreviated identifier names, it seems highly probably that inconsistencies will creep into the naming scheme, making it harder to use.&lt;br /&gt;&lt;br /&gt;4) loss of readability and documentation: longer names are often clearer and document the code better than abbreviations (or shorter names).&lt;br /&gt;&lt;br /&gt;In these days of IDEs there is little reason not to use longer, clearer, self-documenting names: it is trivial to start a name and then hit the appropriate completion key. Even if you program in a non-IDE (as I do....I use Emacs a lot of the time) the importance of good names as documentation cannot be over-emphasized and is well worth a tiny bit of extra typing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-4383459040966823277?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/4383459040966823277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=4383459040966823277' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/4383459040966823277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/4383459040966823277'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2008/10/abbreviations-and-code-readability.html' title='Abbreviations and Code Readability'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-6049770706695353893</id><published>2008-10-09T19:11:00.002-07:00</published><updated>2008-10-09T19:16:08.342-07:00</updated><title type='text'>Lisp turns 50 this month</title><content type='html'>"In October 1958, John McCarthy published one in a series of reports about his then ongoing effort for designing a new programming language that would be especially suited for achieving artificial intelligence. That report was the first one to use the name LISP for this new programming language. 50 years later, Lisp is still in use. This year we are celebrating Lisp's 50th birthday."&lt;br /&gt;&lt;center&gt;-from the Lisp50@OOPSLA web page&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-6049770706695353893?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.lisp50.org' title='Lisp turns 50 this month'/><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/6049770706695353893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=6049770706695353893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/6049770706695353893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/6049770706695353893'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2008/10/lisp-turns-50-this-month.html' title='Lisp turns 50 this month'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-6170769750090785687</id><published>2008-09-11T10:36:00.002-07:00</published><updated>2008-09-11T10:41:08.330-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='9/11'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>How the Terrorists Won on 9/11 and Since Then</title><content type='html'>On this 7th anniversary of 9/11 it is time to finally admit&lt;br /&gt;what most Americans already know in their hearts: that the&lt;br /&gt;terrorists fully achieved their objectives, even beyond&lt;br /&gt;their own wildest dreams. And, since then, unscrupulous men,&lt;br /&gt;corporations, and our own government have helped the&lt;br /&gt;terrorists to continue their success.&lt;br /&gt;&lt;br /&gt;Seven years after 9/11, our country has turned against its&lt;br /&gt;own ideals and principles in the name of security, while&lt;br /&gt;ironically justifying its actions as preserving "freedom".&lt;br /&gt;&lt;br /&gt;Seven years after 9/11, We are saddled with a costly and&lt;br /&gt;pointless war against a country which had nothing to do with&lt;br /&gt;the attacks. We have a massive new homeland security&lt;br /&gt;bureaucracy which is hard at work trying to impose a&lt;br /&gt;mandatory national ID system. The privacy of millions of&lt;br /&gt;American phone conversations and emails have been secretly&lt;br /&gt;and illegally violated by the government and submissive&lt;br /&gt;corporations. Citizens of other countries have been&lt;br /&gt;arbitrarily labeled as terrorists and jailed for years&lt;br /&gt;without formal charges or a trial. Freedom of travel has&lt;br /&gt;been restricted by secret and erroneous government "watch&lt;br /&gt;lists", to which there is no judicial appeal. And through it&lt;br /&gt;all, government agencies, such as the INS and DHS, have&lt;br /&gt;simply declared themselves to have sweeping new powers.&lt;br /&gt;&lt;br /&gt;Joseph Stalin is reputed to have said "When we hang the&lt;br /&gt;capitalists they will sell us the rope" but the terrorists&lt;br /&gt;of 9/11 have turned us against ourselves in a much more&lt;br /&gt;insidious manner; they played upon our fear of death. And&lt;br /&gt;the possibility of death by terrorism is being exaggerated&lt;br /&gt;by those within our country who seek to maintain or expand&lt;br /&gt;their power. The truth is that you are thousands of times&lt;br /&gt;more likely to be killed by a traffic accident than by a&lt;br /&gt;swarthy foreigner with a bomb. Over a quarter of a million&lt;br /&gt;people have died in traffic accidents in the U.S. since 9/11&lt;br /&gt;and yet there is no massive new Department of Automotive&lt;br /&gt;Security.&lt;br /&gt;&lt;br /&gt;The terrorists of 9/11 won by instilling fear in the&lt;br /&gt;populace, causing us to give up some of our fundamental&lt;br /&gt;freedoms and rights. It is time to awake from our long&lt;br /&gt;national nightmare and to put our fears into perspective.&lt;br /&gt;It is time to stop being overly afraid and to reject the&lt;br /&gt;erosion of our hard-won liberties. It is time to stop&lt;br /&gt;letting the terrorists win.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-6170769750090785687?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/6170769750090785687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=6170769750090785687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/6170769750090785687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/6170769750090785687'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2008/09/how-terrorists-won-on-911-and-since.html' title='How the Terrorists Won on 9/11 and Since Then'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-7341078697600038364</id><published>2008-08-16T09:49:00.012-07:00</published><updated>2008-08-17T14:56:55.513-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Schematron'/><category scheme='http://www.blogger.com/atom/ns#' term='duck typing'/><title type='text'>Data Duck Typing</title><content type='html'>Some friends of mine at &lt;a href="http://www.1060research.com/"&gt;1060 Research&lt;/a&gt; recently sent me a new version of some software they are working on. After reading one of the XML configuration files, I asked if they had an XML Schema for it (which would define the grammar for legal configurations). The answer was that they did not, as they were moving away from formal grammars and more towards a rule-based approach like &lt;a href="http://en.wikipedia.org/wiki/Schematron"&gt;Schematron&lt;/a&gt;: which uses a set of pattern assertions (rules) for XML validation.&lt;br /&gt;&lt;br /&gt;When I thought about this approach, I realized that it is &lt;a href="http://en.wikipedia.org/wiki/Duck_typing"&gt;duck typing&lt;/a&gt; for data. In object-oriented programming, the use of duck typing means that an object's behavior, rather than its class or inheritance structure, determines its interpretation and usage. The application of rule-based systems to categorize a data file or message is a data-oriented form of duck typing. Using "data duck typing", data is categorized (in this case validated) by having the right elements in the right locations.&lt;br /&gt;&lt;br /&gt;Data duck typing means that a data file does not have to fully conform to a specific, rigid grammar as long as some of its parts meet the requirements of the particular rule set used for categorization. Thus, data messages for an application can come in all shapes and sizes as long as they contain the essential required elements with the right structural relationships. Applications which use this approach embody the design principle which says "be lenient in the messages that you accept" and will be much more flexible than applications based on rigid adherence to formal grammars.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-7341078697600038364?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/7341078697600038364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=7341078697600038364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/7341078697600038364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/7341078697600038364'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2008/08/data-duck-typing.html' title='Data Duck Typing'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-683007721337714215</id><published>2008-08-16T09:39:00.004-07:00</published><updated>2008-08-16T09:48:25.551-07:00</updated><title type='text'>crosslink: 5 reasons you don’t really want a jack-of-all-trades developer</title><content type='html'>Rebecca Murphey has posted an excellent blog entry in which she looks critically at the current employer trend of "asking for the moon":&lt;br /&gt;&lt;br /&gt;"&lt;a href="http://blog.rebeccamurphey.com/2008/08/02/web-developer-hiring-tips/"&gt;5 reasons you don’t really want a jack-of-all-trades developer&lt;/a&gt;".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-683007721337714215?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blog.rebeccamurphey.com/2008/08/02/web-developer-hiring-tips/' title='crosslink: 5 reasons you don’t really want a jack-of-all-trades developer'/><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/683007721337714215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=683007721337714215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/683007721337714215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/683007721337714215'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2008/08/crosslink-5-reasons-you-dont-really.html' title='crosslink: 5 reasons you don’t really want a jack-of-all-trades developer'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-7118795447459445433</id><published>2008-07-26T13:59:00.008-07:00</published><updated>2008-08-16T11:40:39.022-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ROC'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='TSS'/><title type='text'>First article in a series posted at TheServerSide.com</title><content type='html'>Randy Kahle and I are writing a series of articles on Resource Oriented Computing (ROC), which you can think of as REST principles applied to application software development. The first article of the series posted a couple of days ago on TheServerSide.com under the title&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.theserverside.com/tt/articles/article.tss?l=ARESTfulCorePart1"&gt;"A RESTful Core for Web-like Application Flexibility - Part 1"&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Perhaps this title was somehow misleading since the article immediately engendered a passionate (and not always civil nor complementary) debate on various aspects of REST. Most of these were off-topic from the article. As a long time reader of TSS, I expected that something like this could happen. My attitude toward this is to encourage rational discussion, clarify misunderstood points, and ignore misbehavior. This is, BTW, an approach used successfully to deal with patients at mental hospitals.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-7118795447459445433?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.theserverside.com/tt/articles/article.tss?l=ARESTfulCorePart1' title='First article in a series posted at TheServerSide.com'/><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/7118795447459445433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=7118795447459445433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/7118795447459445433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/7118795447459445433'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2008/07/first-article-in-series-posted-at.html' title='First article in a series posted at TheServerSide.com'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2497792762863705826.post-4097840491388392357</id><published>2008-07-18T15:55:00.013-07:00</published><updated>2008-07-21T20:46:27.988-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><title type='text'>Google's Protocol Buffers announcement</title><content type='html'>Nick L., at Google, recently sent the Tucson JUG a link to a blog posting about Google's newly open-sourced Protocol Buffers:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://google-opensource.blogspot.com/2008/07/protocol-buffers-googles-data.html"&gt;http://google-opensource.blogspot.com/2008/07/protocol-buffers-googles-data.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"Interesting", I thought, "but why didn't you guys just use CORBA and get it over with?"&lt;br /&gt;&lt;br /&gt;A snippet in the blog post seems to have anticipated that question:&lt;br /&gt;&lt;blockquote&gt;"OK, I know what you're thinking: "Yet another IDL?" Yes, you could call it that. But, IDLs in general have earned a reputation for being hopelessly complicated."&lt;/blockquote&gt;Complexity sounds like a strawman here.....the major problem with IDLs is that they are built upon a shared definition, which requires all parties to update and recompile when the definition changes. And once you recompile, you've lost the ability of the system to handle the old message format (so versioning is a serious problem unless you plan for it from the beginning).&lt;br /&gt;&lt;br /&gt;Of course, these problems are ameliorated when:&lt;br /&gt;1) the IDL is for internal use only and,&lt;br /&gt;2) you control both ends of the conversation,&lt;br /&gt;as Google does...er...did up until now.&lt;br /&gt;&lt;br /&gt;I also wonder why Google didn't just use an existing protocol like Hessian:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://caucho.com/products/hessian.xtp"&gt;http://caucho.com/products/hessian.xtp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Perhaps a case of NIH syndrome? (&lt;a href="http://en.wikipedia.org/wiki/NIH_syndrome"&gt;http://en.wikipedia.org/wiki/NIH_syndrome&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:130%;" &gt;Update - 7/20/2008: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nick responded with these comments:&lt;br /&gt;&lt;blockquote&gt;Google does tend to favor technology we invent ourselves ...[snip]... OTOH, some of the systems we've built ourselves have been blockbuster hits that enable much of what you know as "Google" today.&lt;br /&gt;&lt;br /&gt;In response to your comment about backward compatibility, Protocol Buffers are actually explicitly designed so that you can add fields and whatnot and still be able to read in records stored in the old format.&lt;/blockquote&gt;&lt;br /&gt;I have to admit, the "WOW" factor on some of Google's software has inspired competition and innovation. So, the next time I'm looking for a binary wire protocol, I'll take a harder look at Protocol Buffers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2497792762863705826-4097840491388392357?l=tohono.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tohono.blogspot.com/feeds/4097840491388392357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2497792762863705826&amp;postID=4097840491388392357' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/4097840491388392357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2497792762863705826/posts/default/4097840491388392357'/><link rel='alternate' type='text/html' href='http://tohono.blogspot.com/2008/07/googles-protocol-buffers-announcement.html' title='Google&apos;s Protocol Buffers announcement'/><author><name>Tom Hicks</name><uri>http://www.blogger.com/profile/15248245864656702354</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://bp3.blogger.com/_s4UJmGqsCyc/R4fHFOSimMI/AAAAAAAAAGM/-LE2TWlV0sQ/S220/sandEater.jpg'/></author><thr:total>0</thr:total></entry></feed>
