<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>lzcd</title><description>Cheaper than kittens</description><link>http://lzcd.spaces.live.com/</link><language>en-US</language><pubDate>Fri, 03 Oct 2008 21:03:51 GMT</pubDate><lastBuildDate>Fri, 03 Oct 2008 21:03:51 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><live:identity><live:id>-5473458774348741396</live:id><live:alias>lzcd</live:alias></live:identity><image><title>lzcd</title><url>http://blufiles.storage.live.com/y1pkxBLGVsHKUuBcOWsh6T6apBcZiu1zmV8p7w_udzFaAj3tL8QiwLOjdmTHwl7-flB</url><link>http://lzcd.spaces.live.com/</link></image><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Lzcd" type="application/rss+xml" /><item><title>I hear those people like that sort of thing</title><link>http://feeds.feedburner.com/~r/Lzcd/~3/337916749/cns!B40A5E3E8E32C4EC!147.entry</link><description> The issue of censorship has reared its head a few times in the
Australian media recently and it got me thinking about where I stand on
a whole range of related issues.&lt;br&gt;&lt;br&gt;&lt;div&gt;Rather
than attempt to force my particular random set of views on you, I
thought I'd give you some (hopefully) thought provoking material and
encourage you to explore a little more deeply about you, your views and how it relates to those around you.&lt;br&gt;&lt;br&gt;Which (if any) of the following people would you arrest:&lt;br&gt;&lt;ul&gt;&lt;li&gt;An adult who daydreams about a superhero punching a villain&lt;br&gt;&lt;li&gt;An adult who discusses the day dream with a friend&lt;li&gt;An adult who doodles the dream onto a piece of paper whilst bored one day&lt;br&gt;&lt;li&gt;A writer who writes a story about the dream&lt;br&gt;&lt;li&gt;An artist who illustrates a comic book based on the story&lt;br&gt;&lt;li&gt;A newsagent that sells the comic to a child&lt;br&gt;&lt;li&gt;The parent of the child&lt;br&gt;&lt;li&gt;A child as they play in the backyard with their friends pretending to be the characters portrayed in the comic book&lt;br&gt;&lt;li&gt;A television producer who turned the comic book into an animated feature&lt;li&gt;A child who watched the feature&lt;li&gt;The parent of the child&lt;br&gt;&lt;li&gt;An adult who watched the film&lt;br&gt;&lt;li&gt;A film producer who turned it into a big budget action film&lt;li&gt;A child who watched the film&lt;li&gt;The parent of the child&lt;br&gt;&lt;li&gt;An adult who watched the film&lt;br&gt;&lt;li&gt;A developer who produces a game based off the film&lt;li&gt;A child who plays the game&lt;li&gt;The parent of the child&lt;br&gt;&lt;li&gt;An adult who plays the game&lt;li&gt;A person who dresses up as a super hero or villain&lt;li&gt;A newspaper reporter who writes about super heroes, villains and the people who enjoy stories about them&lt;br&gt;&lt;li&gt;A person who openly condemns people who punch others&lt;li&gt;A person whose faith includes stories of heroes punching villains&lt;/ul&gt;&lt;br&gt;What about if instead of a super hero punching a villain, the questions above were about a professional boxer?&lt;br&gt;What about if it was about treating people different based on gender?&lt;br&gt;What about if it was concerning the treatment of people based on skin colour?&lt;br&gt;What about it was about treating people differently based on sexual orientation?&lt;br&gt;Do your answers change if they were about a real life violent bank robbery?&lt;br&gt;And what about a rape?&lt;br&gt;What about the sexual abuse of a child?&lt;br&gt;A child who poses for a picture in a clothing catalogue for a fashion label or supermarket?&lt;br&gt;The eating of a salad?&lt;br&gt;The consumption of an live oyster?&lt;br&gt;A meal of steak and vegetables?&lt;br&gt;Eating a family pet?&lt;br&gt;The killing one soldier by another?&lt;br&gt;&lt;br&gt;Did you give the same answer for all of the scenarios list above?&lt;br&gt;Do you feel you were consistent across all your answers?&lt;br&gt;Can you easily explain a set of rules that back up all of your answers?&lt;br&gt;Do you think any of your family members would give exactly the same answers as you did?&lt;br&gt;How about your friends?&lt;br&gt;Your workmates?&lt;br&gt;The neighbours?&lt;br&gt;Your local politician?&lt;br&gt;Someone 10 years younger than you?&lt;br&gt;Someone 20 years older than you?&lt;br&gt;Do you would have answered differently 10 years ago?&lt;br&gt;Do you suspect you'll answer differently in 20 years?&lt;br&gt;Do you think you could write a set of laws that would reflect all of the answers you've given thus far?&lt;br&gt;Do you think anyone could enforce them?&lt;br&gt;Would the punishment for breaking all the laws be the same, consistent or different?&lt;br&gt;&lt;br&gt;Thank you for your time.&lt;br&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-5473458774348741396&amp;page=RSS%3a+I+hear+those+people+like+that+sort+of+thing&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=lzcd.spaces.live.com&amp;amp;GT1=lzcd"&gt;</description><category>News and politics</category><comments>http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!147.entry#comment</comments><guid isPermaLink="false">http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!147.entry</guid><pubDate>Thu, 17 Jul 2008 09:52:46 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://lzcd.spaces.live.com/blog/cns!B40A5E3E8E32C4EC!147/comments/feed.rss</wfw:commentRss><wfw:comment>http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!147.entry#comment</wfw:comment><dcterms:modified>2008-07-17T09:52:46Z</dcterms:modified><feedburner:origLink>http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!147.entry</feedburner:origLink></item><item><title>Sordid documentation revealed</title><link>http://feeds.feedburner.com/~r/Lzcd/~3/245777424/cns!B40A5E3E8E32C4EC!143.entry</link><description>&lt;p&gt;We open this little story with David and Ducas having an IM conversation over Ducas' choice of &amp;quot;why is documentation so boring?&amp;quot; as an IM tag line: &lt;blockquote&gt; &lt;p&gt;David Burela said: &lt;em&gt;you just need to punch it up a little&lt;/em&gt; &lt;p&gt;David Burela said: &lt;em&gt;add a little drama&lt;/em&gt; &lt;p&gt;Ducas said: &lt;em&gt;so, explain a crud wcf service with drama...?&lt;/em&gt; &lt;p&gt;David Burela said: &lt;p&gt;&lt;em&gt;&amp;quot;They had a contract which destined them to meet. Although they met and shared something important, the encounter was only a temporary connection. Although they are now disconnected from each other, the memory shall persist on&amp;quot;&lt;/em&gt;&lt;/blockquote&gt; &lt;p&gt;Which tickled the fancy of David and prompted him to pose the question to the internal Readify Tech list: &lt;blockquote&gt; &lt;p&gt;Anyone else got some good soap drama between components?&lt;br&gt;A Romeo and Juliet story between C# &amp;amp; VB?&lt;/blockquote&gt; &lt;p&gt;To which I initially replied: &lt;blockquote&gt; &lt;p&gt;C# eloping into the night with VB.Net? &lt;p&gt;I'm having trouble picturing that... although I must admit to finding the thought of a known fan of C# such as... say... &lt;a href="http://notgartner.wordpress.com/" target="_blank"&gt;Mitch&lt;/a&gt;... reciting the something like the following brings a small smile to my face: &lt;p&gt;&lt;em&gt;But, soft! what light through yonder window breaks?&lt;br&gt;It is the east, and VB is the sun.&lt;br&gt;Arise, fair sun, and kill the envious C#,&lt;br&gt;Who is already sick and pale with case sensitivity,&lt;br&gt;That thou her maid art far more productive than she:&lt;br&gt;Be not her maid, since she is envious;&lt;br&gt;Her rampant punctuation is but sick and green&lt;br&gt;And none but fools do wear it; cast it off.&lt;br&gt;It is my lady, O, it is my love!&lt;/em&gt; &lt;p&gt;Me, being the big meanie that I am, couldn't go past the opportunity to have some gentle jest with the words of one of my favourite authors mixed with a product that has consistently broken my geeky heart: &lt;p&gt;&lt;em&gt;It is important to note that suddenly, and against all probability, a SmartPhone had been called into existence, several miles above the surface of an alien planet. But since this is not a naturally tenable position for a SmartPhone, this innocent creature had very little time to come to terms with its identity.&lt;/em&gt; &lt;p&gt;&lt;em&gt;This is what it thought as it fell: &lt;/em&gt; &lt;p&gt;&lt;em&gt;'Ahhh! Whoa! What's happening? Who am I? Why am I here? What's my purpose in life? What do I mean by 'who am I'? Okay, okay, calm down, calm down, get a grip now. Ooh, this is an interesting sensation. What is it? It's a sort of a tingling in my... well, I suppose I better start finding names for things. Let's call it a... pen! Yeah! Pen! And hey, what's this roaring sound, whooshing past what I'm suddenly gonna call my screen? Wind! Is that a good name? It'll do. Yeah, this is really exciting! I'm dizzy with anticipation! Or is it the wind? There's an awful lot of that now, isn't it? And what's this thing coming toward me very fast? So big and flat and round, it needs a big wide sounding name like 'Ow', 'Ownge', 'Round', 'Ground'! That's it! Ground! Ha! I wonder if it'll be friends with me? Hello Ground!'&lt;/em&gt;&lt;/blockquote&gt; &lt;p&gt;But after thinking about for a while over lunch, I came up with following, slightly more serious, response: &lt;p&gt;&lt;strong&gt;Documentation for fun and profit&lt;/strong&gt; &lt;p&gt;I'm a huge fan of making documentation interesting (and hopefully fun) and have no idea what the point of producing dull documentation is. &lt;p&gt;If the point of documentation is to communicate an idea then seems to make very little sense to sabotage that concept with a delivery mechanism that is actively discouraging that very act. &lt;p&gt;Imagine your intended audience. If they're going to be struggling to stay awake during the discourse of your little phonebook style tome and resentful afterwards for having to loose a portion of their lives wading through it, what do you think the chances them actually retaining any of the supposedly important information is? &lt;p&gt;There are two objections to producing &amp;quot;interesting&amp;quot; documentation that regularly get put forward and I'm yet to be convinced by either one of the them: &lt;p&gt;&lt;strong&gt;The Corporate Image&lt;/strong&gt; &lt;p&gt;The classic 1950's &amp;quot;You're here to work, not have fun! Pull your socks up! Straighten your tie!&amp;quot; attitude continues to haunt a lot of us to this day. We feel guilty about anything that drifts away from the stern approval of the stereotypical &amp;quot;bank manager&amp;quot; type from our (grand) parents day. If it's fun it mustn't be work related. &lt;p&gt;To that I say &amp;quot;Pfft!&amp;quot;. &lt;p&gt;Documentation is just like anything else your company produces. It has the chance to entice, enrapture and engage your customers and staff... or it can put them to sleep. &lt;p&gt;It's the 21st century and guess what? Nobody is interested in being bored to death by reams of tedium. &lt;p&gt;You wouldn't dream of spending hundreds of man-hours and squillions of dollars each year producing bad advertising and marketing would you? Well that's what a lot people do with documentation. &lt;p&gt;They spend who knows how many hours and dollars describing their wonderful new creations... in a format that so tedious and boring they may as well have just locked the product and the documentation in the basement for all the good it's going to do. &lt;p&gt;&lt;strong&gt;Bob from Accounting&lt;/strong&gt; &lt;p&gt;(Apologies for falling back on yet another bad stereotype here but I get the feeling that using geeks as a negative example would be detrimental to my cause :)  ) &lt;p&gt;The second objection to producing interesting documentation is that not everyone can do it. Whether it's a beautiful menagerie of Visio diagrams or a 'page turner' of a description, not everyone has it in them to produce interesting material. &lt;p&gt;My argument to this is: don't make them. &lt;p&gt;Just like you wouldn't attempt to force a dentist to fix a jet airliner engine, don't force people who can't write to write. &lt;p&gt;There's little point. &lt;p&gt;At best, you and your customers survive the trip. At worst, its a grizzly mess of morale nose dived into the ground and a whirlwind of large paper doorstops scattering across the neighbourhood. &lt;p&gt;If you don't have someone in your organisation who relishes the chance to produce exciting printed material then hire someone who does. Just like those weird brightly coloured personalities that you hired to market your wares, good technical writers are a very good way to ensure your message actually gets through to your intended audience. &lt;p&gt;&lt;strong&gt;So....&lt;/strong&gt; &lt;p&gt;What are you waiting for? &lt;p&gt;Go forth and write that epic take of love, loss and the inner working of the JRX-382! &lt;p&gt;You've got nothing to lose and everything to gain. :) &lt;p&gt;PS: Yes, I too recognise the irony of someone who struggles with the whole communication thing, attempting to tell others how to communicate. Don't blame me. Blame people like Infocom who had the temerity to demonstrate how to get away with such wild and whacky behaviour back in 1989: &lt;a href="http://www.mv.com/ipusers/xlisper/zil.pdf"&gt;http://www.mv.com/ipusers/xlisper/zil.pdf&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-5473458774348741396&amp;page=RSS%3a+Sordid+documentation+revealed&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=lzcd.spaces.live.com&amp;amp;GT1=lzcd"&gt;</description><category>Software Development</category><comments>http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!143.entry#comment</comments><guid isPermaLink="false">http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!143.entry</guid><pubDate>Tue, 04 Mar 2008 22:48:35 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://lzcd.spaces.live.com/blog/cns!B40A5E3E8E32C4EC!143/comments/feed.rss</wfw:commentRss><wfw:comment>http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!143.entry#comment</wfw:comment><dcterms:modified>2008-03-04T22:51:20Z</dcterms:modified><feedburner:origLink>http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!143.entry</feedburner:origLink></item><item><title>A well versed reptile</title><link>http://feeds.feedburner.com/~r/Lzcd/~3/243800941/cns!B40A5E3E8E32C4EC!142.entry</link><description>&lt;p&gt;One of the recent internal discussions kicked off by Russ Blake at Readify has been on what part to play IronPython should have in commercial software development. 
&lt;p&gt;Is it ready for the cubicle dwelling masses? 
&lt;p&gt;Here's my take on it: 
&lt;p&gt;&lt;b&gt;Python (Iron or otherwise):&lt;/b&gt; 
&lt;p&gt;&lt;b&gt;&lt;/b&gt;
&lt;p&gt;I think the advantages of Python verses any other language is more a question of commercial environment and fashion than anything else. This isn’t good or bad. It just lumps it in with every other Turing complete language. 
&lt;p&gt;Personally I find Python an acceptable language as: 
&lt;p&gt;- It’s a good successor to Perl in terms of being a pragmatic scripting “glue” to bind other bits together. 
&lt;p&gt;- The syntax, while having slightly different coloured goo than its more “commercial” peers, is readable. 
&lt;p&gt;- It scales better than Perl in terms of being to construct medium to large sized applications. 
&lt;p&gt;- It also has the advantage of being one of the current “cool kids” of application development (as the attendance of a recent programming comp clearly demonstrated. The only thing sexier than Google in young developers eyes at the moment seems to be Python.) 
&lt;p&gt;My only small grumble with it, due to its Perl’esque pragmatic approach to being able to glue bits together, is that it very quickly exposes it ugly underscore ridden underbelly of working gears and levers in the pursuit of decent sized application development. 
&lt;p&gt;So my overall response to Python in general is: &lt;strong&gt;Meh&lt;/strong&gt;. 
&lt;p&gt;&lt;b&gt;Looking down from a greater altitude:&lt;/b&gt; 
&lt;p&gt;&lt;b&gt;&lt;/b&gt;
&lt;p&gt;What I find more interesting is that Python tends to get used quite a lot as a hosted scripting language in other applications. 
&lt;p&gt;Everything from games to GIMP to Chumbies seem to be ticking along with Python, LUA or some other scripting language lodged near their heart. 
&lt;p&gt;And, hopefully without sounding too much like the crazy guy talking about how poultry controls the CIA, I think scripting languages are where is it’s at. 
&lt;p&gt;&lt;b&gt;Crazy Talk:&lt;/b&gt; 
&lt;p&gt;&lt;b&gt;&lt;/b&gt;
&lt;p&gt;My dream business application, as I’ve bored many with on previous occasions, is one built in much the fashion as a modern game. 
&lt;p&gt;Content designers (aka Business Analysts and Devs) world in their own little self contained bubble world of scripted language goodness. 
&lt;p&gt;Framework  developers work around this bubble, wiring up the ‘content’ to the graphics, storage and network bits. 
&lt;p&gt;Content designers never attempt to write the binding code for an Infragristics grid and Framework developers never try and write the formula for calculating the rounding on the GST of a baked bread item purchased with a gift voucher. 
&lt;p&gt;Now you there’s nothing stopping this from happening purely in the familiar world of C# or VB.NET but it presents a few issues. 
&lt;p&gt;&lt;b&gt;CLR without DLR is no fun:&lt;/b&gt; 
&lt;p&gt;&lt;b&gt;&lt;/b&gt;
&lt;p&gt;The first is the nitty gritty technical pain of dealing with the shear tedium of attempting to host non-DLR languages in .Net. 
&lt;p&gt;It’s just too much work to get a plug-in system working that doesn’t ending up stepping on the toes of memory (Yay App Domain unloading! ), exception handling (Yay App Domains!) or communication (Yay App Domains!). 
&lt;p&gt;Secondly, there’s slightly non-intuitive ‘social’ side effects of picking of the same language for both framework and content construction. 
&lt;p&gt;Content developers really need to focus on producing the content... not ‘peaking under the hood’ at what the Framework guys are doing and attempting to ‘patch’ into or around any random bits of framework that take their fancy. 
&lt;p&gt;Thirdly, making a scripting language (or DSL if need be) your language of choice for how to articulate the solution to your problem is a very powerful idea indeed. In addition to being able to craft the syntax so that more elegantly describes the problem domain, executing your content via a scripting language means you gain a whole more context and control over what’s going on. 
&lt;p&gt;Writing interfaces and APIs give you some control... but it’s practically impossible to have any sort of compile time confidence that the content developer hasn’t done something to (un)intentionally thwart the design of the underlying layers. (“So I noticed that if I used reflection and kicked off this on another thread then it all seemed to work... I hope that was okay?... Bob?... Bob?...”) 
&lt;p&gt;Expressing the solution to a problem via scripting language or DSL is a higher level of abstraction as well. 
&lt;p&gt;Want to add in a funky auto parallel’ising  multithreaded network capable piece of code everywhere the content designer has decided to add some numbers together? 
&lt;p&gt;No problems. The language host can specifically keep a look out for when such occasions occur and make a call your new code as required. Zero change the neat elegant highly readable content description of the business process and no need for the content developers to have to refactor their code with weird and wonderful attributes or other languages constructs that have nothing to do with the business problem at hand. 
&lt;p&gt;So.... 
&lt;p&gt;&lt;b&gt;Crazy half-baked conclusion:&lt;/b&gt; 
&lt;p&gt;My summation is: Hosting scripting languages / DSLs is cool. 
&lt;p&gt;Python is okay as a possible scripting language choice... but may not be my first. 
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;  
&lt;p&gt;&lt;strong&gt;Random side thought:&lt;/strong&gt; 
&lt;p&gt;I’m thinking the long forgotten hero of scripting languages is Logo. 
&lt;p&gt;· It’s relatively easy to implement 
&lt;p&gt;· It has clean simple syntax 
&lt;p&gt;· Arguments over punctuation and its placement rarely break out 
&lt;p&gt;No joke.&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-5473458774348741396&amp;page=RSS%3a+A+well+versed+reptile&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=lzcd.spaces.live.com&amp;amp;GT1=lzcd"&gt;</description><category>Software Development</category><comments>http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!142.entry#comment</comments><guid isPermaLink="false">http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!142.entry</guid><pubDate>Sat, 01 Mar 2008 09:00:32 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://lzcd.spaces.live.com/blog/cns!B40A5E3E8E32C4EC!142/comments/feed.rss</wfw:commentRss><wfw:comment>http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!142.entry#comment</wfw:comment><dcterms:modified>2008-03-04T22:52:43Z</dcterms:modified><feedburner:origLink>http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!142.entry</feedburner:origLink></item><item><title>HR Violations in the name of Stored Procedures</title><link>http://feeds.feedburner.com/~r/Lzcd/~3/242493540/cns!B40A5E3E8E32C4EC!141.entry</link><description>&lt;p&gt;Preface: As my home site of lzcd.com is going to be used for other (possibly evil) purposes, I thought I might christen my new choice of blogging locations with a random thought. Apologies in advance to any DBAs that know me... in particular those who know where I live :) &lt;p&gt;It amused me when MySQL (relatively) recently introduced stored procedures. &lt;p&gt;Being one of those poor saps that was &amp;quot;raised&amp;quot; in a commercial world of DB use, I had my expectations set at an early age and found the concept of a DB &amp;quot;surviving&amp;quot; for so long without stored procedures almost unimaginable. &lt;p&gt;One or more DBAs would patrol the entrance to the DB. Resembling some sort of wizard from the likes of Discworld or Harry Potter, they strutted around in their tattered multicoloured robes, unkempt beards and wrinkled brows. It was only the inexperienced or dim witted that risked attempting entry without the permission of such fearsome guardians.&lt;br&gt;(The only ones feared more were the network &amp;amp; sys admin ogres that nestled scarily in the shadows of the basement and whose maddened growls of &amp;quot;netstat&amp;quot; and &amp;quot;traceroute&amp;quot; could be heard echoing down the halls on dark and stormy nights) &lt;p&gt;Asking permission to see what lay behind the connection string was a double edged sword. &lt;p&gt;If the DBA sensed fear above and beyond the normal levels of terror, as you lay prone upon the ground before him, he would refuse your request with a harsh quip that, if you were lucky, would only strip your self-esteem... and any gains made through that speech therapy you endured as a kid. &lt;p&gt;&amp;quot;Be gone from my sight oh lowest of the low,&amp;quot; he would exhale dismissively &amp;quot;and I shall let you live with execute access to these fine stored procedures that I have crafted from the very elements of the universe and the stars within that mere lowly mortals such as yourself could never understand.&amp;quot; &lt;p&gt;If, on the other hand, the DBA was feeling playful and you looked like you had a little too much spirit in the light of the flickering green fluorescents, he would grant you access to selected portions of the database in much the same way killer whales taunt and tease their prey in the moments before the kill. &lt;p&gt;Yes, you had access to the database... but it was merely the setup for a cruel ruse. What you thought was a simple construction of a CRUD style stored procedure was in fact a noose of arcane syntax and perverted distortions to set theory slowly tightening around your neck. &lt;p&gt;Experienced co-workers would look upon your feverish gaze of SQL coding in a worried pitying stare for it was only after you had constructed what you perceived as a minor miracle of well indexed Cartesian beauty (whose elegance was surely going to elicit religious ceremony from those who observed it) that the DBA would tear it all away from you in one brisk belittling put down. &lt;p&gt;The exact words are lost on you almost immediately as the DBA proceeds to enumerate the many faults that infest your creation to its core. Your entire body goes numb. Your brain, unable to focus on the immediate loss, reminisces in a emotional stupor that tattered remains of the life that you used to know. &lt;p&gt;The respect that other devs had given you. The small smirk of playful possibility the attractive guy / girl in marketing gave you a few hours before. The honest belief that your could in some small way live up to your parents expectations of being a respected professional. &lt;p&gt;All gone. Lost forever. &lt;p&gt;This was not a world of peers and mutual respect. This was a world of restricted privilege and inherited birth rights. &lt;p&gt;Table schemas were never touched directly and rarely seen in person. &lt;p&gt;Indexes were akin to magic incantations that only passed the lips of people whose grizzled collection of scars and matted hair could withstand the consequences. &lt;p&gt;The hallowed gateway to all of this was enshrined in the sharp metallic structure of stored procedures. &lt;p&gt;They dictated performance. They dictated protocol. They dictated the exact manner in which all applications would need to bow towards the all seeing and all knowing gods of data: The DBAs. &lt;p&gt;Living in this reality for so long left me unable to spot the wavering edges of the illusion presented before me. &lt;p&gt;The ancient curses surrounding the evils of different tiers changing at different times never seem to show up in the ways the old ones spoke of. &lt;p&gt;Instead of a torrent of changing DB systems and continual refactoring of all tiers in an effort to extract the very last drip of performance, events tended to peak and trough.  &lt;p&gt;Long periods of calm would happen in which everyone seemed to almost hold their breath in the hope that if they didn't touch anything then it wouldn't break. &lt;p&gt;And then, every once in a while, change would erupt from the business requirements and wash across all the tiers at once. &lt;p&gt;Suddenly people were facing daemons that the ancients never mentioned. Panicked masses running through the streets crying out questions like &amp;quot;How do keep the version of the DB inline with the version of code?&amp;quot;, &amp;quot;How do we test each version?&amp;quot; and &amp;quot;How do we roll out versions side by side?&amp;quot;. &lt;p&gt;I had grown up thinking that the only way that SQL could execute efficiently was via the protection and guidance provided by stored procedures. Without the stored procedure, what was there? &lt;p&gt;A lawless town of missed cache hits, fumbling predicates and roaming hordes of developers feasting at the gory remains of relational theory? &lt;p&gt;As it turns out, probably not: &lt;a href="http://www.databasejournal.com/features/mysql/article.php/3525581"&gt;http://www.databasejournal.com/features/mysql/article.php/3525581&lt;/a&gt;  :)&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-5473458774348741396&amp;page=RSS%3a+HR+Violations+in+the+name+of+Stored+Procedures&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=lzcd.spaces.live.com&amp;amp;GT1=lzcd"&gt;</description><category>Software Development</category><comments>http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!141.entry#comment</comments><guid isPermaLink="false">http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!141.entry</guid><pubDate>Thu, 28 Feb 2008 03:59:09 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://lzcd.spaces.live.com/blog/cns!B40A5E3E8E32C4EC!141/comments/feed.rss</wfw:commentRss><wfw:comment>http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!141.entry#comment</wfw:comment><dcterms:modified>2008-02-28T03:59:09Z</dcterms:modified><feedburner:origLink>http://lzcd.spaces.live.com/Blog/cns!B40A5E3E8E32C4EC!141.entry</feedburner:origLink></item></channel></rss>
