<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Cunning</title>
    <link rel="alternate" type="text/html" href="http://cunning.sharp.fm/" />
    <link rel="self" type="application/atom+xml" href="http://cunning.sharp.fm/atom.xml" />
   <id>tag:cunning.sharp.fm,2010://10</id>
    <link rel="service.post" type="application/atom+xml" href="https://www.pier29.net/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=10" title="Cunning" />
    <updated>2010-12-01T02:05:19Z</updated>
    <subtitle>Put a tail on it, call it a weasel.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.21</generator>
 
<entry>
    <title>&quot;Find It, Fix It, Move On With Your Life&quot;</title>
    <link rel="alternate" type="text/html" href="http://cunning.sharp.fm/2010/12/find_it_fix_it_move_on_with_yo.html" />
    <link rel="service.edit" type="application/atom+xml" href="https://www.pier29.net/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=10/entry_id=5868" title="&quot;Find It, Fix It, Move On With Your Life&quot;" />
    <id>tag:cunning.sharp.fm,2010://10.5868</id>
    
    <published>2010-12-01T01:33:00Z</published>
    <updated>2010-12-01T02:05:19Z</updated>
    
    <summary>The simple mantra behind troubleshooting and bugfixing. One of the hardest things about solving a problem is keeping your eye on the problem while a cacophony of distraction whirls around you. People want to tell everybody it isn&apos;t their fault....</summary>
    <author>
        <name>Graham Leggett</name>
        
    </author>
            <category term="From the General Observation Department..." />
    
    <content type="html" xml:lang="en" xml:base="http://cunning.sharp.fm/">
        <![CDATA[<p>The simple mantra behind troubleshooting and bugfixing.</p>

<p>One of the hardest things about solving a problem is keeping your eye on the problem while a cacophony of distraction whirls around you. People want to tell everybody it isn't their fault. You want to tell everybody that it isn't your fault. Random people will want to find out whose fault it was so that they can be seen to have blamed somebody, as if that constituted a sensible contribution to the issue. These things are luxuries few can afford while the problem remains unsolved.<br />
</p>]]>
        <![CDATA[<p>To complicate matters, your fix has probably broken something else that relies on the broken behaviour you just fixed. There is probably a bug below your bug, and you will probably have to fix that bug too. Again, the cacophony of distraction continues its whirl. People will ask why you have not fixed the problem yet. People will ask rhetorical questions about why the bug was there in the first place. This cacophony remains a luxury, an unwelcome distraction that prolongs the pain.</p>

<p>The only sane approach is to find the bug, fix the bug, and move on with your life.</p>

<p>The reward for fixing the last bug is to see the system sing, to watch the engine purr, precisely as designed. The reward is to hear the cacophony cease as the attention of the peanut gallery gets shifted elsewhere, with blissful silence to follow. The reward is the look on the end user's face, when they find the problem that put a dent into their day is now gone.<br />
</p>]]>
    </content>
</entry>
<entry>
    <title>JAXB2: Marshalling fails due to validation, but you can&apos;t see the error</title>
    <link rel="alternate" type="text/html" href="http://cunning.sharp.fm/2009/10/jaxb2_marshalling_fails_due_to.html" />
    <link rel="service.edit" type="application/atom+xml" href="https://www.pier29.net/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=10/entry_id=5329" title="JAXB2: Marshalling fails due to validation, but you can't see the error" />
    <id>tag:cunning.sharp.fm,2009://10.5329</id>
    
    <published>2009-10-14T22:07:59Z</published>
    <updated>2009-10-14T22:15:48Z</updated>
    
    <summary>Having used JAXB2 to construct a tree of XML from objects, you try and marshall your objects to XML, only to find you get an Exception telling you your resulting XML has failed validation. But as you cannot see the...</summary>
    <author>
        <name>Graham Leggett</name>
        
    </author>
            <category term="Tips and Tricks" />
    
    <content type="html" xml:lang="en" xml:base="http://cunning.sharp.fm/">
        <![CDATA[<p>Having used JAXB2 to construct a tree of XML from objects, you try and marshall your objects to XML, only to find you get an Exception telling you your resulting XML has failed validation. But as you cannot see the generated XML, you have no way to see where you've gone wrong.</p>

<p>Stuck?</p>

<p>JAXB2 has a deprecated the <a href="http://java.sun.com/javase/6/docs/api/javax/xml/bind/Validator.html">javax.xml.bind.Validator</a> class, and the person who documented this didn't bother to document the mechanism to replace it.</p>

<p>What I did manage to find was the <a href="http://java.sun.com/javase/6/docs/api/javax/xml/bind/util/ValidationEventCollector.html">javax.xml.bind.util.ValidationEventCollector</a> class, which you can add to your Marshaller object, like this:</p>

<pre>
			ValidationEventCollector collector = new ValidationEventCollector();
			marshaller.setEventHandler(collector);
</pre>

<p>Now the marshaling works! And your errors can be retrieved from ValidationEventCollector, like this:</p>

<pre>
			collector.getEvents();
</pre>

<p>Hopefully this will save someone some pain.<br />
</p>]]>
        
    </content>
