<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Tastyfinish                      </description><title>Tushar Pokle</title><generator>Tumblr (3.0; @pokle)</generator><link>http://pokle.net/</link><item><title>How to upgrade nodejs on your no.de smartmachine</title><description>&lt;p&gt;So you have a brand new Joyent no.de smartmachine, with a really old version of nodejs? Here’s how to upgrade it to a newer version of nodejs.&lt;/p&gt;

&lt;h2&gt;Upgrade packages&lt;/h2&gt;

&lt;p&gt;Ensure that you have the latest compiler, etc.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;pkgin update
pkgin upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Build nodejs&lt;/h2&gt;

&lt;p&gt;Refer to &lt;a href="https://github.com/joyent/node/wiki/Installation" target="_blank"&gt;https://github.com/joyent/node/wiki/Installation&lt;/a&gt; for the details. Here’s how I compiled it on my smartmachine:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ssh node@yourmachine.no.de
git clone --depth 1 git://github.com/joyent/node.git
cd node
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Select a version - v0.6.7 was the latest at the time of writing:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;VERSION=v0.6.7
git checkout $VERSION
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Compile and install to ~/local/…&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;./configure --prefix=~/local/$VERSION
make
make install
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Change the nodejs symlink&lt;/h2&gt;

&lt;p&gt;Your smartmachine has a symlink that points to the current node installation. This is the version that is used when you ssh in. Derived from:  &lt;a href="http://wiki.joyent.com/display/node/Setting+the+Node.js+Version" target="_blank"&gt;http://wiki.joyent.com/display/node/Setting+the+Node.js+Version&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;cd ~/local
mv --no-target-directory nodejs nodejs-old
ln -s $VERSION nodejs
hash -r
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Change the node service symlink&lt;/h2&gt;

&lt;p&gt;Run this command as root.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ssh root@yourmachine.no.de
cd /opt/nodejs
VERSION=v0.6.7    # Yes, substitute this with your version again
ln -s ~node/local/$VERSION $VERSION
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Version check&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;ssh node@yourmachine.no.de
node -v
npm -v
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Revert if something blew up&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;cd ~/local
mv --no-target-directory nodejs-old nodejs
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Otherwise!&lt;/h2&gt;

