<?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-9195678525396038175</id><updated>2011-08-01T14:19:41.326-07:00</updated><title type='text'>ABSINTHE MAKES THE MIME GROW FONDLER</title><subtitle type='html'>Desultory opinions on technology by Bob Blainey</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>bblainey</name><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>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-3608917094080522289</id><published>2010-09-23T08:35:00.000-07:00</published><updated>2010-09-23T08:37:18.904-07:00</updated><title type='text'>Blog consolidation</title><content type='html'>I'm an irregular blogger to be sure but just in case anyone is subscribed to this blog, I've decided to start afresh in a new blog &lt;a href="http://sw-meet-hw.blogspot.com/"&gt;here&lt;/a&gt;.  If you still care to subscribe, please change your links to the new blog as this one will go dead after this posting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-3608917094080522289?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/3608917094080522289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2010/09/blog-consolidation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/3608917094080522289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/3608917094080522289'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2010/09/blog-consolidation.html' title='Blog consolidation'/><author><name>bblainey</name><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><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-4025028216870497558</id><published>2009-04-01T21:09:00.000-07:00</published><updated>2009-04-01T21:50:37.597-07:00</updated><title type='text'>Getting started with home media streaming</title><content type='html'>I've had a PlayStation 3 for about a year now.  I use it for gaming and as a blu-ray player.  It's great at both and it owes me nothing for all the entertainment I've gotten out of it.  But I was feeling a bit greedy so I decided to see how hard it would be to use it as a streaming media player hooked up initially to my home server. &lt;br /&gt;&lt;br /&gt;Now, don't get excited.  My "server" is just a cheap Windows desktop sitting in my office at home.  It's not like I have a data center in my basement or something.  Over the last year or so, I've managed to rip most of my CDs onto an external terabyte drive.  I would not have pictured myself walking out of Costco with a terabyte under my arms a few years ago but that's &lt;a href="http://en.wikipedia.org/wiki/Kryder%27s_law"&gt;Kryder's Law&lt;/a&gt; for you.  I've also experimented a bit with ripping DVDs but haven't quite found the right set of tools for that yet.  Anyway, there is a fairly big wad of media (including all my digital photos) sitting on this drive. &lt;br /&gt;&lt;br /&gt;My house is networked (wireless) and I've used the PS3 wireless connection connect to the internet to do software updates and putz around on it's browser (although without a keyboard and mouse, the experience is too clunky to be useful).  I knew the PS3 was connected so, hey, why not stream that audio and video off the home server?  This is where I started messing around with Windows &amp;amp; its Media Player.&lt;br /&gt;&lt;br /&gt;I kind of like the interface to Windows Media Player but found a few annoying things that pushed me away from it.  I now use &lt;a href="http://www.mediamonkey.com/"&gt;Media Monkey&lt;/a&gt; which is faster, doesn't screwup my library and has a much smarter web-based tag lookup and automatic library organizer than WMP.  But then I started reading about connecting the PS3 to the desktop/server and the most common advice was to download WMP 11 which allegedly supports &lt;a href="http://www.dlna.org/home"&gt;DLNA&lt;/a&gt;, also supported on the PS3.  I must have messed around off and on for a couple of weeks trying to make this work.  I got WMP 11 to act as a server for other Windows machines on the network but couldn't get the PS3 and desktop to recognize each other at all. &lt;br /&gt;&lt;br /&gt;So I gave up on WMP 11 and decided to install &lt;a href="http://tversity.com/"&gt;TVersity&lt;/a&gt;.  Wow.  This software has what is so often lacking in Microsoft software - the "it works" feature.  I just installed it, fired it up, pointed it at my media directories and then walked downstairs to the PS3 and there was my media.  I can now browse digital photos on my TV, stream any music I want and even stream video (although there are some glitches there).  Getting still greedier, I wondered if I could stream the media out to my daughter's iPod touch (I'm too cheap to buy one for myself :-).  The touch is supported through the web interface of TVersity so I wasn't sure what to expect but all I needed to do was type a URL into Safari on the touch and wham, all the media is there.  Not only that, but the video is automatically transcoded on the server side before it gets streamed down to the iPod.  Very slick (but I need a faster server :-).&lt;br /&gt;&lt;br /&gt;What else can you do with TVersity?  It also provides an interface to internet video sources like youtube or the various TV networks.  Being in Canada, many of these are blocked (boo!) but I played with some that aren't and must say that this makes browsing internet video much more enjoyable (sitting on a couch with a beer and remote instead of perched over a keyboard).  I haven't played too much with this except to verify that it works.  The hard part will be finding decent content that our big brother government hasn't blocked.&lt;br /&gt;&lt;br /&gt;TVersity will also apparently allow you to access your home server from the internet but, given how pitifully slow my uplink speed it, I haven't bothered trying that yet.&lt;br /&gt;&lt;br /&gt;So, what about those glitches in video?  Well, this may be showing some inexperience on my part in ripping the video in the first place but I've found two problems.  First, the audio is just 2-channel stereo.  I expect that is a problem with the way I've encoded the sound tracks in my ripped video but not sure yet.  The second problem is that some videos will display just fine (as if I were playing a DVD directly, although without the menus) but others stutter showing that something isn't keeping up with the frame rate.  I'm sure it's not the PS3.  So that leaves the network, the "server" CPUs (assuming it's doing some transcoding) or the server hard drive.  Since I'm connected using 802.11g (the PS3  doesn't have an 11n adapter yet), my first suspicion is the network. &lt;br /&gt;&lt;br /&gt;I know I could test this theory by moving my PS3 and desktop next to each other and wiring them up with ethernet but I also know I'm going to need more network bandwidth eventually if I want to stream HD video so now I need a wired networking solution for home (even 802.11n is unlikely to cut it).  I could pull a load of ethernet cable through the walls but I hate doing that, especially between floors, so I looked around for alternatives.  I happened to be listening to the &lt;a href="http://www.htguys.com/"&gt;HDTV podcast&lt;/a&gt; and they reviewed some powerline networking gear from &lt;a href="http://www.corinex.com/product/5.html"&gt;Corinex&lt;/a&gt;.  The conclusion was that the setup was easy and the equipment delivered performance near to the claims of 200Mbps.  So, that's my next step.  I'll report back here when I get that running.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-4025028216870497558?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/4025028216870497558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/04/getting-started-with-home-media.html#comment-form' title='38 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/4025028216870497558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/4025028216870497558'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/04/getting-started-with-home-media.html' title='Getting started with home media streaming'/><author><name>bblainey</name><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>38</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-6872470567758456994</id><published>2009-03-18T07:36:00.000-07:00</published><updated>2009-03-18T09:19:12.192-07:00</updated><title type='text'>The universal translator</title><content type='html'>I don't know anybody that didn't find the &lt;a href="http://memory-alpha.org/en/wiki/Universal_translator"&gt;universal translator&lt;/a&gt; one of the coolest ideas on Star Trek.  Being able to translate, in real-time, one language into another has got to have a transformational impact on  society.  Of course, the idea was &lt;a href="http://en.wikipedia.org/wiki/Universal_translator"&gt;not unique&lt;/a&gt; to Star Trek and some &lt;a href="http://domino.watson.ibm.com/comm/research.nsf/pages/r.uit.innovation.html"&gt;real-life versions&lt;/a&gt; of the device are actually starting to be used today.&lt;br /&gt;&lt;br /&gt;However, in this blog post, I want to cover a different and easier universal translation problem that, to the collective shame of compiler engineers such as myself, has not yet been solved.  I am referring here to the problem of universally translating software written in any of a number of different programming languages to be executed on any of a number of available computing platforms.  Surely, given the well-defined nature of both programming languages and computer architectures, this should be much simpler than the translation between more ambiguous and more semantically rich human languages!&lt;br /&gt;&lt;br /&gt;Sadly, we still live in a world where software is designed and built to run on some specific target machine or set of such machines.  Yes, platforms like Java which promise "write once, run anywhere" have allowed us to make progress.  However, even for Java, the practice of software development is closer to "write once, then test, debug and tune for each new platform". &lt;br /&gt;&lt;br /&gt;The biggest negative impact of this practice is a forced trade-off between software availability and capability and/or quality.  A given software developer or development organization can only afford to do so much porting, testing and debugging.  Therefore, given that this is always required when moving to or certifying for new platforms, there is always a conscious trade-off between platform support and core software features or quality. &lt;br /&gt;&lt;br /&gt;This where the universal translator comes in.  In principle,  compilers should be able to map well-written software into efficient code on any given platform.  But do they?  Well, &lt;a href="http://gcc.gnu.org/"&gt;gcc&lt;/a&gt; is certainly a great example of a compiler that does a good job of targeting lots of platforms and supporting a range of programming languages. &lt;br /&gt;&lt;br /&gt;However, there are still two problems. &lt;br /&gt;&lt;br /&gt;The first is that, while gcc is portable and widely used, it is not usually the best compiler to use on a given platform.  Windows developers will more commonly use Microsoft's compilers.  Professional developers on UNIX platforms will tend to use the platform vendor's compilers.  Even on Linux, Intel's compilers are often preferred to gcc because of the greater performance they can extract from the hardware. &lt;br /&gt;&lt;br /&gt;The second problem  is that gcc doesn't support all the programming languages one would want to use and fails to provide good support for languages which are best compiled at run time such as Java or any of a number of dynamic languages such as Ruby or Python. &lt;br /&gt;&lt;br /&gt;So .. if not gcc, then what? &lt;br /&gt;&lt;br /&gt;Of course, both the &lt;a href="http://java.sun.com/docs/books/jvms/"&gt;Java Virtual Machine&lt;/a&gt; and the &lt;a href="http://www.ecma-international.org/publications/standards/Ecma-335.htm"&gt;Microsoft CLI&lt;/a&gt; need to be considered as good candidates as universal translators.  Unlike gcc, both of these are generally well supported and tunedb major computer vendors.  They are also capable of and have demonstrated good quality runtime compilation and optimization.&lt;br /&gt;&lt;br /&gt;The JVM, while not designed to support multiple languages, has been reasonably successful in supporting languages such as &lt;a href="http://jruby.codehaus.org/"&gt;Ruby&lt;/a&gt; and &lt;a href="http://www.jython.org"&gt;Python&lt;/a&gt;.  However, the JVM really is all about Java.  There are technical challenges in trying to support a range of languages on the JVM, either because of their dynamic nature or because the language wants to manipulate low level constructs such as addresses and native memory that Java tries to abstract away.  Even if these technical hurdles can be overcome (and projects like &lt;a href="http://www-jpc.physics.ox.ac.uk/"&gt;this one&lt;/a&gt; certainly show that it is feasible!), the fact remains that the providers of JVM implementations mostly worry about Java and other languages get short shrift. &lt;br /&gt;&lt;br /&gt;What about the CLI?  Well, unlike Java, it was designed to support a range of languages - at least the ones that Microsoft cares about.  The CLI divides the world into "managed" and "unmanaged", referring mostly to the management of memory.   This allows a certain amount of interoperability between these worlds (via, for example, &lt;a href="http://msdn.microsoft.com/en-us/library/aa288468.aspx"&gt;Platform Invoke&lt;/a&gt;).  However, support for languages which don't adhere to the constraints of managed code has been accomplished by forcing changes into the languages themselves.  &lt;a href="http://en.wikipedia.org/wiki/Managed_Extensions_for_C%2B%2B"&gt;Managed C++&lt;/a&gt;, for example, is &lt;a href="http://msdn.microsoft.com/en-us/library/aa712574%28VS.71%29.aspx"&gt;advertised&lt;/a&gt; as a set of extensions to C++ but more important than the extensions is a long list of limitations which really makes this a different language than C++.&lt;br /&gt;&lt;br /&gt;So, if not Java or the CLI, then what?&lt;br /&gt;&lt;br /&gt;I'm encouraged by the progress of the &lt;a href="http://llvm.org/"&gt;LLVM (Low-Level Virtual Machine) project&lt;/a&gt; at the University of Illinois.  Like the JVM and CLI, LLVM is a virtual machine which can be targeted by compilers for a number of different languages and can be implemented efficiently on a number of different machines.  Unlike the JVM and CLI, however, there are no constraints on the input language and no implied support for "management" functions like enforcement of memory safety.  That doesn't mean that such management can't be implemented on top of LLVM of course.  The &lt;a href="http://vmkit.llvm.org/"&gt;VMKit&lt;/a&gt; project has shown that.  While LLVM is lower level in terms of its instruction set and memory model, it is richer in other ways.  It integrates data flow and control flow information with the code generated by the compiler, which preserves information that may be critical in generating good native code and accelerate later static or dynamic compilation steps.  Of course, I would be remiss not to point out that there have been several &lt;a href="http://en.wikipedia.org/wiki/System/38"&gt;successes&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/ANDF"&gt;failures&lt;/a&gt; in introducing such interfaces in the past but I think LLVM is appearing at a point in time where compilation technology is ready to make it work and there is a broad appetite for this kind of solution.&lt;br /&gt;&lt;br /&gt;Is LLVM the universal translator?  Well, it's still under active research &amp;amp; development and not yet supported by major vendors but, in my opinion, is targeted at exactly the right place architecturally.  A low level but portable virtual machine interface is a natural distribution format for software, written in any of a number of languages.  It won't replace Java or CLI bytecodes but it could replace the native binaries used to distribute all kinds of other software.  It also gives platform vendors the ability to optimize software for their operating systems and hardware with the portability and applicability of gcc but the dynamicity of Java.   I'll be keeping my eye on it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-6872470567758456994?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/6872470567758456994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/03/universal-translator.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/6872470567758456994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/6872470567758456994'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/03/universal-translator.html' title='The universal translator'/><author><name>bblainey</name><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><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-8300993410898941809</id><published>2009-02-25T09:01:00.000-08:00</published><updated>2009-02-25T10:09:36.894-08:00</updated><title type='text'>Are you a Pakled ?</title><content type='html'>Many of you may be fans of Star Trek.  I was for a long time.  First the &lt;a href="http://memory-alpha.org/en/wiki/Star_Trek:_The_Original_Series"&gt;original series&lt;/a&gt; then the &lt;a href="http://memory-alpha.org/en/wiki/Star_Trek:_The_Next_Generation"&gt;Next Generation&lt;/a&gt;, &lt;a href="http://memory-alpha.org/en/wiki/Star_Trek:_Deep_Space_Nine"&gt;Deep Space Nine&lt;/a&gt; and &lt;a href="http://memory-alpha.org/en/wiki/Star_Trek:_Voyager"&gt;Voyager&lt;/a&gt; series.  My interest sort of waned sometime during the Voyager era.  However, one episode I remember very clearly was from the Next Generation series and was entitled "&lt;a href="http://memory-alpha.org/en/wiki/Samaritan_Snare_%28episode%29"&gt;Samaritan Snare&lt;/a&gt;". &lt;br /&gt;&lt;br /&gt;In Samaritan Snare, the Enterprise encounters an alien ship (ok, this happens alot :-).  The ship needs help but the aliens (called &lt;a href="http://memory-alpha.org/en/wiki/Pakled"&gt;Pakleds&lt;/a&gt;) are inexplicably incoherent about what they need.  It turns out that the Pakleds are really a race of technology scavengers, just picking up technology that seems about right for what they need and using it.  They have no idea how the technology works.  When things go wrong, they are clueless about how to fix the problem. &lt;br /&gt;&lt;br /&gt;I remember for many years after the episode aired when I worked in the guts of our compilers how much entertainment we got from interacting with people who, to us, could easily have been Pakleds.  These were otherwise intelligent people, many of them literate in the use or even programming of computers, who clearly had no idea how computers actually work.  This didn't appear to matter until something broke.  Then, they would desparately seek help but would be absolutely incoherent in describing the problem, often not much better than the Pakled's classic "&lt;a href="http://memory-alpha.org/en/wiki/Pakled"&gt;It is broken, can you make it go?&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;I've had alot of time to think about this phenomenon and it really isn't a joke.  For years, decades really, the IT industry has been building an edifice of abstractions and interfaces (or, if you prefer &lt;a href="http://en.wikipedia.org/wiki/Software_framework"&gt;frameworks&lt;/a&gt;) which have provided, with varying degrees of success, ways to interact with and program computers which are provide progressively richer experiences and semantics.  We have also trained an entire generation of programmers to work exclusively at these higher levels of abstraction.  This richness has come with costs, however. &lt;br /&gt;&lt;br /&gt;The first cost is the one already alluded to - that computer users and programmers have become less and less aware of how the technology actually works.  This isn't just true about the hardware.  I would wager that most software developers know close to nothing about the operational details of anything other than the layer below them and the layer above (if they happen to be framework developers themselves).  Does this matter? &lt;br /&gt;&lt;br /&gt;Well, many people use the analogy of a car - that many people know how to drive one but few understand even the basics of how it works; yet, people get along quite well without this knowledge.  This is true for the most part, although it becomes a bit more of an issue when stranded in sub-zero weather outside of cellular telephone range.  Nevertheless, the relationship between cars and drivers generally works.  Why isn't this true with computers? &lt;br /&gt;&lt;br /&gt;I think this is simply a statement of technology maturity.  The rate of change in the basic technology going into cars has been undergoing relatively slow change for a long time (recent innovations in alternate fuels and hybrids being a notable departure).  Computer technology, on the other hand, changes like the weather.  Software engineering is also a far less mature discipline than mechanical engineering, rarely employing basic notions of modularity and change control, let alone more advanced architectural processes.  The result?  Complex and often unforeseen dependencies among software components.  This becomes a hornet's nest for a software engineer to enter when there is either some kind of failure or, equally, when the system isn't performing quite as well as expected.&lt;br /&gt;&lt;br /&gt;Now onto the second cost.  This is one that is not yet a big issue but is sneaking up on us.  Performance, by and large, has not been a serious software issue for many years.  That isn't because we've stopped trying to build new things with software nor is it because we've all become brilliant performance engineers.  It is because exponential growth in hardware performance, and specifically advances in processor speed and memory capacity, have propelled us forward despite the additional software-driven overhead.  As Bob Metcalfe said, "&lt;a href="http://www.brainyquote.com/quotes/quotes/b/bobmetcalf100297.html"&gt;Grove giveth and Gates taketh away&lt;/a&gt;".  If you are unconvinced about the magintude of software bloat, check out &lt;a href="http://ptrthomas.wordpress.com/2006/06/06/java-call-stack-from-http-upto-jdbc-as-a-picture/"&gt;this sample call stack&lt;/a&gt; from a Java application running on the JBoss application server or &lt;a href="http://lcsd05.cs.tamu.edu/slides/sevitsky_et_al.ppt"&gt;this striking illustration&lt;/a&gt; of how much it costs in time and memory to do even the simplest operations with todays frameworks and protocols.&lt;br /&gt;&lt;br /&gt;So what's the problem?  Well, processor speed just isn't improving like it used to.  In particular, Grove (or his successors) still giveth but it is not in the simple form of faster processors.  Instead, we're just getting more that run about the same speed.  And memory?  Well, it is still getting denser, faster and cheaper but it is now one of the most expensive components of a computer, both in terms of dollars and power consumption.  Meanwhile, Gates (or his successors) continue to taketh away, if anything at a faster pace. &lt;br /&gt;&lt;br /&gt;This is not just an indictment of Intel or Microsoft, although both play prominent roles.  The entire hardware industry is being driven by the same physical forces as Intel and virtually all software developers continue to create fatter, more wasteful (although, in fairness, probably quite innovative) software, oblivious of the collision course with hardware.  Modern software developers are like Pakleds wandering through space not realizing that their ship is almost out of fuel and without a clue how to fix it if it does. &lt;br /&gt;&lt;br /&gt;Are you a Pakled ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-8300993410898941809?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/8300993410898941809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/are-you-pakled.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/8300993410898941809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/8300993410898941809'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/are-you-pakled.html' title='Are you a Pakled ?'/><author><name>bblainey</name><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-391370569456626908</id><published>2009-02-22T08:04:00.000-08:00</published><updated>2009-02-22T08:33:44.932-08:00</updated><title type='text'>Innovating without thrashing</title><content type='html'>I enjoyed the &lt;a href="http://www.businessweek.com/innovate/content/feb2009/id20090218_337947.htm"&gt;recent article&lt;/a&gt; by &lt;a href="http://www.billbuxton.com/"&gt;Bill Buxton&lt;/a&gt; in BusinessWeek.  It is entitled "How to Keep Innovating" but it is as much advice for the busy mind as it is a recipe for innovation.  Bill starts by making the case that, while depth of skill is essential, especially in one's profession, there are diminishing returns to trying to perfect that skill.  Instead, he advises that there should always be a new passion in the pipeline, something to broaden one's experience and inform ongoing innovation.&lt;br /&gt;&lt;br /&gt;Along the way, Bill points out the temptations of the curious mind, which I definitely experience and sometimes call "thrashing":&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Always being in the throes of a passionate beginning is one of my primary methods of sustenance. But as is all too frequently the case, too much of a good thing can cause its own set of problems. The energy of pursuing such passions can be addictive, and take over at the expense of other things that are equally or more important. It can become destructive. I found this out the hard way, and my wife was able to help me when I most needed it. It was she who reminded me that the limitlessness of life has to be shoe-horned through the limitations of the present.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lacking the discipline to focus on a small number of passions at one time can lead one to become a jack of all trades but master of none (or very few at any rate).  I have plenty of passions - mathematics, technology, literature, history, geopolitics, music and more.  Unfortunately, there are times when I thrash between them deriving only a tiny amount of benefit from my investment in each (not to mention shortchanging other parts of my life like my family).&lt;br /&gt;&lt;br /&gt;I'm getting better at this but am glad to see that I'm not the only one with this affliction!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-391370569456626908?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/391370569456626908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/innovating-without-thrashing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/391370569456626908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/391370569456626908'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/innovating-without-thrashing.html' title='Innovating without thrashing'/><author><name>bblainey</name><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><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-4003669263832899456</id><published>2009-02-12T12:45:00.000-08:00</published><updated>2009-02-12T13:36:51.553-08:00</updated><title type='text'>Cringley on multicore</title><content type='html'>I just picked up the latest copy of Technology Review and read &lt;a href="http://www.technologyreview.com/computing/21806/page1/"&gt;Cringley's article on multicore&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;First of all, I have to say that Cringley can write.  I have struggled to explain this trend and the set of associated software challenges many times, to technical and non-technical people alike and never approached the concise and approachable description given in this article.  I'm a techie at heart and it's at times like this that I realize I have a long way to go as a writer and communicator.&lt;br /&gt;&lt;br /&gt;Anyway, self-incrimination aside, I think this article (assuming people aren't sick of reading about this subject by now) really does a service by putting this trend into a historical context that everyone can understand and by clearly explaining some of the subtleties here, like frequency not equating to performance and, for that matter core count not equating to performance.  Those messages are suprisingly hard to deliver to people that insist on a simple characterization of how computers work or even more important to those that have no interest at all in how computers work.  It also does a pretty good job of explaining why parallel programming might be hard to get right. &lt;br /&gt;&lt;br /&gt;I do wish that Cringley had at least mentioned the distinction between multicore as a client/mobile phenomenon vs. multicore in the server space.  He does mention map/reduce (which is completely a server-side programming model) but fails to observe, especially in his conclusion, that while client software may fail to drive for ever greater parallelism, there is a virtually insatiable appetite for it in the server world.  However, like the video processing example he gave, while the parallelism is often easy to find in server-side programs, there are many reasons why it is difficult to extract. &lt;br /&gt;&lt;br /&gt;Some of those reasons are bound up in the issues he does cover like the lack of good tools and languages but another big issue is the inertia of existing large software environments.  This so-called "legacy" software (I've been told by many that hold this stuff dear that "legacy" is pejorative, kind of like used cars vs. "previously enjoyed " cars I guess) .. sorry side-tracked.  This "previously enjoyed" software has a suprisingly long life - often measured in decades rather than years.  The problem here is that, even if we had the tools and languages and skills and even the desire to make this software exploit parallelism, there aren't enough programmers in the world to even put a dent in it.  We're talking about &lt;span style="font-weight: bold;"&gt;trillions&lt;/span&gt; of lines of code.  Hard to fathom I know but it's true.  And much of civilization depends upon it (that is not an exaggeration).  This is a particularly hard nut to crack and we in the server/enterprise computing world have this problem in spades.  On the client, people change their software alot more frequently - usually when the shiny new version is available or Microsoft breaks compatibility, whichever comes first.&lt;br /&gt;&lt;br /&gt;Parochial interests aside, I highly recommend the article.  It contains no new revelations but, if you work in this area, it just might be something your spouse or friends will understand when they ask what you do for a living.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-4003669263832899456?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/4003669263832899456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/cringley-on-multicore.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/4003669263832899456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/4003669263832899456'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/cringley-on-multicore.html' title='Cringley on multicore'/><author><name>bblainey</name><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><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-791186478268326972</id><published>2009-02-09T08:04:00.000-08:00</published><updated>2009-02-09T08:13:12.201-08:00</updated><title type='text'>Clouds without the nuts &amp; bolts</title><content type='html'>I recommend reading &lt;a href="http://arstechnica.com/business/news/2008/12/hp-cloud-computing-interview.ars"&gt;Jon Stokes interview&lt;/a&gt; (and &lt;a href="http://arstechnica.com/business/news/2009/02/into-the-cloud-a-conversation-with-russ-daniels-part-ii.ars"&gt;part 2&lt;/a&gt;) of Russ Daniels of HP on Cloud Computing.  I read quite a bit about Cloud and, as a techie, get completely frustrated by the lack of consensus about what it all means.  On the other hand, it is clear that consumers and businesses both see alot of potential value in Cloud.  Daniels does an excellent job in this interview of explaining that value, from both consumer and enterprise perspectives.  He does it without getting into the nuts &amp;amp; bolts of what a Cloud is (which is good, because it's easy to get bogged down there) and, to his credit, without too much boosting of HP products &amp;amp; services.&lt;br /&gt;&lt;br /&gt;Daniels' sees the cloud as the intersection of utility computing (resources on-demand) with SOA (loosely coupled application architecture) and Web 2.0 (pervasive accessibility and social experience).  He pulls it together in a very compelling way and with some good examples that left me wondering whether I've fully understood the implications of Cloud.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-791186478268326972?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/791186478268326972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/clouds-without-nuts-bolts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/791186478268326972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/791186478268326972'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/clouds-without-nuts-bolts.html' title='Clouds without the nuts &amp; bolts'/><author><name>bblainey</name><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><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-79786478599242442</id><published>2009-02-06T15:08:00.000-08:00</published><updated>2009-02-06T15:15:50.549-08:00</updated><title type='text'>GPUs in popular culture?</title><content type='html'>I think now I've seen it all.  NVidia &lt;a href="http://www.charlierose.com/view/interview/10060"&gt;hocking graphics processors on Charlie Rose&lt;/a&gt;.  I may be one of maybe 5% of Charlie's audience who actually understood what the heck Huang was talking about, or even cared! &lt;br /&gt;&lt;br /&gt;But it is interesting that a discussion of parallel computing actually gets air time like this.  Rose is a bit of a technophile and this is PBS but, still, a program that features both multicore processors and LL Cool J is not something I expected to ever see :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-79786478599242442?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/79786478599242442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/gpus-in-popular-culture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/79786478599242442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/79786478599242442'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/gpus-in-popular-culture.html' title='GPUs in popular culture?'/><author><name>bblainey</name><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><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-2492934078123120735</id><published>2009-02-06T04:58:00.000-08:00</published><updated>2009-02-06T05:35:47.133-08:00</updated><title type='text'>Scalability matters</title><content type='html'>The &lt;a href="http://www.gartner.com/DisplayDocument?ref=g_search&amp;amp;id=806412"&gt;Gartner report&lt;/a&gt; on multicore architectures &amp;amp; server scaling has generated a &lt;a href="http://www.techworld.com/opsys/news/index.cfm?RSS&amp;amp;NewsID=110241"&gt;bit&lt;/a&gt; &lt;a href="http://www.theregister.co.uk/2009/01/29/gartner_counts_cores/"&gt;of&lt;/a&gt; &lt;a href="http://news.cnet.com/8301-1001_3-10151808-92.html"&gt;buzz&lt;/a&gt; recently.  I agree with &lt;a href="http://dcsblog.burtongroup.com/data_center_strategies/2009/02/its-the-end-of-the-world-as-we-know-it.html"&gt;Nik Simpson&lt;/a&gt; that much of the coverage of this issue is sensationalized, partly due to the fear of the unknown and partly due to some none-too-subtle fear mongering by those who stand to &lt;a href="http://www.cilk.com/multicore-blog/bid/8348/The-Economy-versus-Multicore"&gt;gain&lt;/a&gt; or &lt;a href="http://www.intel.com/multi-core/"&gt;lose&lt;/a&gt; alot from the transition toward parallelism.  Nik is also correct that software developers will focus on the platforms they know they need to support and, when new, more parallel machines are available, they will adapt. &lt;br /&gt;&lt;br /&gt;However, an important point made in the Gartner report is that enterprise IT doesn't much like upgrading software and hardware at the same time.  Well, in reality, they don't much like upgrading at all if they can avoid it but trying to change too much at once is often a recipe for disaster.  The point made in the Gartner report is that, to the extent that new software is needed to get value out of new hardware, this will inject a new source of risk into adopting new hardware.  Historically, this has not been such a big problem because old software could generally ride the wave of frequency scaling without modification but, as we all now know, that gravy train is no longer in service.  Logically, then it follows that software that is prepared to scale with new systems over a fairly long period of time (many years) without substantial modification will offer compelling value over software that needs a brain transplant every time a new, more parallel system  arrives at the loading dock. &lt;br /&gt;&lt;br /&gt;So what does that mean for software developers?  It means that we need to think as hard about scalability as we do about reliability and security.  People rarely question "over engineering" in those areas (at least in the enterprise applications or middleware space) because they are so critically important.  I assert that now scalability is in the same category.  A business that can't exploit the latest systems will fail to exploit cost sand energy savings and possibly fail to capture growth opportunities because their applications can't keep up to demand.&lt;br /&gt;&lt;br /&gt;I'll write more about this scalability challenge in the future.  For now, the important thing is not to panic.  Multicore is a geometric growth trend like frequency was before it but we do have time to get the software right and there is plenty of help and tools available to get the job done.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-2492934078123120735?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/2492934078123120735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/scalability-matters.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/2492934078123120735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/2492934078123120735'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/scalability-matters.html' title='Scalability matters'/><author><name>bblainey</name><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><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-4254256669203538269</id><published>2009-02-05T17:56:00.000-08:00</published><updated>2009-02-05T18:00:23.231-08:00</updated><title type='text'>Obama continues to be a study in leadership</title><content type='html'>"I made a mistake" was the headline of &lt;a href="http://www.cnn.com/2009/POLITICS/02/03/obama.qanda/#cnnSTCVideo"&gt;this Anderson Cooper interview&lt;/a&gt; of President Obama.  It's worth watching just to see how masterfully he admits an error and moves on.  The result is that the interview is not about Daschle at all but about substantial policy issues.  It made me think of times when I've hesitated to admit a mistake and how that has resulted in damaged trust.  Heck, if the President of the United States can admit his errors and move, then anyone can!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-4254256669203538269?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/4254256669203538269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/obama-continues-to-be-study-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/4254256669203538269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/4254256669203538269'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/02/obama-continues-to-be-study-in.html' title='Obama continues to be a study in leadership'/><author><name>bblainey</name><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><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-3014679087306424404</id><published>2009-01-30T20:40:00.000-08:00</published><updated>2009-01-30T21:07:12.353-08:00</updated><title type='text'>debategraph, a very cool collaborative tool</title><content type='html'>You've got to check out &lt;a href="http://debategraph.org/"&gt;debategraph&lt;/a&gt;.  This is one of the coolest collaboration tools I've seen in a while.   It is sort of a cross between a &lt;a href="http://en.wikipedia.org/wiki/Mind_map"&gt;mind map&lt;/a&gt; and a wiki. &lt;br /&gt;&lt;br /&gt;The team that has put this together has focused on creating a forum for public debate that allows multiple arguments to be expressed without one occluding the other.   It also allows the argument to converge on a consensus based on voting.  If you check out the site, you'll see active debates on the &lt;a href="http://debategraph.org/flash/fv.aspx?r=8987&amp;amp;d=2&amp;amp;i=1"&gt;Israel-Gaza situation&lt;/a&gt;, &lt;a href="http://debategraph.org/flash/fv.aspx?r=610&amp;amp;d=2&amp;amp;i=1"&gt;Climate Change&lt;/a&gt;, the &lt;a href="http://debategraph.org/flash/fv.aspx?r=6637&amp;amp;d=2&amp;amp;i=1"&gt;Global Financial Crisis&lt;/a&gt; and many more.&lt;br /&gt;&lt;br /&gt;I wonder, though, how effective an environment like this may be for collaboration vs. debate.  In some ways, it reminds me of the collaborative Jams that IBM has done over the past few years.  In both cases, technology is used to enable mass collaboration but it seems that debategraph may have several advantages, including very slick visualization and navigation of a discussion and real-time updates of the views of the majority of participants through the voting mechanism.  One important behind-the-scenes part of the Jam technology, however, is the ability to run analytics on the jam threads to find relationships and active lines of debate/discussion.  Those analytics are really useful for mining real insights from a discussion potentially involving thousands of participants like &lt;a href="http://www.research.ibm.com/SocialComputing/WorldJam.htm"&gt;World Jam&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I'm looking forward to the day when tools like this become as natural a form of communication as email is today.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-3014679087306424404?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/3014679087306424404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/01/debategraph-very-cool-collaborative.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/3014679087306424404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/3014679087306424404'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/01/debategraph-very-cool-collaborative.html' title='debategraph, a very cool collaborative tool'/><author><name>bblainey</name><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><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-3949387625184988918</id><published>2009-01-29T05:36:00.000-08:00</published><updated>2009-01-29T06:02:22.462-08:00</updated><title type='text'>Do we need broadband investment?</title><content type='html'>Sam Palmisano and groups of other CEOs &lt;a href="http://www.criticalmention.com/vg/intranet/ibm/2009-01-28_cnbc_1128_palmisano.wmv"&gt;met yesterday&lt;/a&gt; with President Obama.  It is clear now that the President and Palmisano are on the same page when talking about updating infrastructure for energyeucation, healthcare and transportation, as I had &lt;a href="http://bblainey-a.blogspot.com/2009/01/canadian-watches-washington.html"&gt;inferred from the inauguration speech&lt;/a&gt;.  The claim is that this set of investments can create 1,000,000 jobs.  If true, and if those jobs are sustainable, that is a remarkable contribution to climbing out the economic recession.&lt;br /&gt;&lt;br /&gt;There are dissenters of course, even on an issue like broadband that seems on the surface to be so obviously valuable.  Steve Wildstrom at Business Week &lt;a href="http://www.businessweek.com/the_thread/techbeat/archives/2009/01/broadband_stimu.html"&gt;makes the point&lt;/a&gt; that there will be diminishing returns to either driving toward 100% penetration of broadband or pushing for higher speeds on existing broadband connections.  I'm sure that is true at some point but penetration sits at just 25% today so I doubt that diminishing returns will kick in until we get far north of 80%.  Also, we really need to look at the definition of "broadband" as used in &lt;a href="http://www.oecd.org/document/54/0,3343,en_2649_34225_38690102_1_1_1_1,00.html"&gt;OECD reporting&lt;/a&gt;.  Any connection that delivers more than 256Kbps is considered "broadband".  Steve makes the valid point that 100Mbps is overkill but 4-8Mbps isn't.  In fact, it's getting darn close to necessary to participate in the emerging internet of rich digital media.  Will it be necessary to push to higher rates?  Maybe.  But let's get most people up to the 4-8Mpbs range and then worry about it.  In terms of global competitiveness, the US sits at 15th in broadband penetration.  Not too bad I guess (Canada is faring a bit better at 10th).  However, the penetration is Korea and in the Nordic countries is far higher.  Furthermore, the fibre penetration in Korea and Japan is far greater than any other country.  In the US, it is almost zero.&lt;br /&gt;&lt;br /&gt;So I respectfully disagree with Mr. Wildstrom (even though I am a loyal reader and listener).  The US and most of the major Western economies had better start catching up with internet infrastructure or they will find themselves pushed out of the internet economy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-3949387625184988918?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/3949387625184988918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/01/do-we-need-broadband-investment.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/3949387625184988918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/3949387625184988918'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/01/do-we-need-broadband-investment.html' title='Do we need broadband investment?'/><author><name>bblainey</name><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><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-525661288258479786</id><published>2009-01-20T19:32:00.000-08:00</published><updated>2009-01-20T20:03:15.365-08:00</updated><title type='text'>A Canadian watches Washington</title><content type='html'>A &lt;a href="http://abcnews.go.com/Video/playerIndex?id=6690067"&gt;historic day&lt;/a&gt; for America and for the world!  I am Canadian and proud of it but no country has a closer relationship with America so this day is special and significant for us as well. &lt;br /&gt;&lt;br /&gt;The inaugural was full of hope and confidence as it should be and is just words as any speech is but words can move people and nations and I hope today's words will.  The focus on traditional American, ultimately puritan values is exactly the right way to unify divisive factions in the country and maybe even inspiring enough for those in conflict or oppressing populations across the world to take notice that America is changing.  Of course, actions are what matter so I can't wait to see what Obama will do with this mandate.&lt;br /&gt;&lt;br /&gt;Technology figured in the inaugural as well.  Obama said:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The state of the economy calls for action, bold and swift, and we will act - not only to create new jobs, but to lay a new foundation for growth. We will build the roads and bridges, the electric grids and digital lines that feed our commerce and bind us together. We will restore science to its rightful place, and wield technology's wonders to raise health care's quality and lower its cost. We will harness the sun and the winds and the soil to fuel our cars and run our factories. And we will transform our schools and colleges and universities to meet the demands of a new age. All this we can do. And all this we will do.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I think it is remarkable how similar this commitment is to the &lt;a href="http://online.wsj.com/article/SB123120010817055565.html"&gt;advice&lt;/a&gt; offered by IBM CEO Sam Palmisano:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;$30 billion in government investments in expanding broadband access, computerizing health-care records and improving the electrical grid could create more than 900,000 U.S. jobs.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Smart grids.  World-class broadband.  Digitized healthcare records. &lt;br /&gt;&lt;br /&gt;These are all elements of the &lt;a href="http://www.ibm.com/ibm/ideasfromibm/us/smartplanet/20081106/index.shtml"&gt;Smarter Planet&lt;/a&gt; vision.  They are all also priorities for Canada.  I remember the excitement within IBM when Palmisano made the &lt;a href="http://www.cfr.org/publication/17696"&gt;speech&lt;/a&gt; to the Council on Foreign Relations.  Why were IBMers excited and why are so many still charged up about this?  Because it is a promise that we will use this opportunity of an economic recession to invest in growth in the future.  Obama is making the same promise about the country that Palmisano made about IBM:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The state of the economy calls for action, bold and swift, and we will act - not only to create new jobs, but to lay a new foundation for growth.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-525661288258479786?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/525661288258479786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/01/canadian-watches-washington.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/525661288258479786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/525661288258479786'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/01/canadian-watches-washington.html' title='A Canadian watches Washington'/><author><name>bblainey</name><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><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-335883744691491292</id><published>2009-01-13T15:45:00.000-08:00</published><updated>2009-01-13T15:59:05.163-08:00</updated><title type='text'>Who has multicore fatigue?</title><content type='html'>I follow processor and system architecture pretty closely so may be more vulnerable to fatigue but I'm guessing a lot of you are sick and tired of being lectured about the dark clouds of multicore gathering over the IT industry.  This &lt;a href="http://www.ddj.com/hpc-high-performance-computing/212900103"&gt;most recent article&lt;/a&gt; in Dr. Dobbs, while reasonably accurate, is like so many before it - almost bereft of hope! &lt;br /&gt;&lt;br /&gt;The fact that our processors and computer systems are becoming more parallel is fundamentally a very good thing.  We are getting much more improvement in each generation in performance per dollar and per watt than ever before.  Yes, it will be a pain for some software to adapt.  Yes, we will need new tools.  Yes, programmers will need to learn a few new tricks.  But please stop the gloomy lectures and prognostications!&lt;br /&gt;&lt;br /&gt;Computers are evolving, as ever, into more and more capable and efficient thinking machines.  We will not only adapt our software to parallelism, we will find ways to harness this new capability in remarkable new ways.  More and more of the repetitive details of our everyday and business lives will be automated.  New treatments and cures will be found for human diseases.  We will learn much more about how to repair our ailing planet.  Those are the things that matter, not the fact that we'll need to add a course or two to the typical computer programming degree.&lt;br /&gt;&lt;br /&gt;Multicore:  Get over it and start innovating!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-335883744691491292?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/335883744691491292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/01/who-has-multicore-fatigue.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/335883744691491292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/335883744691491292'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/01/who-has-multicore-fatigue.html' title='Who has multicore fatigue?'/><author><name>bblainey</name><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><entry><id>tag:blogger.com,1999:blog-9195678525396038175.post-5466999072030931540</id><published>2009-01-12T08:52:00.000-08:00</published><updated>2009-01-12T09:32:16.434-08:00</updated><title type='text'>Is a smarter planet a less secure planet?</title><content type='html'>I was taken a bit by surprise when I heard &lt;a href="http://en.wikipedia.org/wiki/John_Michael_McConnell"&gt;Michael McConnell&lt;/a&gt; (soon to be ex-Director of National Intelligence) list cyber-attack as a weapon of mass destruction (alongside nuclear and biological) in a recent &lt;a href="http://www.charlierose.com/view/interview/9903"&gt;interview with Charlie Rose&lt;/a&gt;.  Of course, this theme of pervasive computerized control being vulnerable to attack has been done and redone in popular media, from the latest &lt;a href="http://www.imdb.com/title/tt0337978/"&gt;Die Hard&lt;/a&gt; flick to the more recent &lt;a href="http://www.imdb.com/title/tt1059786/"&gt;Eagle Eye&lt;/a&gt; and, it appears, the most recent installment of &lt;a href="http://www.fox.com/24/"&gt;24&lt;/a&gt;.  However, it really is a different matter when the DNI stays awake at night thinking about it.&lt;br /&gt;&lt;br /&gt;So how real is the threat?  Well, there is &lt;a href="http://www.psycom.net/iwar.1.html"&gt;no shortage of study&lt;/a&gt; in this area, although it seems that most of the work has been focused on the potential for damage, theft and espionage as a result of unauthorized access to critical information on goverment or commercial information systems.  That threat is real and, while perhaps more likely to be perpetrated by criminals than hostile governments or terrorists, it is an important element of national defense.  However, an even larger threat emerges as the idea of a &lt;a href="http://www.asmarterplanet.com/"&gt;Smarter Planet&lt;/a&gt; becomes reality.  The idea of the smarter planet is that, as the physical world becomes subject to ever more pervasive digital monitoring and control and those sensors and actuators become networked over the internet, much greater efficiency can be achieved and the data that is produced can result in new value.  Indeed, IBM has been &lt;a href="http://online.wsj.com/article/SB123120010817055565.html"&gt;advising the Obama transition team&lt;/a&gt; on the merits of IT infrastructure investments in the upcoming stimulus package, notably including $10B for "smart-grid infrastructure" (referring here to the electrical grid).&lt;br /&gt;&lt;br /&gt;So, is a smarter planet a less secure planet?  Clearly, this is not necessarily the case and there are many diligent security specialists that will be part of this ongoing rollout of digital control.  However, like any area that is new to computerization, there are fundamental misunderstandings about what it means to be secure.  For example, &lt;a href="http://www.google.ca/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fwww.blackhat.com%2Fpresentations%2Fbh-federal-06%2FBH-Fed-06-Maynor-Graham-up.pdf&amp;amp;ei=EXtrSb2TOpDWMc_1xJ4H&amp;amp;usg=AFQjCNFRUQ9fE89kQlpK2hVFeasjEMI6CA&amp;amp;sig2=ymD2zPavjT8-kINVNb9KWQ"&gt;this report&lt;/a&gt; on threats to &lt;a href="http://en.wikipedia.org/wiki/SCADA"&gt;SCADA&lt;/a&gt; systems concludes that industrial users of SCADA fail to properly implement authentication, have no established practice of updating systems to defend against newly discovered vulnerabilities and are in a state of denial about the connectivity of their systems to the internet.  Furthermore, most threat assessments have been done assuming the current level of monitoring and automation of physical infrastructure which, while substantial, can be expected to dramatically increase (if one believes in the Smarter Planet ideas) in capability and connectedness in coming years.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9195678525396038175-5466999072030931540?l=bblainey-a.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bblainey-a.blogspot.com/feeds/5466999072030931540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bblainey-a.blogspot.com/2009/01/is-smarter-planet-less-secure-planet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/5466999072030931540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9195678525396038175/posts/default/5466999072030931540'/><link rel='alternate' type='text/html' href='http://bblainey-a.blogspot.com/2009/01/is-smarter-planet-less-secure-planet.html' title='Is a smarter planet a less secure planet?'/><author><name>bblainey</name><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>