</entry>
<entry>
    <title>Importing private keys into a Java keystore using keytool</title>
    <link rel="alternate" type="text/html" href="http://cunning.sharp.fm/2008/06/importing_private_keys_into_a.html" />
    <link rel="service.edit" type="application/atom+xml" href="https://www.pier29.net/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=10/entry_id=4894" title="Importing private keys into a Java keystore using keytool" />
    <id>tag:cunning.sharp.fm,2008://10.4894</id>
    
    <published>2008-06-07T19:22:17Z</published>
    <updated>2008-06-07T19:34:01Z</updated>
    
    <summary>For ages the keytool application shipped as part of Java could provide all the functionality to generate a private key and certificate sign request from a Java keystore, but the most basic function, importing a preexisting private key and certificate...</summary>
    <author>
        <name>Graham Leggett</name>
        
    </author>
            <category term="Tips and Tricks" />
    
    <content type="html" xml:lang="en" xml:base="http://cunning.sharp.fm/">
        <![CDATA[<p>For ages the <a href="http://java.sun.com/javase/6/docs/technotes/tools/windows/keytool.html">keytool</a> application shipped as part of Java could provide all the functionality to generate a private key and certificate sign request from a Java keystore, but the most basic function, importing a preexisting private key and certificate generated externally, remained overlooked.</p>

<p>This is fixed in Java 6, at long last.</p>

<p>The solution is to convert your existing certificate and key into a PKCS12 file, and then use the keytool functionality to merge one keystore with another one. Java 6 can treat a PKCS12 file as a keystore, so putting this together, you get this:</p>

<p><i>keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore my-keystore.jks -srckeystore cert-and-key.p12 -srcstoretype PKCS12 -srcstorepass cert-and-key-password -alias 1</i></p>

<p>The alias of 1 is required to choose the certificate in the source PKCS12 file, keytool isn't clever enough to figure out which certificate you want in a store containing one certificate.</p>

<p>At last, it works.<br />
</p>]]>
        
    </content>
</entry>
<entry>
    <title>At Last, A Wireless Bandwidth Solution</title>
    <link rel="alternate" type="text/html" href="http://cunning.sharp.fm/2008/03/at_last_a_wireless_bandwidth_s.html" />
    <link rel="service.edit" type="application/atom+xml" href="https://www.pier29.net/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=10/entry_id=4805" title="At Last, A Wireless Bandwidth Solution" />
    <id>tag:cunning.sharp.fm,2008://10.4805</id>
    
    <published>2008-03-20T15:16:06Z</published>
    <updated>2008-03-20T15:18:54Z</updated>
    
    <summary>Wow! At last, a solution to wifi bandwidth problems. It&apos;s the Wifi Speed Spray! Why was this never thought of before?...</summary>
    <author>
        <name>Graham Leggett</name>
        
    </author>
            <category term="From the General Observation Department..." />
    
    <content type="html" xml:lang="en" xml:base="http://cunning.sharp.fm/">
        <![CDATA[<p>Wow!</p>

<p>At last, a solution to wifi bandwidth problems. It's the <a href="http://www.j-walk.com/other/wifispray/">Wifi Speed Spray</a>!</p>

<p>Why was this never thought of before?<br />
</p>]]>
        
    </content>
</entry>
<entry>
    <title>Spot the Difference</title>
    <link rel="alternate" type="text/html" href="http://cunning.sharp.fm/2007/11/spot_the_difference.html" />
    <link rel="service.edit" type="application/atom+xml" href="https://www.pier29.net/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=10/entry_id=3421" title="Spot the Difference" />
    <id>tag:cunning.sharp.fm,2007://10.3421</id>
    
    <published>2007-11-24T14:14:54Z</published>
    <updated>2007-11-24T14:49:35Z</updated>
    
    <summary>If you are looking for a reason to spend the dosh and get a film image drum scanned, here is what you get for your money. Can you spot the difference?...</summary>
    <author>
        <name>Graham Leggett</name>
        
    </author>
            <category term="From the General Observation Department..." />
    
    <content type="html" xml:lang="en" xml:base="http://cunning.sharp.fm/">
        <![CDATA[<p>If you are looking for a reason to spend the dosh and get a film image drum scanned, here is what you get for your money.</p>

<p><img src="http://cunning.sharp.fm/images/flower-coolscan.jpg" width="180" height="120" /> <img src="http://cunning.sharp.fm/images/flower-flextight.jpg" width="180" height="120" /></p>

<p>Can you spot the difference?<br />
</p>]]>
        <![CDATA[<p>To be fair, the image on the left was done on an old <a href="http://nikonimaging.com/global/products/scanner/scoolscan_2000/index.htm">Nikon Coolscan LS2000</a>, and the image on the right was done with a <a href="http://www.hasselblad.com/products/scanners/flextight-x5.aspx">Hasselblad Flextight X5</a>, but the key problem still stands.</p>

<p>The problem is "bleed", where areas of intense brightness starts to leak across the CCD into areas of darkness. This in turn is caused by the need for the CCD in the Coolscan to be so small, right up against the film. Drum scanners solve the problem by magnifying the image onto a much larger detector "far away" from the image, working like a standard camera.</p>

<p>So how do the modern slide scanners match up? Apparently the bleed problem has been reduced, but not eliminated, so your bleed problem remains. If you shoot medium format film, or even 35mm, and you have the option, go for the drum scan.<br />
</p>]]>
    </content>