&lt;p&gt;You’re done&lt;/p&gt;</description><link>http://pokle.net/post/13632445577</link><guid>http://pokle.net/post/13632445577</guid><pubDate>Sat, 03 Dec 2011 00:13:00 +1100</pubDate></item><item><title>Apple just doesn’t get sync. Sync is hard to get right -...</title><description>&lt;img src="http://27.media.tumblr.com/tumblr_lvh6b9ZFO51qcvdngo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Apple just doesn’t get sync. Sync is hard to get right - especially in the user interface department. Dropbox gets sync because it’s able to simplify away the interface. Magic.&lt;/p&gt;</description><link>http://pokle.net/post/13544409245</link><guid>http://pokle.net/post/13544409245</guid><pubDate>Thu, 01 Dec 2011 00:18:00 +1100</pubDate></item><item><title>A tasty finish (or a start!)</title><description>&lt;div&gt;
&lt;p&gt;After reading the essay titled ‘Just say “No” to the Pet Project’ in &lt;a href="http://pragprog.com/book/kcdc/the-developer-s-code" title="The Developer's Code" target="_blank"&gt;The Developer’s code&lt;/a&gt;, I’ve decided it’s now or never! I just have to constrain my pet project, and launch! Otherwise it’ll never see the light of any smiling faces. So there you go - I will bring you &lt;a href="http://tastyfinish.com" target="_blank"&gt;TastyFinish.com&lt;/a&gt; early 2012.&lt;/p&gt;
&lt;p&gt;Here’s an extract from The Developer’s code by Ka Wai Cheung. Highly recommended.&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="column"&gt;
&lt;p&gt;&lt;span&gt;Every one of us has a pet project archive. Software we started and saw part of the way through, but never quite finished. Code that began strong but came to a screeching halt because more pressing issues came up. Other work got in the way, or, we simply lost interest.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Pet projects fail when there are no time constraints and nothing’s on the line if we don’t succeed. When a launch date is “one of these days” we likely won’t be finishing it anytime soon. Some of us seem to spend years mulling over that next great idea instead of first deciding on a specific amount of time to build it. &lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;/div&gt;</description><link>http://pokle.net/post/13056820724</link><guid>http://pokle.net/post/13056820724</guid><pubDate>Sun, 20 Nov 2011 22:29:33 +1100</pubDate></item><item><title>Proprietary Legacy doublespeak</title><description>&lt;p&gt;You know you’ve been had when a vendor starts telling you to stop using proprietary software, and use their open software instead.&lt;/p&gt;
&lt;p&gt;You know you’ve been had when they call your existing working living breathing system a legacy so they can sell you their unproven flash in the pan technology. Not withstanding the fact that you did adopt their previous flash in the pan technology that is now your legacy.&lt;/p&gt;
&lt;p&gt;So I knew it was time to throw up when I received an invitation to a webinar from Redhat touting “&lt;span&gt;Now, using Java EE can be even simpler than using proprietary legacy frameworks such as Spring &lt;/span&gt;&lt;span&gt;Framework, and take much less time.&lt;/span&gt;&lt;span&gt;”&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;Can’t they see that no one cares about the old open Java vs proprietary software talk anymore. The whole reason for the widespread adoption of Spring was that it just worked. Let me repeat that - it just worked. It’s a product made to serve you the developer. Not a standard made to serve the vendors. All the previous multi-vendor ivory tower J2EE standards were not products. They weren’t usable. You couldn’t read the standards and use them. You had to use a bad product that didn’t care about solving your problems, but about adhering to a straw man standard. Unlike Springframework or even Grails which are usable products, borne out of the need to solve real problems for real developers.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I bet they were just trolling.&lt;/p&gt;</description><link>http://pokle.net/post/1280320665</link><guid>http://pokle.net/post/1280320665</guid><pubDate>Sun, 10 Oct 2010 13:40:00 +1100</pubDate></item><item><title>The Myth of the Genius Programmer - Quite possibly my all time...</title><description>&lt;iframe width="400" height="299" src="http://www.youtube.com/embed/0SARbwvhupQ?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;strong&gt;The Myth of the Genius Programmer -&lt;/strong&gt; Quite possibly my all time favourite talk about collaborative software development.&lt;/p&gt;
&lt;p&gt;Fact: Nearly all widely used software is developed by teams.&lt;/p&gt;
&lt;p&gt;Fact: Most programmers have fantasies of developing something innovative and new all by themselves.&lt;/p&gt;
&lt;p&gt;*Boom*&lt;/p&gt;
&lt;p&gt;Let go of your ego, and become a small fish in your pond and learn how to be a great developer by watching this talk.&lt;/p&gt;</description><link>http://pokle.net/post/1262080077</link><guid>http://pokle.net/post/1262080077</guid><pubDate>Thu, 07 Oct 2010 23:09:35 +1100</pubDate></item><item><title>JS1k, 1k Javascript demo contest</title><description>&lt;a href="http://js1k.com/demos"&gt;JS1k, 1k Javascript demo contest&lt;/a&gt;: &lt;p&gt;You can learn so much about Javascript by just viewing the source of these demos&lt;/p&gt;</description><link>http://pokle.net/post/917483702</link><guid>http://pokle.net/post/917483702</guid><pubDate>Sat, 07 Aug 2010 22:35:14 +1000</pubDate></item><item><title>Man vs Ocean</title><description>&lt;p&gt;I just watched Bear Grylls of Man vs Wild launch off a remote Hawaiian island on a handmade bamboo raft straight into a couple of tiger sharks. Wow! This episode was much more real for me than any other. I’ve been stranded while windsurfing for hours at a time with my energy sapped away by the elements and so I know how tough it is to just be out there with the winds, the waves and the creatures all conspiring against you. I completely expected Bear to give up and call in the helicopter after a few hours. Instead he drank the spinal fluid of fish he caught with Hibiscus twine, smeared his face with coconut oil he had prepared earlier by climbing a coconut tree, and stared down the tiger sharks who tried to bump him off his rickety raft, and finally attracted a sailboat by reflecting the sun off his knife. I think I’ve just found my next hero after Steve Irvin. Respect.&lt;/p&gt;</description><link>http://pokle.net/post/801766204</link><guid>http://pokle.net/post/801766204</guid><pubDate>Mon, 12 Jul 2010 21:49:00 +1000</pubDate></item><item><title>Riiiiight!</title><description>&lt;img src="http://26.media.tumblr.com/tumblr_l5ce5i9mtu1qcvdngo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Riiiiight!&lt;/p&gt;</description><link>http://pokle.net/post/793611621</link><guid>http://pokle.net/post/793611621</guid><pubDate>Sat, 10 Jul 2010 22:46:29 +1000</pubDate></item><item><title>Hello new world</title><description>&lt;p&gt;I’m getting a lot of satisfaction from my work these days. It’s a great feeling coding in the zone.&lt;/p&gt;</description><link>http://pokle.net/post/728626935</link><guid>http://pokle.net/post/728626935</guid><pubDate>Wed, 23 Jun 2010 20:12:00 +1000</pubDate></item><item><title>Functional + NoSQL == *HOT*</title><description>&lt;p&gt;&lt;a href="http://www.davethomas.net/index.html" target="_blank"&gt;Dave Thomas&lt;/a&gt; was in town stirring up all the geeks with his talk titled “Why Real Developers Embrace Functional Programming and NoSQL Data”. I had a great time meeting some old friends, and hearing Dave cut through the crowd with the sharp tongue that he has.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://dl.dropbox.com/u/361252/blog/dave-thomas.png" alt="" style="float: right; margin: 10px;"/&gt;&lt;/p&gt;
&lt;p&gt;His central message was &lt;span style="font-size: medium; color: #000000;"&gt;to never stop learning&lt;/span&gt;.&lt;/p&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;We’ve become a monoculture of object oriented programmers living in a world of relational databases. Remember the horrors of EJB’s persistence layer? Well, even Rails’ ActiveRecord is just a slicker version of the same nonsense. The object-relational impedance mismatch was never breached. Same old layers of icing on the same old shit.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;And he doesn’t like frameworks very much either. Layer upon layer upon… you get the idea :-)&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;If you’re still maintaining the status quo of Relational databases and Object Oriented languages, Dave would like to remind you that you’ve turned into a &lt;span style="font-size: medium; color: #000000;"&gt;row farmer&lt;/span&gt; :-)&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;So what do we do? He argued that we should look at the shinier side of functional programming which has famously had lower KLOCs, and the now blinding presence of all the NoSQL databases which are more flexible and perhaps better suited to your problem domain.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;I swear I never want to write another many-to-many join table with composite keys. Sign me up :-)&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;</description><link>http://pokle.net/post/729054167</link><guid>http://pokle.net/post/729054167</guid><pubDate>Sat, 29 May 2010 12:27:00 +1000</pubDate></item><item><title>Software art is engineering?</title><description>&lt;p&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/e/e8/Ivar_jacobson.jpg" height="86" alt="" style="float: right; padding: 10px;" width="75"/&gt;&lt;a href="http://en.wikipedia.org/wiki/Ivar_Jacobson" target="_blank"&gt;Dr. Ivar Jacobson&lt;/a&gt; the god father of software components has lofty goals. He admitted being embarrassed by them last year, but now he’s quite proud and loud about them. He was in Melbourne today talking about his latest meta-methodology &lt;a href="http://www.semat.org/" target="_blank"&gt;SEMAT&lt;/a&gt; (Software Engineering Method and Theory).&lt;/p&gt;
&lt;div&gt;I’m one of those ‘computer programming is an art, so don’t sully it with engineering’ kind of guy. So I attended Dr. Ivar Jacobson’s talk with trepidation.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Ivar noted that software engineering today is like the fashion industry. There are waves of process fashions that wash through the industry every 5 or so years. There was structured programming before I even started programming - then it faded. Object Oriented Design was really big while I was at university - then it faded. XP was strong during my early career - now it’s gone. UML, CMMI, RUP - aaargh! And now everyone’s disillusioned or frantically becoming a scrum master.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;The situation reminded me of something &lt;a href="http://www.abc.net.au/science/drkarl/" title="Dr. Karl Kruzentiski" target="_blank"&gt;Dr. Karl Kruzentiski&lt;/a&gt; once said on TripleJ - if there is more than one explanation for something, it’s likely that they are all wrong!&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;The reality is that software development is differs from industry to industry - and you need to pick a methodology that works best for you. There really can’t be a theory of everything because it’s the wrong question to ask. Enterprise development is very different to game development. Game development is very different to embedded systems development. Ivar really didn’t address this dichotomy at all, so I was a bit disappointed there. This blog post talks about more deficiencies of SEMAT: &lt;a href="http://catenary.wordpress.com/2009/11/29/against-semat/" target="_blank"&gt;&lt;a href="http://catenary.wordpress.com/2009/11/29/against-semat/" target="_blank"&gt;http://catenary.wordpress.com/2009/11/29/against-semat/&lt;/a&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Ivar wants to bring together the Industry, Academics, Methodologists, and Developers. They rarely see eye to eye on software engineering processes.&lt;/div&gt;
&lt;ul&gt;&lt;li&gt;Academics don’t understand the needs of industry. They have no practical experience within industry, so they pick a processes such as XP or Scrum to teach without a real need to use them themselves. Or they claim they are too proud to teach any methodology!&lt;/li&gt;
&lt;li&gt;Industry is wrapped up in many processes because they have a real need for them to deliver useful software. However, they aren’t able to scientifically compare and choose processes - thus there are fads.&lt;/li&gt;
&lt;li&gt;Developers want to become experts in their domain, but find themselves lost every time they change jobs and have to re-learn a new process&lt;/li&gt;
&lt;li&gt;Methodologists have been prolific in creating fads, but have been unable to compare their methodologies in scientific terms.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;br/&gt;To help them see eye to eye, Ivar has called to action some of the big names of the software engineering world who have created processes such as RUP, CMMI, Scrum, XP and many others.&lt;/p&gt;
&lt;div&gt;With them, he has extracted a small kernel of practices that are common to all processes. The idea is to be able to categorise and compare processes better, and hopefully put them through their paces in a more engineering way. Perhaps even compare them using metrics.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;These practices are essentials that every software development organisation does. Nothing is optional. They might do them in different ways using different methodologies - even if the methodologies don’t themselves describe them. For example, Customer Representatives must ‘Understand the need’ and ‘Ensure stakeholder satisfaction’. These sound like universal truths - and they are. Every process has something to say about them.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Ivar said that all methodologies can be described in terms of his kernel practices. And he has apparently started a company that sells 23 glossy cards with the practices printed on them.&lt;/div&gt;
&lt;p&gt;Now until I get my hands on a full list of the 23 practices he has explained, I’m going to stay sceptical. I’m not going to say that software development is an art any more, but merely that it’s complicated :-)&lt;/p&gt;</description><link>http://pokle.net/post/729054235</link><guid>http://pokle.net/post/729054235</guid><pubDate>Thu, 15 Apr 2010 21:33:00 +1000</pubDate></item><item><title>Oh Data! Where are you?</title><description>&lt;p&gt;Here’s an interesting idea for distributed computing when you have large amounts of data spread across numerous machines - move your code around (as ruby/scala/what-have-you continuations) instead of moving your data around. &lt;/p&gt;
&lt;p&gt;It’s a research language called swarm:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.locut.us/main/2008/10/6/swarm-a-true-distributed-programming-language.html" target="_blank"&gt;&lt;a href="http://blog.locut.us/main/2008/10/6/swarm-a-true-distributed-programming-lang..." target="_blank"&gt;http://blog.locut.us/main/2008/10/6/swarm-a-true-distributed-programming-lang…&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.google.com/p/swarm-dpl/" target="_blank"&gt;&lt;a href="http://code.google.com/p/swarm-dpl/" target="_blank"&gt;http://code.google.com/p/swarm-dpl/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It’s kinda like when you’re in a library (the physical kind with heavy books, dusty shelfs and smelly aisles), and you pause reading a book to walk to the reference section to look up a word before walking back and continuing your book. &lt;/p&gt; The coolest part is that most continuations can be contained in a single network packet - so there shouldn’t be much network traffic bouncing around if you’ve partitioned your data vis-à-vis your problem domain.</description><link>http://pokle.net/post/729054276</link><guid>http://pokle.net/post/729054276</guid><pubDate>Wed, 17 Mar 2010 00:28:00 +1100</pubDate></item><item><title>Shuffling energy</title><description>&lt;p&gt;I got up this morning and rearranged some energy to affect the world. That’s what I do for a living according to Ron Burk - 
&lt;object height="300" width="500"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/yzUuCwyk5DA&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/yzUuCwyk5DA&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" height="300" width="500"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;/p&gt;</description><link>http://pokle.net/post/729054325</link><guid>http://pokle.net/post/729054325</guid><pubDate>Mon, 01 Mar 2010 19:27:00 +1100</pubDate></item><item><title>Ever wondered how mechanical computers worked?</title><description>&lt;p&gt;I remember playing with gears as a kid and discovering some of their mathematical properties. But I never went as far as using cams to compute trignometric functions!&lt;/p&gt;
&lt;p&gt;Watch these videos to learn how they used plain old gears and shafts to compute the trajectory of a projectile, and many other computations that the navy required.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.eugeneleeslover.com/VIDEOS/fire_control_computer_1.html" target="_blank"&gt;Part 1 - &lt;img src="http://dl.dropbox.com/u/361252/blog/fire-control-1.png" alt=""/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.eugeneleeslover.com/VIDEOS/fire_control_computer_2.html" target="_blank"&gt;Part 2 -  &lt;img src="http://dl.dropbox.com/u/361252/blog/fire-control-2.png" alt=""/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.eugeneleeslover.com/VIDEOS/fire_control_computer_2.html" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://pokle.net/post/729054380</link><guid>http://pokle.net/post/729054380</guid><pubDate>Sun, 14 Feb 2010 11:09:00 +1100</pubDate></item><item><title>Stuff someone learned working at Microsoft</title><description>&lt;p&gt;
	I found this an interesting read. Mostly because it resonates with my own experience - &lt;br/&gt;&lt;a href="http://www.sriramkrishnan.com/blog/2009/12/stuff-ive-learned-at-microsoft.html" target="_blank"&gt;&lt;a href="http://www.sriramkrishnan.com/blog/2009/12/stuff-ive-learned-at-microsoft.html" target="_blank"&gt;http://www.sriramkrishnan.com/blog/2009/12/stuff-ive-learned-at-microsoft.html&lt;/a&gt;&lt;/a&gt;
	
