<?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-1227361330133385109</id><updated>2011-04-21T18:37:36.782-07:00</updated><category term='Boost'/><title type='text'>Dogged Code Warrior's Enervating Rants</title><subtitle type='html'>Unprintable rants of a 30-something Australian software engineer who's tired of holding her tongue about all the stupid software engineers on earth (or at least in her office).</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dogged-code-warrior.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1227361330133385109/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dogged-code-warrior.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dogged Code Warrior</name><uri>http://www.blogger.com/profile/09425846354730438622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1227361330133385109.post-8149411258846388538</id><published>2009-01-02T03:04:00.000-08:00</published><updated>2009-01-02T03:40:00.598-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Boost'/><title type='text'>Why big organisations are a bad idea, even if they're open source</title><content type='html'>Take a read of this &lt;a href="http://thread.gmane.org/gmane.comp.lib.boost.devel/184356"&gt;recent thread on the Boost mailing list&lt;/a&gt; and tell me you don't want to pull your hair out. The discussion starts out by questionning missing features and speed (or lack of) in some essential &lt;a href="http://www.boost.org/"&gt;Boost&lt;/a&gt; libraries, but soon blithely wanders off into a pointless scoring of points about newsgroup etiquette and naming conventions.&lt;br /&gt;&lt;br /&gt;Talk about not seeing the wood for the trees.&lt;br /&gt;&lt;br /&gt;Makes me want to weep.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1227361330133385109-8149411258846388538?l=dogged-code-warrior.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dogged-code-warrior.blogspot.com/feeds/8149411258846388538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1227361330133385109&amp;postID=8149411258846388538' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1227361330133385109/posts/default/8149411258846388538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1227361330133385109/posts/default/8149411258846388538'/><link rel='alternate' type='text/html' href='http://dogged-code-warrior.blogspot.com/2009/01/why-big-organisations-are-bad-idea-even.html' title='Why big organisations are a bad idea, even if they&apos;re open source'/><author><name>Dogged Code Warrior</name><uri>http://www.blogger.com/profile/09425846354730438622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1227361330133385109.post-1936568780125080707</id><published>2008-04-13T00:03:00.000-07:00</published><updated>2008-04-13T21:47:59.842-07:00</updated><title type='text'>Lonely Variables</title><content type='html'>First, hello to consumers of my new blog. All those "lonely variables" out there who, like me, are looking out for fellow software engineers who actually care about what they do.&lt;br /&gt;&lt;br /&gt;Second, to the subject of this post. Why, oh why, do programmers - esp. VM programmers (Java / C#) - feel the need to make variables lonely. Don't they know about locality of scope? Haven't they heard about try-finally?&lt;br /&gt;&lt;br /&gt;For that matter, why is try-finally something so rarely used/understood? For sure it's a poor bring-your-own-cognisance relation of deterministic destruction (provided by the old curmudgeon of languages, C++), but at least it works.&lt;br /&gt;&lt;br /&gt;Consider the following code:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;File file = null;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file = new File("myFile");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.write( // blah blah&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;catch(IOException e) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// deal with exception&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// close file&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(file != null) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;why not use a try-finally, and reduce the effort, and the risk of maintenance mistakes?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File file = new File("myFile");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.write( // blah blah&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finally {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.close();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;catch(IOException e) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// deal with exception&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now which one is simpler? Which?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1227361330133385109-1936568780125080707?l=dogged-code-warrior.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dogged-code-warrior.blogspot.com/feeds/1936568780125080707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1227361330133385109&amp;postID=1936568780125080707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1227361330133385109/posts/default/1936568780125080707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1227361330133385109/posts/default/1936568780125080707'/><link rel='alternate' type='text/html' href='http://dogged-code-warrior.blogspot.com/2008/04/lonely-variables.html' title='Lonely Variables'/><author><name>Dogged Code Warrior</name><uri>http://www.blogger.com/profile/09425846354730438622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