</entry>
<entry>
    <title>Jaw dropping WOWvx</title>
    <link rel="alternate" type="text/html" href="http://cunning.sharp.fm/2007/09/jaw_dropping_wowvx.html" />
    <link rel="service.edit" type="application/atom+xml" href="https://www.pier29.net/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=10/entry_id=3316" title="Jaw dropping WOWvx" />
    <id>tag:cunning.sharp.fm,2007://10.3316</id>
    
    <published>2007-09-17T00:02:45Z</published>
    <updated>2007-09-17T00:31:50Z</updated>
    
    <summary>Walking down one of the side aisles at IBC I noticed something hovering in front of a screen. IBC is an event crammed with HD screens and other yummy goodies, and this screen didn&apos;t look outwardly any different to the...</summary>
    <author>
        <name>Graham Leggett</name>
        
    </author>
            <category term="From the General Observation Department..." />
    
    <content type="html" xml:lang="en" xml:base="http://cunning.sharp.fm/">
        <![CDATA[<p>Walking down one of the side aisles at <a href="http://www.ibc.org">IBC</a> I noticed something hovering in front of a screen. IBC is an event crammed with HD screens and other yummy goodies, and this screen didn't look outwardly any different to the others: A Philips badge bottom centre, and a 3 dimensional picture hovering in front of it.</p>

<p>No really, real 3D, promise.</p>

<p>I did one serious double take and can honestly say I was blown away.</p>

<p>At the entrance to one of the display areas they were showing off a multi screen display, and this photo completely fails to do it justice:</p>

<p><img alt="philips-wowvx.jpg" src="http://cunning.sharp.fm/images/philips-wowvx.jpg" width="400" height="300" /></p>

<p>Philips calls it <a href="http://www.wowvx.com/">WOWvx</a>.<br />
</p>]]>
        <![CDATA[<p>So, does it work?</p>

<p>You need to find a sweet spot to view the 3D effect, too far away and the image reverts to the 2D image that you wouldn't notice as out of the ordinary in any way. But come closer, and a threshold is reached where beyond the screen depth appears.</p>

<p>Left and right matters too. Walk past, and there is a "switchover" as you move back into the sweetspot. If this thing finds its way into your living room, you could finding yourself fighting for the best spots on the couch.</p>

<p>And content?</p>

<p>Some of the content took the form of tentative attempts at 3D menus that looked a bit bland: Menu options on hovering squares, or 3D titling hovering in front of 2D images. But when you switched to pure 3D content, the effect was breathtaking.</p>

<p>When you look at television, people have got incredibly excited by the idea of HD, which is basically the same as what we've been watching for years, only much, much clearer. WOWvx however does justice to the wow in its name: HD becomes 3D.</p>

<p>If you get the chance to see one of these things demoed for you live, go take a look. No image on the web is likely to do this justice at this point. Not till we get 3D on our computer screens at least.<br />
</p>]]>
    </content>
</entry>
<entry>
    <title>Apple Solves the iPod Dilemma</title>
    <link rel="alternate" type="text/html" href="http://cunning.sharp.fm/2007/01/apple_solves_the_ipod_dilemma_1.html" />
    <link rel="service.edit" type="application/atom+xml" href="https://www.pier29.net/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=10/entry_id=2980" title="Apple Solves the iPod Dilemma" />
    <id>tag:cunning.sharp.fm,2007://10.2980</id>
    
    <published>2007-01-09T22:38:23Z</published>
    <updated>2007-02-06T16:10:30Z</updated>
    
    <summary>The iPod is an amazing machine. It works like humans would expect it to work, and it does so for a long time. And they sell like hotcakes. The only issue left remaining for me was the annoyance of carrying...</summary>
    <author>
        <name>Graham Leggett</name>
        
    </author>
            <category term="From the General Observation Department..." />
    
    <content type="html" xml:lang="en" xml:base="http://cunning.sharp.fm/">
        <![CDATA[<p>The iPod is an amazing machine. It works like humans would expect it to work, and it does so for a long time. And they sell like hotcakes.</p>

<p>The only issue left remaining for me was the annoyance of carrying around two portable handheld devices - an iPod, and a mobile phone.</p>

<p>At some point though <a href="http://www.nokia.com">Nokia</a> and <a href="http://www.sonyericsson.com">Sony Ericsson</a> were destined to absorb the iPod's features, and potentially offer a phone that would become sole occupant of the wearer's pocket.</p>

<p>Or <a href="http://www.apple.com">Apple</a> could have released a mobile phone of their own.</p>

<p>And they <a href="http://www.apple.com/iphone/">just did</a>.</p>

<p><a href="http://www.apple.com/iphone/technology/"><img src="http://images.apple.com/iphone/images/techhero_specs20070109.jpg" width="400" height="433" border="0" /></a></p>

<p><i>Image source: http://www.apple.com/iphone/technology/specs.html</i><br />
</p>]]>
        <![CDATA[<p>At first glance, the iPhone looks to be an impressive machine in the tradition of the iPod.</p>

<p>The site claims <i>"This device has not been authorized as required by the rules of the Federal Communications Commission. This device is not, and may not be, offered for sale or lease, or sold or leased, until authorization is obtained."</i>, but throwing caution to the wind they have announced it anyway.</p>

<p>Running a handheld version of MacOS X, I am hoping that the feel of the phone is not as sluggish as the Nokias of late, and the lack of support for 3G networks is a potential oversight.</p>

<p>But if this device is anything like the iPod, Apple will do well.<br />
</p>]]>
    </content>