&lt;/p&gt;</description><link>http://pokle.net/post/729054423</link><guid>http://pokle.net/post/729054423</guid><pubDate>Sun, 13 Dec 2009 22:34:04 +1100</pubDate></item><item><title>It's a different world out here</title><description>&lt;p&gt;Here’s something new I learnt yesterday about the middle east - every house has a little indicator stuck on the ceiling pointing towards Mecca. My Emirates flight had a Mecca locator up on the projector every so often. Many people carry a Mecca locator GPS device on them. Every one is quite aware of the direction to Mecca as their primary direction.&lt;/p&gt;
&lt;p&gt;All that orientation means that more people know the direction towards Mecca than the cardinal directions (N,S,E,W). This has some interesting implications for an application we’re developing for here. We can’t for example show a layout of a house and orient it to North and ask people to pick where they want their network points installed. People would just get confused. We have to orient our maps towards Mecca, or show a little Qibla arrow as they are called.&lt;/p&gt;</description><link>http://pokle.net/post/729054578</link><guid>http://pokle.net/post/729054578</guid><pubDate>Thu, 22 Oct 2009 13:47:00 +1100</pubDate></item><item><title>Empirical evidence for software metrics</title><description>&lt;p&gt;Someone did the leg work and found some real evidence about software metrics:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://research.microsoft.com/en-us/news/features/nagappan-100609.aspx" target="_blank"&gt;&lt;a href="http://research.microsoft.com/en-us/news/features/nagappan-100609.aspx" target="_blank"&gt;http://research.microsoft.com/en-us/news/features/nagappan-100609.aspx&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The results are interesting, but not surprising if you’ve developed software for a while:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;“Code coverage is not indicative of usage” - Your hot spots need good code coverage, but not your cool spots.&lt;/li&gt;
&lt;li&gt;TDD projects take 35% more time to complete, but are 60 - 90% better in terms of “defect density”.&lt;/li&gt;
&lt;li&gt;Confirmed that having more assertions reduces defects. However, you can’t just mandate their use. Developers must have a culture of using them.&lt;/li&gt;
&lt;li&gt;Organisational structure matters a lot (herding your cats)&lt;/li&gt;
&lt;li&gt;Geographical distance doesn’t matter much if your distributed team feels like they’re working on the same team. Here’s an interesting quote - &lt;i&gt;&lt;large&gt;”Most people preferred to talk to someone from their own organization 4,000 miles away rather than someone only five doors down the hall but from a different organization.”&lt;/i&gt;&lt;/large&gt;&lt;/li&gt;
&lt;/ul&gt;</description><link>http://pokle.net/post/729054642</link><guid>http://pokle.net/post/729054642</guid><pubDate>Sat, 10 Oct 2009 11:12:00 +1100</pubDate></item><item><title>Software Engineering ≠ Computer Science</title><description>&lt;p&gt;So why exactly is there a schism between computer science and the rest of the engineering world? It comes down to a fine red line according to this Doctor Dobb’s Journal article:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.ddj.com/architect/217701907" target="_blank"&gt;&lt;a href="http://www.ddj.com/architect/217701907" target="_blank"&gt;http://www.ddj.com/architect/217701907&lt;/a&gt; - &lt;img src="http://dl.dropbox.com/u/361252/blog/the-bright-line-in-computer-science.png" alt=""/&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://pokle.net/post/729054684</link><guid>http://pokle.net/post/729054684</guid><pubDate>Sat, 06 Jun 2009 20:31:00 +1000</pubDate></item><item><title>Mental plaque</title><description>&lt;p&gt;
	When I tried to get to gmail.com, and Safari wouldn’t go there, I blamed Safari!&lt;/p&gt;&lt;div&gt;&lt;br/&gt;&lt;div&gt;I did what every self respecting person would do when faced with evidence contrary to everything they believe in.  I believed that Gmail’s was a rock, and Safari was a bit mushier.&lt;/div&gt;&lt;div&gt;I actually lodged a bug report with Apple. How embarrassing.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;Then when I read about it in the news today, I had a chuckle and did what every self respecting geek would do - talk about their mistake.&lt;/div&gt;&lt;div&gt;Phew, I do have hope.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img class="posterous_download_image" src="https://blogger.googleusercontent.com/tracker/28862806-2454656819874756305?l=musing-of-a-mad-programmer.blogspot.com" height="1" alt="" width="1"/&gt;&lt;/div&gt;</description><link>http://pokle.net/post/729054739</link><guid>http://pokle.net/post/729054739</guid><pubDate>Sat, 16 May 2009 07:37:00 +1000</pubDate></item><item><title>I'm a salesman</title><description>&lt;p&gt;So here’s how it happened:&lt;/p&gt;