</entry>
<entry>
    <title>Apache Harmony</title>
    <link rel="alternate" type="text/html" href="http://cunning.sharp.fm/2006/10/apache_harmony.html" />
    <link rel="service.edit" type="application/atom+xml" href="https://www.pier29.net/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=10/entry_id=2593" title="Apache Harmony" />
    <id>tag:cunning.sharp.fm,2006://10.2593</id>
    
    <published>2006-10-12T00:10:43Z</published>
    <updated>2007-02-06T16:10:16Z</updated>
    
    <summary>In the middle of 2005, the Apache Harmony project was started in the Apache Incubator, amidst a flurry of discussion and speculation. Simply put, Harmony wants to build a Java JVM, a faster and more modular drop in replacement for...</summary>
    <author>
        <name>Graham Leggett</name>
        
    </author>
            <category term="From the General Observation Department..." />
    
    <content type="html" xml:lang="en" xml:base="http://cunning.sharp.fm/">
        <![CDATA[<p>In the middle of 2005, the <a href="http://incubator.apache.org/projects/harmony.html">Apache Harmony</a> project was started in the Apache Incubator, amidst a flurry of discussion and speculation.</p>

<p>Simply put, Harmony wants to build a <a href="http://java.sun.com">Java JVM</a>, a faster and more modular drop in replacement for the existing JVM's released by <a href="http://www.sun.com">Sun</a>, <a href="http://www.ibm.com">IBM</a> and <a href="http://www.bea.com">BEA</a>.</p>

<p>Following the announcement of the project's beginnings, what followed was one of the most intense discussions on any open source project ever, and questions were raised as to whether it was all just talk, and no actual code. Slowly the noise died down, and Harmony plodded on.</p>

<p>Earlier today, I attended a talk by Geir Magnussen at <a href="http://www.apachecon.com">ApacheCon 2006</a> where a summary was given of the project so far, and to be honest I am blown away.<br />
</p>]]>
        <![CDATA[<p>Since the official launch in May of 2005, major sections of the JVM are nearing completion, in some cases with more than a single modular implementation of a component. Donations of both code and test cases from <a href="http://www.ibm.com">IBM</a> and <a href="http://www.intel.com">Intel</a>, as well as contributions from many individuals has seen progress jump in leaps and bounds. The commit list sees almost 2000 commits per month.</p>

<p>Harmony runs Apache Tomcat and Eclipse, no mean feat.</p>

<p>The most impressive is the JAPI class libraries completeness test hosted <a href="http://www.kaffe.org/~stuart/japi/htmlout/h-jdk15-harmony.html">here</a>, which shows at this writing that 94% of the class libraries are complete.</p>

<p>The importance of the Harmony project and its place in the Java universe is probably under appreciated by most people in it. For the first time, a JVM will exist that can be ported to any platform, including embedded or future platforms, without the buyin of a major (and possibly competing) vendor. And in addition, Java can become as ubiquitous on platforms like Linux and FreeBSD as perl is today, without the need to navigate the legal minefield of the distribution licenses of the existing JVMs.</p>

<p>Despite the fact that Harmony has yet to graduate from the incubator, Harmony looks to be well on its way to becoming one of the ASF's key projects.<br />
</p>]]>
    </content>
</entry>
<entry>
    <title>HD is King</title>
    <link rel="alternate" type="text/html" href="http://cunning.sharp.fm/2006/09/hd_is_king.html" />
    <link rel="service.edit" type="application/atom+xml" href="https://www.pier29.net/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=10/entry_id=2549" title="HD is King" />
    <id>tag:cunning.sharp.fm,2006://10.2549</id>
    
    <published>2006-09-10T22:01:53Z</published>
    <updated>2007-02-06T16:10:17Z</updated>
    
    <summary>Or so you would believe from this year&apos;s IBC exhibition in Amsterdam. Today I got to get the real work done. I got to see the new HD set top boxes from Amino, and I managed to get hold of...</summary>
    <author>
        <name>Graham Leggett</name>
        
    </author>
            <category term="From the General Observation Department..." />
    
    <content type="html" xml:lang="en" xml:base="http://cunning.sharp.fm/">
        <![CDATA[<p>Or so you would believe from this year's <a href="http://www.ibc.org">IBC exhibition</a> in Amsterdam.</p>

<p>Today I got to get the real work done. I got to see the new HD set top boxes from <a href="http://www.aminocom.com">Amino</a>, and I managed to get hold of the last pieces of the IPTV puzzle we have been building.</p>

<p>The real bling for me was the ranges of camera equipment being shown by <a href="http://www.sony.com">Sony</a> and <a href="http://www.grassvalley.com">Grass Valley</a>. They had both set up and lit a complex set, with each camera showing the resulting HD above it. The crispness of detail in the HD pictures was stunning.</p>

<p>More fun stuff was the HD virtual set being being shown off by <a href="http://www.orad.tv">Orad</a>, called Proset. They demonstrated their system live, with a news presenter in a combination real and chroma key studio, inserting all the graphics that are usually seen overlaid on top of the screen into the scene itself. The cameras were free moving, but motion tracked using sensors on the cameras and in the studio. TV graphics are cheesy at best though, now the cheese is part of the set.</p>

<p>The big showcase of the day however was the screening of <a href="http://disney.go.com/disneypictures/pirates/">Pirates of the Caribbean, Dead Man's Chest</a> on a <a href="http://www.christiedigital.com/">Christie 2K DLP Cinema</a> projection system. Digital cinema technology, being called D Cinema, has come about in response to the rise of HD, and as a solution to the high cost of film print distribution. The 2K refers to the number of lines on the screen. It was impressive stuff. The only flaw I picked up that may have been caused by the projector, was that the end credits didn't scroll smoothly for some reason - there seemed to be a slight amount of jitter. Still, at data rates of 250Mbps, D Cinema is impressive.<br />
</p>]]>
        
    </content>
</entry>
<entry>
    <title>SD Must Die</title>
    <link rel="alternate" type="text/html" href="http://cunning.sharp.fm/2006/09/sd_must_die.html" />
    <link rel="service.edit" type="application/atom+xml" href="https://www.pier29.net/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=10/entry_id=2548" title="SD Must Die" />
    <id>tag:cunning.sharp.fm,2006://10.2548</id>
    
    <published>2006-09-09T19:04:18Z</published>
    <updated>2007-02-06T16:10:17Z</updated>
    
    <summary>I have about a day and a half to take in the IBC exhibition in Amsterdam, and half a day in, my feet want to fall off. Today&apos;s goal was to find where the major players were exhibiting, and what...</summary>
    <author>
        <name>Graham Leggett</name>
        
    </author>
            <category term="From the General Observation Department..." />
    
    <content type="html" xml:lang="en" xml:base="http://cunning.sharp.fm/">
        <![CDATA[<p>I have about a day and a half to take in the <a href="http://www.ibc.org">IBC exhibition</a> in Amsterdam, and half a day in, my feet want to fall off.</p>

<p>Today's goal was to find where the major players were exhibiting, and what they were showing off, but first - you noticed what they weren't showing off - SD was nowhere to be seen. Actually I found one plasma at a stand, showing a grainy version of ESPN, but that was it.</p>

<p>In short, HD is king.<br />
</p>]]>
        <![CDATA[<p>One of the smaller stands I stopped at was a demonstration of the <a href="http://www.ist-matris.org/">Markerless real-time Tracking for Augmented Reality Image Synthesis</a> system, or Matris.</p>

<p>This project is attempting to come up with a way to insert virtual 3D rendered objects into a live video stream, without the use of special motion tracking and position tracking studio equipment. The demo they were showing off was a bit shaky, but the concept was very clever. They were able to virtually insert a checkers board onto a table forming part of a live set, which stayed put while the camera was tracked and panned, and even while the camera was taken off the tripod and shoulder held. It was some interesting stuff.</p>

<p>While wondering around some more I was pounced on by people from <a href="http://www.forbidden.co.uk/">Forbidden</a>, a UK based company punting a video editing system, written in Java and delivered via the web. An interesting idea.</p>

<p>I then found the <a href="http://www.apple.com">Apple</a> stand, and to be honest I was expecting more bling. They were showing off the HD versions of Final Cut Pro and others, but I was destined to be sucked into a demo by <a href="http://www.autodesk.com">Autodesk</a>.</p>

<p>My interest in IBC was more on the content delivery side, but it wasn't difficult getting sucked into the demos for Flame, and Smoke. Their systems on demo were all Redhat Linux based, which was interesting to see, and were being demoed at full HD throughout.</p>

<p>Autodesk were punting the <a href="http://en.wikipedia.org/wiki/InfiniBand">Infiniband</a> system for interconnects between clustered systems. They showed how a Smoke installation, and a second Flame installation, were able to remotely access the same HD video, at full HD frame rate, at the same time, with virtually no latency, and with room to spare. Autodesk were at pains to point out that they support Gigabit Ethernet and 10GBE too, so they are probably hedging their bets somewhat as to which technology might win in future.</p>

<p>The fun continues tomorrow.<br />
</p>]]>
    </content>