&lt;p&gt;While waiting for my turn with the bank teller I started googling define:teller. Why are they called Tell-ers I pondered.&lt;/p&gt;
&lt;p&gt;A frail voice from the right asked: What’s that?&lt;br/&gt;me: An iPhone&lt;/p&gt;
&lt;p&gt;I looked at the voice, and it came from an old woman - no younger than 70.&lt;/p&gt;
&lt;p&gt;frail voice: What does it do?&lt;br/&gt;me: ummm… I’m browsing the Internet. It has the Internet.&lt;br/&gt;frail voice: Hmmmm… You’re on the Internet? Over here?&lt;br/&gt;me: Yes, it has the Internet. This is a web browser, but there are other things it can do too.&lt;br/&gt;frail voice: Is it a phone? Can you make calls on it?&lt;br/&gt;me: Yes, it’s a phone too. You can make calls.&lt;/p&gt;
&lt;p&gt;And so we went. Her eyes lit up every time I did something unexpected like scrolling or zooming with my fingers. She liked the way my fingers glided all over the pretty screen.&lt;/p&gt;
&lt;p&gt;When I told her how much I was paying for it every month her eyes lit up even more. Apparently she was paying $50 for her home phone, and about the same for the Internet… and it was all stuck at home!&lt;/p&gt;
&lt;p&gt;Her partner sitting next to her grumbled something to her. My time with my teller had come. I smiled at her confident that she was going to get an iPhone soon.&lt;/p&gt;
&lt;p&gt;I should go into sales. I’ll find out about tellers some other day :-)&lt;/p&gt;</description><link>http://pokle.net/post/729054827</link><guid>http://pokle.net/post/729054827</guid><pubDate>Thu, 30 Apr 2009 07:56:00 +1000</pubDate></item></channel></rss>