</entry>
<entry>
    <title>The Danger of Knowledge</title>
    <link rel="alternate" type="text/html" href="http://cunning.sharp.fm/2006/09/the_danger_of_knowledge.html" />
    <link rel="service.edit" type="application/atom+xml" href="https://www.pier29.net/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=10/entry_id=2545" title="The Danger of Knowledge" />
    <id>tag:cunning.sharp.fm,2006://10.2545</id>
    
    <published>2006-09-02T15:37:35Z</published>
    <updated>2007-02-06T16:10:17Z</updated>
    
    <summary>So, is your technical or engineering team a fountain of knowledge? Have an answer for every question? Can they blind you with science? Confident in their abilities? Damn right they are, that&apos;s what you&apos;re paying them for, isn&apos;t it? Does...</summary>
    <author>
        <name>Graham Leggett</name>
        
    </author>
            <category term="From the General Observation Department..." />
    
    <content type="html" xml:lang="en" xml:base="http://cunning.sharp.fm/">
        <![CDATA[<p>So, is your technical or engineering team a fountain of knowledge? Have an answer for every question? Can they blind you with science? Confident in their abilities?</p>

<p>Damn right they are, that's what you're paying them for, isn't it?</p>

<p>Does your technical or engineering team revisit what they know? Continually add to that knowledge with new research? Do they challenge conventional wisdom? Do they take note of what their competitors are doing in the marketplace, and are they ready with a response in good time?</p>

<p>Are you sure?</p>

<p>This is a cautionary tale.<br />
</p>]]>
        <![CDATA[<p>About three years ago, I made contact with a company in Durban, South Africa's leading manufacturer of settop boxes for the cable and satellite industry. I contacted them because based in South Africa at the time, I wanted to buy local. My question of them was:</p>

<p><i>"What is your IPTV strategy?"</i></p>

<p>At the time, the world internet, telephony and television industries were undergoing a period of reinvention. Some called it <i>convergence</i>. Others called it <i>Triple Play</i>. The bottom line was, each of the three industries had realised that with minimal reengineering, they could provide the services of the other two.</p>

<p>No longer did a household have to pay three amounts against three bills for three different services. Now they could buy all three services from just one supplier. One supplier could charge more money, on condition they could boot out the other two suppliers.</p>

<p><i>This house just ain't no longer big enough for the three of us.</i></p>

<p>I was researching IP Television at the time, to find out what headend hardware was available, what Video on Demand (VoD) hardware was available, what set top box (STB) hardware was available, and a range of new products were on the horizon. UK based <a href="http://www.aminocom.com">Amino Communications</a> led the field with their beautifully designed range of set top boxes, an industry lead they maintain today. To the end user, the set top box plugged into your internet connection on one end, your television on the other end, and you used a remote control in the middle. IPTV was indistinguishable from normal satellite or cable, just like users wanted.</p>

<p>A brief history of the South African telecommunications market: Hampered by ill advised legislation, an incumbent monopoly operator <a href="http://www.telkom.co.za">Telkom</a> was allowed to run roughshod all over the South African telecommunications industry, charging exhorbitant fees for antique services. But the winds of change were coming. The South African government were committed to opening up the market to competition, and once that happened, competitors would break open the market, leading to a long awaited catch up.</p>

<p>But here lay a problem. In the stifling regulatory environment at the time, technicians and engineers in the South African industry <i>knew</i> that high speed internet access, defined as "anything faster than a dialup modem", was unheard of in South Africa. And they <i>knew</i> that this would never change. Ever.</p>

<p>And so in answer to my question of the settop box manufacturer in Durban, the person billing themselves as their chief engineer laughed me off the phone.</p>

<p><i>You're crazy. IPTV can never work. You're wasting your time.</i></p>

<p>My research indicated otherwise, and so I persisted. To the lasting shock of the South African internet industry, the incumbent Minister for Telecommunications for South Africa triggered some exit legislation, effectively ending the incumbent operator's state sanctioned monopoly. The much publicised awarding of a second telecommunications license to <a href="http://www.neotel.co.za">Neotel</a> was imminent, and unleased from regulatory constraints, existing mobile operators and internet service providers could enter the industry. The game was hotting up.</p>

<p>Internationally, the race for Triple Play was on. In the UK, <a href="http://www.telewest.co.uk">Telewest</a> and <a href="http://www.homechoice.co.uk">Homechoice</a> battled it out with conspicuous media coverage. Get your television, your telephone and your internet from one place. Existing operators like <a href="http://www.sky.com">Sky</a> got into providing internet access alongside their satellite based offering. The same story played out throughout Europe. At the international <a href="http://www.ibc.org">IBC</a> exhibition in Amsterdam in September of 2005, the hot topics were HD and IPTV.</p>

<p>About three months ago, I made contact with the Durban based company again. The contact was through a colleague, a friend of theirs had just started working there, and out of curiosity I asked again:</p>

<p><i>What is your IPTV strategy?</i></p>

<p>They said they'd ask and find out, and the answer came back.</p>

<p><i>We looked a making satellite cards to receive internet and television on a PC, but we didn't pursue it.</i></p>

<p>Turns out they <i>still</i> had no idea what IPTV was.</p>

<p>Over the past few years, the biggest question on the telecommunications industry's lips was how to break the enormous lead held by the incumbent Telkom. But a more burning question was, how would Telkom respond to this threat from competitors?</p>

<p>In our research over the past few years, we have found that wireless technologies simply didn't cut the mustard when compared to the power and convenience of fixed line networks. If it couldn't do full bandwidth television, the technology just wasn't good enough. This fact didn't escape the watchful eye of the incumbent Telkom. To maintain their widespread dominance, IPTV was the key.</p>

<p>So, this last thursday, when the second South African telecommunications operator Neotel launched with great fanfare to the South African public, Telkom responded by playing their trump card: Telkom would <a href="http://www.fin24.co.za/articles/companies/display_article.aspx?Nav=ns&lvl2=comp&ArticleID=1518-24_1991562">introduce IPTV to the South African market</a>, and compete with the dominant satellite provider <a href="http://www.multichoice.co.za">Multichoice</a>.</p>

<p>On friday, I contacted the Durban based manufacturer again to ask what they thought. The answer came back:</p>

<p><i>We had not heard Telkom's announcement, where did you hear it from?</i></p>

<p>Three years later, and they <i>still knew</i> that IPTV was not possible, and <i>they still knew that IPTV would never happen in South Africa</i>.</p>

<p>So confident were they in their knowledge, that they saw no value in research, no value in development. They saw no value in monitoring technological developments overseas, nor did they see value in monitoring the local political and legislative environment.</p>

<p>Their technicians and engineers already knew, what point was there in learning something new?</p>

<p>So, ask yourself: What new things did your technicians learn this week? What do they think their field looks like today? What do they think their field will look like a year from now, five years from now? Is there a change in the air, and do they understand what that change might mean?</p>

<p>And has technical opinion inside your organisation changed over the last few years? If not, you may find yourself quietly exiting your chosen market, while others outpace you.</p>

<p>Forget what you know. It's what you learn that is important.<br />
</p>]]>
    </content>
</entry>
<entry>
    <title>A Tale of Two Interviews</title>
    <link rel="alternate" type="text/html" href="http://cunning.sharp.fm/2006/06/a_tale_of_two_interviews.html" />
    <link rel="service.edit" type="application/atom+xml" href="https://www.pier29.net/cgi-bin/MT-3.2-en_US/mt-atom.cgi/weblog/blog_id=10/entry_id=2467" title="A Tale of Two Interviews" />
    <id>tag:cunning.sharp.fm,2006://10.2467</id>
    
    <published>2006-06-17T13:38:00Z</published>
    <updated>2007-02-06T16:10:17Z</updated>
    
    <summary>As a contractor, the purpose behind your work is to put yourself out of a job - job done, you move on to the next project. It keeps life interesting, you have to stay on your toes, and you end...</summary>
    <author>
        <name>Graham Leggett</name>
        
    </author>
            <category term="From the General Observation Department..." />
    
    <content type="html" xml:lang="en" xml:base="http://cunning.sharp.fm/">
        <![CDATA[<p>As a contractor, the purpose behind your work is to put yourself out of a job - job done, you move on to the next project. It keeps life interesting, you have to stay on your toes, and you end up doing a few interviews.</p>

<p>Interviews, I have had all kinds, but this last week I had two that were polar opposites of each other, one where the interviewers did everything right, the second where they did everything wrong.</p>]]>
        <![CDATA[<p>So I get a call on wednesday afternoon.</p>

<p>"I hear you're looking, because we're looking." said they, "keen to have a chat?". I was keen. "How about now?" I said, and in a flash I was in an office on the 3rd floor meeting with the two key players on a risk management project for one of South Africa's big four banks.</p>

<p>There are three things that make me nervous, one is public speaking, the second is appearing on television, and the third is dealing with strangers, so I appreciate it when people put me at ease, which is exactly what the person leading the interview did.</p>

<p>They started with some idle chit chat, and then began with where they had found my CV - via a project manager I had worked with previously.</p>

<p><i>First step, establish context, I now know why I am there.</i></p>

<p>Then the selling started. They needed to find somebody that fulfilled two key requirements:</p>

<p>- Someone who <i>could</i> do the job.</p>

<p>- Someone who <i>wanted</i> to do the job.</p>

<p>They kicked off with some brief questions, what kind of technologies had I worked on in the past, what kind of projects? could I do Java? No really, could I do Java?</p>

<p><i>I wasn't a Dot Net person masquerading in the other camp, they had been sent a couple of those.</i></p>

<p>Next, a description of their system, starting with an apology: "We're sorry, we haven't followed the full J2EE thing, we wanted to keep it simple".</p>

<p><i>Simple. I like simple. 'We kept it simple' means they understood the task at hand and hadn't wasted time on unnecessary complexity.</i></p>

<p>Their system allows traders to trade <a href="http://en.wikipedia.org/wiki/Exotic_instruments">exotics</a>, and handle the day to day trading and the risk analysis behind it. The more reliable the system, the more numbers they crunch for the buck, the more competitive the division is within financial markets.</p>

<p>Some key parts thrown in, they use RMI on their server, and they use an application developed for the <a href="http://www.eclipse.org/platform/">Eclipse platform</a> on the client.</p>

<p><i>Wow, an approach I have not seen before.</i></p>

<p>Their problem is their system was built in a bit of a hurry, they needed to bring the system under control, clean it up, relook at security and encryption, and make it faster, and they needed someone with experience to add to their existing already experienced team. Was I keen?</p>

<p><i>Looks good so far.</i></p>

<p>What then followed was a long chat about distributed computing, what had they tried, what approaches others in the industry have tried, what could work in their case.</p>

<p>Throughout the interview the two people conducting it showed confidence they knew what they were doing, something not entirely widespread within large organisations, and they showed that it was clear this was a job they needed to get done properly. They weren't there to waste my time, and didn't want to hire someone who was going to waste theirs. They had done a thorough vetting of me by the time they had finished.</p>

<p>"The director has a large wallet" they said.</p>

<p><i>They were spending their money on people.</i></p>

<p>Was I interested? I was. But I had an interview the next morning, could I give an answer after then? Sure no problem. "Don't sign anything" they said.</p>

<p>So, the next morning at 8am I found myself at an interview for a software company doing systems for financial markets. I had been there some months before to do an "exam" of sorts, a written test to work out if I knew my Java from my coffee. I type sixty plus words a minute, but was forced to use a pen, something I haven't done for years. The "hour test" took two and a half, and I left with an aching wrist. Their test was some standard stuff, with a focus more on theoretical computer science than engineering and system delivery, but they included some probing questions.</p>

<p><i>Hmmm. Ok. Don't seem too in tune with the people they hire, don't know anybody in this business who can still use a pen.</i></p>

<p>But regardless, there I was, at 8am, ready for an interview. Some helpful people at reception tried to find the people I was there to see, none of whom were there. I loitered for 20 minutes before two people finally arrived and said "this way". We sat down in a meeting room, an interviewer and their manager, with a pile of paper, my CV, and what looked like that exam from way back when.</p>

<p><i>Clearly I was here to be tested, I had had an unfriendly reception and that made me nervous. But no worries.</i></p>

<p>The interviewer began with the major companies I have worked with, started ten years ago with <a href="http://www.vwv.com">VWV Interactive</a>. "What did you build for them?". Given time, more coffee, and a less nervous environment, I could probably reminisce for hours about the country's first auction site we built for <a href="http://www.flysaa.com">SAA</a>, Nando's 98, built for <a href="http://www.nandos.co.za">Nando's</a>, or the Y Files, an online game built for newsagent <a href="http://www.cna.co.za">CNA</a>. I started by thinking back and saying "ooh gosh", and mentioning the auction system, but I was cut off, we were moving onto the next one on the list, apparently that was all I did back then.</p>

<p>The next item on my CV is a useful little litmus test as to whether the interviewer knows software engineering. Since 1999, I have been associated with <a href="http://www.apache.org">The Apache Software Foundation</a>, a not for profit organisation that offers a legal umbrella for the development of projects like <a href="http://httpd.apache.org">the httpd web server</a>, and have been a member of the Foundation since 2002. The acceptance of the use of free software by the business community has been a key part of the politics of software engineering over the past decade, and the ASF has been at the forefront of this issue. Today, business trusts Apache, and its projects are widely used, even though developed by volunteers, and overseen by unpaid members. This makes the question "So how long have you worked for the Apache Software Foundation" ridiculous. The ASF doesn't employ its members.</p>

<p>The interviewer asked anyway, and giving them the benefit of the doubt, I asked them to confirm whether they were familiar with the foundation. "Of course" they said curtly.</p>

<p><i>Not.</i></p>

<p>The employment history angle wasn't going well, so they opted for the curve ball. "Don't you think that not doing maintenance meant you lost the opportunity to learn?".</p>

<p><i>I learn for a living, and own a research company, what a silly question.</i></p>

<p>I said "no".</p>

<p>Ok, it was time for a practical test. They would give me a scenario, I was to solve it. The problem was a pretty straightforward one, the delivery of a continuous rates feed via HTTP for 5000 users. When a client says "5000 users" what they really mean is "we want to begin with 5000 users and scale up from there". Another classic case for a distributed system, that scales up as customers scale up. You start with a cluster of one machine, nice and cheap, and the new customers pay for new capacity, which you don't need to shell out for at the beginning. A bit of careful design makes sure that each additional user is as cheap as possible, but other than that none of this is rocket science. </p>

<p>But the interviewer already had their own ideas, and weren't interested in what I had to suggest. They were convinced the task meant very high system load, and the large number of threads was a showstopper. They switched into lecture mode, and started laying out their plans to write a custom webserver, based on an event driven model, that ran on one box. It was quite clear that the interviewer's design was correct, and mine was wrong. "The key issues here are performance, and latency, don't you agree?" they asked, reading from the textbook. "Er, no." I answered, "It's a lot more involved than that". Having been involved in building a real webserver, I could see they were getting into uncertain territory, something clients are seldom happy to pay for. They weren't impressed at being disagreed with, time to change strategy.</p>

<p>When you need to catch someone out in an interview, the classic fallback is the old "make up some new computing term on the spot" trick. I remember being asked at an interview "what I did think of OT?"</p>

<p><i>Occupational Therapy? I don't see what this has to do with anything, can you elaborate?</i></p>

<p>They meant "object technology", what everyone else calls "<a href="http://en.wikipedia.org/wiki/Object-oriented_programming">OO</a>".</p>

<p>Today's question was "how well do you know your databases? What is an <i>asset transaction</i>?".</p>

<p><i>Um... to be honest, I don't know, tell me.</i></p>

<p>And I got the definition for a "<a href="http://en.wikipedia.org/wiki/Database_transaction">transaction</a>". Um... ok, why didn't you just call it what it was? I checked on Google afterwards, and could find no mention of a computing term "asset transaction", only lots of references to bank transactions involving assets. Restricting the search to "database asset transaction" found nothing relevant either. Cheap trick.</p>

<p>In hindsight, what had happened in the interview was that the interviewer's view of computing was that each question had just one correct answer. The "what if" analysis that is so key to the engineering approach had no place in this organisation - what the architect said was final, and my disagreement with their design approach had no place within their organisation. The problem with this attitude is that the architects are like glory boys on a sports team. You've seen the people who won't pass the ball so they can score themselves, when everyone else can see the defender bearing down on them? In the world of business, clients want solutions to problems, not excuses as to why the solution the architect dreamt up failed. And this means that a successful software team needs people who are sharp enough to come up with a design, but flexible enough to bury their ego, and modify their design to solve issues raised by others.</p>

<p>It was clear at this point that their organisation needed no people upsetting the apple cart, and I was not suited at all to their culture. That meant the first interview won.</p>

<p>I called the bank up and said "if you need me, I'm in".</p>

<p>I start monday.<br />
</p>]]>
    </content>
</entry>

</feed> 


