<rss version="2.0">
  <channel>
    <title>Dennis Forbes on Software and Technology</title>
    <link>http://www.yafla.com/dforbes/</link>
    <description></description>
    <lastBuildDate>Sat, 04 Jul 2009 11:33:25 GMT</lastBuildDate>
    <language>en-us</language>
		
		<item>
		  <title>Web Workers and You - A Faster, More Powerful JavaScript World</title>
		  <link>http://www.yafla.com/dforbes/Web_Workers_and_You__A_Faster_More_Powerful_JavaScript_World/</link>
		  <guid>http://www.yafla.com/dforbes/Web_Workers_and_You__A_Faster_More_Powerful_JavaScript_World/</guid>
		  <pubDate>Fri, 26 Jun 2009 04:45:01 GMT</pubDate>
		  <description><![CDATA[<h4>Web Worker Benchmark - Moonbat</h4>
<p>If you&#39;re running Firefox 3.5 or Safari 4, take a look at the <a href="http://www.yafla.com/dforbes/resources/moonbat/moonbat-driver.html">&quot;benchmark&quot;/technology demo I just put up</a>. [Safari 4 compatibility added based upon the great comment submitted by Oliver]</p>
<p>It's a modified variant of the SunSpider benchmark that <a href="http://www.yafla.com/dforbes/Benchmark_Driven_Development">I've written about before</a> (in less than flattering terms), which I 
    heavily altered to utilize the remarkable new <a href="http://www.whatwg.org/specs/web-workers/current-work/">Web Worker</a> functionality you <a href="https://developer.mozilla.org/En/Using_DOM_workers">can now 
    explore in Firefox 3.5</a>. If you're really analyzing performance, be sure to disable Firebug as it significantly impacts the results.</p>
<p><img src="http://gears.google.com/images/logo_153x43.gif" alt="Google Gears" style="width:153px;height:43px;padding:10px;float:right;" /><a href="http://www.whatwg.org/specs/web-workers/current-work/">Web Workers</a>, a standardization of a feature of <a href="http://gears.google.com/">Google Gears</a>, are a remarkably simple method of multi-threading JavaScript, not just to get it out of the UI thread &mdash; where it can be very detrimental to the user experience as the interface freezes while a script runs &mdash; but also to scale across multiple CPUs and cores on modern PCs, which while seemingly a ridiculous notion ("but it's just JavaScript! Multithreading?") is becoming a real concern as the JavaScript engines continue to advance and the usage and scope of the language and related technologies continue to expand.</p>
<p>Through a simple, synchronized message passing system and a minimalist API, the Web Workers model lends itself to robust, 
    elegant code that isn't as prone to classic multi-threading pitfalls. While not a part of the current instantiations, in a theoretical implementation there is no reason why web workers couldn't be located on entirely different machines, 
    given that each worker is essentially an isolated runtime, sharing very little (the navigator properties and some basic security info for things like enforcing XmlHttp restrictions), communicating via serialized messages.</p>
<h4>Understanding the Benchmark</h4>
<p>The benchmark/technology demo is operational in Chrome, Opera, and Internet 
    Explorer, but only if you change Web Workers to 0. In that case it is 
    sequentially running the set of tests in the main thread, as JavaScript has traditionally been run. I didn&#39;t intend for this to be used for cross-browser comparisons, even if I resort to presenting just such a comparison at the end of this entry, and instead the focus is really on the technology, so the 
    real &quot;power&quot; is seen once you start to turn up the web worker dial, all the way 
    to 11.</p>
<p><img src="http://www.yafla.com/dforbes/resources/images/safari_logo.gif" alt="Safari" style="width:50px;height:50px;padding:10px;float:right;" />Web worker multithreading isn't limited to Firefox 3.5. Oliver left a comment pointing to a Safari-ready variant he threw up, so I modified the test accordingly (the difference being that when Safari implemented it, it didn't intrinsically include JSON encoding, so your caller and receiver had to do that themselves). I didn't realize that Safari had covered this ground, though it isn't shocking given how rapidly that browser has been advancing.</p>
<p>With one web worker, the UI remains fully responsive to user interaction, which 
    is an experience quite unlike what was seen at 0 (where the browser essentially 
    locks up during the run), and the actual run itself suffers little for the 
    isolation. On a quad-core CPU, the CPU usage during the duration of the test 
    cycle fluctuates around approximately 25%.</p>
<p>At two web workers, the individual tests take slightly longer to run, however the 
    actual completion and pace of the tests in the whole is greatly improved. Not 
    quite a halving of the runtime, but not too far off. Two cores are saturated 
    during the duration of the test.</p>
<p>At three web workers, three of the cores are filled with work, and the total 
    elapsed time improves somewhat, albeit not by the ratio that correlates with the 
    50% increase in computation power.</p>
<p>At four web workers, we&#39;ve tapped out the parallelism and despite all four cores 
    being saturated for most of the duration, the total runtime actually suffers 
    slightly. Going above four doesn&#39;t cost much, but it also brings no real gain 
    (beyond possible algorithm gain isolated various parts of the application).</p>
<p>You can also run a mode where instead of running a modified js directly in the 
    worker thread, the code is passed as a string parameter, eval&#39;d into a function reference, and the function is 
    run. There are some interesting observations to be observed by this test, such as 
    the lack of tracemonkey loop optimizations on eval&#39;d code (see <i>bitwise-and</i> 
    in particular. It suffers dramatically when run as an eval&#39;d function relative 
    to running as literal JavaScript). This surprised me as the eval merely instantiates a function in the current context, but doesn't run it, yet the performance penalty remains because it was sourced from an eval.</p>
<p>Here are some results for 1-8 threads, running 10 cycles of each test, gathering the total elapsed time in Safari 4 and Firefox 3.5 RC2. This was run on a quad-core Q9400 machine, and of course your mileage will vary. While it is evident that Firefox 3.5 is using more of the available processing power as you move past 1 thread, with it increasing from 25%, 50%, 75%, to 100% at 1, 2, 3, and 4 threads respectively, it doesn't fully benefit from the additional resources, yielding a greatly diminished rate of return. Safari, on the other hand, already started with a considerable lead, and it pulled away with each thread up to the optimal 4, really hitting its stride.</p>
<p style="text-align: center;"><img src="http://www.yafla.com/dforbes/resources/images/multithreaded_performance.png" alt="Multiple threads in Safari and Firefox 3.5" /></p>
<p>I&#39;ll add some charts and the like to this entry later, but just thought I&#39;d drop a line 
    on that demo of a very promising technology that will soon see fairly robust deploymet (one huge benefit of Firefox -- shared by Chrome and Opera -- is that the uptake rate for new versions is extremely high).</p>
]]></description>
		</item>
		
		<item>
		  <title>The Remarkable Complexity of Modern Web Browsers</title>
		  <link>http://www.yafla.com/dforbes/The_Remarkable_Complexity_of_Modern_Web_Browsers/</link>
		  <guid>http://www.yafla.com/dforbes/The_Remarkable_Complexity_of_Modern_Web_Browsers/</guid>
		  <pubDate>Thu, 25 Jun 2009 21:32:03 GMT</pubDate>
		  <description><![CDATA[<p><em>This entry is just a lead-in to the next entry that'll be about an exciting technology in Firefox 3.5. I didn't want to bloat up that entry with my parentheticals and rants, so just wanted to get that out of the way here.</em></p>
<h4>Firefox 3.5 – You Should be Trying It</h4>
<p>Have you
tried out <a href="http://www.mozilla.com/en-US/firefox/all-beta.html">Firefox
3.5</a> yet? It’ll happily install side-by-side, so there’s very little risk giving it a spin.</p>
<p>While
currently a Release Candidate, it is already supported by most popular add-ins,
such as Firebug and Adblock Plus, and brings a bounty
of new functionality, more comprehensive emerging standards support, all while
improving performance.</p>
<p>Performance has never been Firefox’s strong suit. While some incorrectly believe that
Firefox has just recently been overtaken by upstarts like Webkit
and its bastard child Chrome – the lore being that Firefox’s creaky “old”
legacy code is not as nimble as the newer projects – the truth is that Firefox
has always been a performance laggard compared to all but Internet Explorer.</p>
<p>It has
always used more memory, done things more slowly, with benchmarking and
resource consumption metrics that seldom earned it praise. The history of
Firefox (aka Mozilla Suite, Phoenix and Firebird) is a tortured legacy littered
with complaints about slow start-up times, a slow page layout engine, massive
memory consumption, and middling JavaScript performance.</p>
<p>These are the
costs of building on the <a href="http://en.wikipedia.org/wiki/XUL">XUL abstraction</a>, along with some expensive add-on
scaffolding. The ability for an add-on to dramatically change the behaviour of
the browser (all from within a world of JavaScript and chrome) isn’t just an
accidental happenchance, but instead is the result of considered, pervasive design
choices.</p>
<h4>The EU Fines Opera for Their Monopolistic Browser Stranglehold</h4>
<p>If a small
footprint and snappy response were the keys to success, Opera would have taken
the market by storm given that it’s been evangelizing and focusing on that
pursuit, to a great degree of technical success and leadership, for well over a decade now. Yet most users care more about a slightly
better bookmark manager than they do about even magnitude differences in JavaScript
performance.</p>
<p>But
performance does matter. As web applications grow richer and more elaborate, the
weakest of the contenders will get pushed out of the race. Already web
applications like Slashdot and Facebook are getting
unpleasant with a few of the current contenders, yet some of the new features
of standards like HTML 5 promise dramatic new functionality that will
completely blow the top off of the domain restrictions of the browser world.</p>
<p>So with
recent releases the Firefox crew has reduced the toll you have to pay for these
architectural choices, and through a lot of hard work it’s getting to
be a memory lightweight, as far as web browsers go, and performance has
improved across the board, sometimes dramatically.</p>
<h4>Your Browser Is a
Remarkably Complex Software Product</h4>
<p>And to
sidetrack for a moment about a personal peeve, let me kick down the frequent
whiners’ complaint that it’s “just a web browser”. Every time someone make such an ignorant,
misinformed statement -- usually during some entitled complaint about resource
consumption on their obsolete PC -- I think a universe blinks out of existence
in some alternate reality.</p>
<p>There is
very likely nothing that you do on your PC that is as rich and complex as the
things that you’re doing right now just browsing the web. It’s isn’t “just a
web browser”, it should be “I
can’t believe how much is happening for me to loll around on the web for a bit!”.</p>
]]></description>
		</item>
		
		<item>
		  <title>The Internet is a Series of Tubes and You Don't Have a Dedicated Connection</title>
		  <link>http://www.yafla.com/dforbes/The_Internet_is_a_Series_of_Tubes_and_You_Dont_Have_a_Dedicated_Connection/</link>
		  <guid>http://www.yafla.com/dforbes/The_Internet_is_a_Series_of_Tubes_and_You_Dont_Have_a_Dedicated_Connection/</guid>
		  <pubDate>Fri, 19 Jun 2009 12:59:18 GMT</pubDate>
		  <description><![CDATA[<p>It’s hard to believe that <a href="http://slashdot.org/">Slashdot</a>
has been around for over a decade.</p>
<p>Taking a couple of paragraphs to reminisce, I signed up for
a Slashdot account not long after the<a
href="http://meta.slashdot.org/article.pl?sid=07/10/02/1553218"> site opened
for business</a>. Following my normal tradition at the time, I suffixed my newly
created account with the two-digit year of creation, in that case 98. It was an easy way to choose account names that were less
likely to be rejected as already in use.</p>
<p>I didn&#39;t imagine that I&#39;d be using the same account over a decade later, so now I have a nick that makes
me look like I’m pretending to be an eleven year old (if you ignore the 4-digit
user ID, it is conceivable that an eleven year old might visit Slashdot).</p>
<p>I didn’t join the ranks of Slashdot to cheerlead Linux and
open source, despite it being <a
href="http://web.archive.org/web/19981111190256/http:/slashdot.org/">the overwhelming
    direction of the site at the time</a>. </p>
<p>My intentions were much less idealistic. </p>
<p><a href="http://www.flickr.com/photos/dforbes/3400985047/" title="DSC03277 by dennis_forbes, on Flickr" style="padding:5px" ><img align="right" src="http://farm4.static.flickr.com/3586/3400985047_9d376fb5cd_m.jpg" width="240" height="161" alt="DSC03277" /></a>I actually signed up to troll a co-worker: a
Linux-loving long-haired hippy named Warren Postma.
The guy was always going on about the greatness of open source software and the
related initiatives, about the evils of Microsoft and closed-source, and so on, and
of course he was an early fan of Slashdot.</p>
<p><i>[Over time I came to
appreciate that much of what he had to say was right on the money, and in
reality he was one of the best developers I’ve had the pleasure of working with.</i></p>
<p><i>And he wasn’t really
long-haired or a hippy, though maybe my perception imagined him that way at the
time, what with all the free-software rhetoric]</i></p>
<p>That was an era when being up on the latest meme was a lot more difficult, so a 
    site like Slashdot was a welcome source, allowing you to knowingly declare that 
    you&#39;d already seen the dancing baby when a less-connected co-worker gets it 
    emailed to them and comes over acting all connected-like. Though to be fair Slashdot came a little late to give a heads up of the 
    dancing baby craze, but it was there for All Your Base Natalie Portman hot grits, though along the way to enlightment came some less appealing memes involving tubs and goats.</p>
<p>Slashdot no longer fills the industry-dominating position that it once did (where 
    being &quot;Slashdotted&quot; was a term used in the mainstream press) &mdash; I suspect it has 
    more to do with its competitors pandering to the common, all degrading 
    eventually to funny pictures, &quot;facepalms&quot; and non-stop political posturing and 
    claims of oppression, with sites like Digg and later Reddit escaping from the technology 
    ghetto, while Slashdot remained chained to its original niche — but it often 
    still has interesting and elucidating discussions throughout its comments, even 
    if the UI of the site continues to grow worse with every passing month. 
    Seriously, guys, the endless page thing was demonstrastably lame on DZone, so 
    why did you think it was a good idea?</p>
<p>So during a moment of mental relaxation yesterday I thought
I’d see what was up in the world of <em>/.</em>, where the top story at the time detailed a congressman’s bill to “Ban ISP caps”. I found the submission hard to
believe, so I <a href="http://arstechnica.com/tech-policy/news/2009/06/congressman-has-a-bill-ready-to-combat-usage-caps.ars">RTFA</a> to find that it had been very poorly interpreted. </p>
<p>What the congressman really proposed is more of a fee
oversight body similar to those that many utilities have to work
within.</p>
<p>Here in Canada the monopoly phone companies, for instance,
have to apply to the CRTC every time they want to change fees (whether to
increase or decrease) or service levels, justifying why they need to make those
changes. Of course they’ve always been grotesquely profitable, and seldom get
denied their desires (except, humorously, when it came to reducing fees to
compete better against new upstarts), but just pretend that such bureaucracies make
them more competitive or accountable or economical or something.<a href="http://www.flickr.com/photos/dforbes/3407650938/" title="DSC03673 by dennis_forbes, on Flickr" style="padding:5px" ><img align="right" src="http://farm4.static.flickr.com/3600/3407650938_801ef8841b_m.jpg" width="240" height="161" alt="DSC03673" /></a></p>
<p>So I posted a comment
saying that the summary was inaccurate. I also tossed in a little aside about
utilities, drawing from the congressman and the submission’s analogy comparing
ISPs with utilities, speculating that soon ISPs might just switch to a pure
consumption model more analogous with the utilities that they are being compared
to, saying "<em>I don't get carte blanche from the electric company to use it all
for free, complaining that &quot;they provide 20A to the house so I should be
able to use 20A around the clock for free!&quot;.</em>"</p>
<p>I touched a sore spot, which I have to confess to doing
intentionally. Sometimes I can’t help but troll a bit, and given that it’s a
pretty common position on sites like Slashdot that it is a basic human right to
torrent a pipe full around the clock, I thought I’d pick that scab a bit.</p>
<p>I got the typical “the bits are free and the man is just
keeping us down.” variety of responses, including my favourite.</p>
<blockquote><p style="font-style: italic;">
Anyone who is comparing ISPs and bandwidth to
other utilities such as electricity, water, or anything tangible should simply
stop posting&#x2026; immediately. The Internet is not a series of tubes, your
comparisons are invalid, and you are ignorant.</p>
<p style="font-style: italic">Please cease in the proliferation of these ludicrous analogies.</p>
</blockquote>
<p>Ignoring that the utility analogy came directly from the
congressman himself, this comment has made me personally invested in this
spurious analogy, so now I must embrace it with vigour.</p>
<p>And, for that matter, the internet <i>is</i> effectively a <a
href="http://news.cnet.com/8301-13578_3-10076855-38.html">series of tubes</a>,
as fun as it might have been to point and laugh at Mr. Stevens. Those tubes have
a finite capacity, and if you want to push more through, you have to lay more
or “wider” tubes.</p>
<p>Conceptually it isn’t all that different from a power or water network, where many of the same circuit principals apply.</p>
<p>And those “tubes” didn’t magically appear from nowhere. They
aren’t public infrastructure. The internet isn’t free. Bandwidth isn’t free. Throughput
isn’t free. All of it costs money to lay and service, and as demands
grow, there is the <i>capital</i> required
to increase capacity.</p>
<p>So let’s go back to the electricity analogy (even though I
had no intention to draw it out so literally, I’m invested now). </p>
<p>Back to the responses again, a less stupid one said:</p>
<blockquote><p style="font-style: italic">The total amount of power you use
in a month directly affects the amount of fuel a power utility has to burn, 
or the amount of water you consumer affects how much water the utility has to treat. Bits on a connection aren't like that. If you
don't use a bit on their fibre link to the backbone, that doesn't leave them with an extra bit, and if you use a bit, the next one is coming at the same time and same cost anyway.</p>
</blockquote>
<p>Fair point. When you use electricity, the variable costs increase.
When you use water they have to buy a little more chlorine and pay the electric
company to run the pumps.</p>
<p>Yet here in Ontario <a
href="http://www.mei.gov.on.ca.wsd6.korax.net/english/energy/electricity/index.cfm?page=nuclear-electricity-supply">most
of my electricity</a> comes from either hydro-electric (our power company was
historically called “Ontario Hydro”, causing confusion for decades as children tried
to understand why the power company was effectively named Ontario Water), or
nuclear.</p>
<p>The variable costs with either are a small percentage of the
total cost to operate those services, and instead the <i>vast</i> majority of the cost comes in the form of capital expenditure –
what they had to build and maintain to handle the current load, and to handle
tomorrow’s load.</p>
<p>Most of the “conservation” efforts – incremental and
accelerated fees for heavy consumers, and rebates for power saving appliances
and technologies &mdash; have been aimed at avoiding exceeding the gross capacity of
the system right now, because the <a
href="http://www.opg.com/power/nuclear/darlington/d_overview.asp">next step</a>
will cost billions, and it’s not to buy a few more fuel rods.</p>
<p>Nuclear power plants and giant dam projects don’t come cheap;
nor does building a water purification system to service a city of 200,000. It’s
one of those perverse situations where if demand dropped significantly, they’d
actually have to <a
href="http://www.nypost.com/seven/04032009/news/regionalnews/city_to_soak_nyers_with_water_rate_hike_162745.htm">increase
costs</a>.</p>
<p>To wring every last bit of ridiculousness out of this
analogy, imagine that you live in a village of 100 people and @Tesla just twittered
about a cool new tech called electricity.</p>
<p>Hyped about the latest fad, you get a bank loan and put up a
wind generator, connecting it to anyone willing to pay an even split of the costs
(a loan you amortized to get paid off just as the turbine needs replacement,
plus basic maintenance and upkeep).</p>
<p>Your new turbine is spinning around the clock (it’s a very
windy valley near the ocean), putting out a constant 100kW, and everyone is
enjoying their 1kW space heater, all paying their 1/100<sup>th</sup> cost. </p>
<p>Every now and then someone turns on a hairdryer, but it
balances out because other people sometimes turn off their space heater, and in
the end the load can be handled due to its natural distribution.</p>
<p>But then someone decides that they’d also like to run their 5kW
back massager around the clock – you <i>did </i>say
that electricity could be used around the clock, and the wind is free, right?
&mdash; so they crank it up and your system starts to
suffer brownouts and everyone suffers. </p>
<p>You face some tough choices: You can either put a 1kW limit
on everyone (“dedicated” capacity), which would be unfortunate given that most
of your customers benefit from sporadically spiking their load while they use
their motorized hair curler, or you can start charging or limiting only the
outliers, maybe targeting the growing trend of back massagers specifically,
putting limiters on that specific use of your power.</p>
<p>Or you can add capacity.</p>
<p>So you decide to do the latter in the most cost-effective way, arranging a power
sharing agreement with a neighbouring village: When you have left over capacity
you send it to them, and they do the same in return. </p>
<p>It all balances out, and everything is fine in the world
again, and that one customer gets to enjoy his back massager, essentially
freeloading on the standard customer load.</p>
<p>But then another user decides that he, too, might as well
get a back massager. And then another. And then another.</p>
<p>The neighbouring village starts rethinking the power sharing
agreement because it is <a
href="http://www.pcworld.com/businesscenter/article/153123/sprintcogent_dispute_puts_small_rip_in_fabric_of_internet.html">no
longer serving both partners equally</a>. They demand either payment for their
inconvenience, or they’re going to sever the line.</p>
<p>So now, despite the fact that there is “no cost” for each incremental
kW, the village is faced with a massive capital (or loan servicing) cost of putting
up another wind turbine.</p>
<p>This is grossly simplified, as analogies often are (and there are countless similar scenarios, from toll roads to bridges to movie rentals&#x2026;this is like beginner economics, but so many are so blissfully ignorant of it), but there
are a lot of parallels with internet backbones, where end-users are getting 10Mbps connections to a <i>grossly</i> oversold network at a heavily discounted price. Any delusion that there’s some 10Mbps dedicated channel available for every subscriber is absurd. Go and buy a commercial dedicated T1 at 1/6<sup>th</sup>
the speed and see how the pricing stacks up.</p>
<p>Consider that my little suburban town has about 50,000 high
speed customers, all with 10Mbps service. If we all used our throughput, <b
>this single town would be a 400Gbps load on
the network</b>. Try laying a 400Gbps city wide network, much less province
wide, much less country wide, much less continent wide, much less&#x2026;that is an enormously expensive proposition.</p>
<p>This is the <i>reality</i>
of the internet today. Maybe the backbones <i>should
</i>be a public bit of infrastructure, with massive, limitless pipes from coast
to coast, but that isn’t currently the case. If people want to argue for that –
I think a next generation, coast-to-coast Canada backbone would be a great project
for some of those stimulus billions &mdash; then they
should argue for that.</p>
<p>Things are getting better. There are billions of dollars constantly
being spent improving the backbone of the net (YouTube and Hulu today alone today account for <a
href="http://www.cisco.com/en/US/solutions/collateral/ns341/ns525/ns537/ns705/ns827/white_paper_c11-512048.html">more
traffic</a> than the entire backbone could handle in 2000), and I’m sure in a
few years we’ll all being using our 1Gbps connections to play a <a href="http://videogames.yahoo.com/feature/new-tech-could-make-consoles-obsolete/1299562">live-streamed 1080p
never-obsolete video game system</a>.</p>
<p>I have no desire to defend ISPs, or to support some of the
various tactics they have pursued (traffic shaping, for instance, is not at all
justifiable, nor should a carrier care or restrict which sites you visit, trying to monetize the fact that you visit Hulu, or trying to extort Google. Restrict or charge based on the throughput, not specific uses of
it that should be none of your concern), but some of the rhetoric on this topic
is just so absurdly ridiculous, and can only be drawn from the delusions of
self-serving fantasy.</p>
<p>The denial of the reality of overselling and fair use is how we end up with traffic shaping, or stupid constraints like cellular carriers refusing to allow uses like <a href="http://www.macblogz.com/2009/01/09/iphone-tethering-att-may-shock-us-all-and-charge-10/">tethering</a> (which is because they rely upon most of their customers 
not using their "alloted" throughput, and tethering would completely throw off that assumption. I'd rather they base all of it around actual usage and cease trying to indirectly massage usage through unnecessary secondary restrictions and throttles.
</p>
<p>The standard tripe
about how one’s usage somehow only ever uses excess capacity (is there some “only
if available” NoQuality-of-Service bit?), where people
assume that their actions somehow exist in a vacuum of inconsequence, unbound
by the limits or constraints of anyone else, offends common sense.</p>
]]></description>
		</item>
		
		<item>
		  <title>The Upside of Cameras Everywhere and The Case of Victoria Stafford</title>
		  <link>http://www.yafla.com/dforbes/The_Upside_of_Cameras_Everywhere_and_The_Case_of_Victoria_Stafford/</link>
		  <guid>http://www.yafla.com/dforbes/The_Upside_of_Cameras_Everywhere_and_The_Case_of_Victoria_Stafford/</guid>
		  <pubDate>Mon, 20 Apr 2009 15:22:39 GMT</pubDate>
		  <description><![CDATA[<p><strong>Update</strong>: This case has purportedly had a <a href="http://www.thestar.com/news/ontario/article/639401">tragic, very sad outcome</a>. From the little the police have released &mdash; they have been extremely tight-lipped &mdash; it sounds like the grainy couple of frames from the high school camera up the street were the roots of this entire case (which led them to a suspect, who then led them to a Home Depot video from a city 70km away), without which...who knows where they would be today, or how many more victims the culprits would have claimed. I remain more convinced than ever of the incredible value of pervasive, decentralized monitoring.</p>
<p>Eight year old <a
href="http://www.amw.com/missing_children/brief.cfm?id=64826&amp;refresh=1">Victoria Stafford went missing</a> from the nearby town of Woodstock on April 8th. She had left her school at the end of the day, starting the short walk home alone, but purportedly
never made it.</p>
<p><a href="http://www.youtube.com/watch?v=bY6GQVJz3HE&amp;feature=related">Video from a high school up the street</a> (see the <a href="http://www.youtube.com/watch?v=l6FyN3Ct1Kg">enhanced version</a> as well), discovered the next day, shows Victoria walking with a thus far unidentified female (a sketch, purportedly based upon a witness account, <a href="http://www.canada.com/News/Tori+have+identified+sketch+suspect/1520226/story.html">has been released</a>. Given the sudden appearance of this supposed witness account two weeks later, it seems to be an attempt by the police to put a little pressure on a suspect to see if they break or make a panicky misstep).</p>
<p>The town in question, Woodstock, Ontario, sits on a major highway that goes from Windsor to Toronto and Montreal and beyond, with a nearby branch going to the Buffalo area. It seems noteworthy that Victoria’s public school <a href="http://maps.google.ca/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;ll=43.119499,-80.734406&amp;spn=0.025624,0.071583&amp;t=h&amp;z=15&amp;msid=104672517753853752045.000467c3eadb851c969f2">is a very short distance from an onramp</a>.</p>
<p>I find this case distressing. These things generally don’t turn out well. </p>
<p>Whether the abduction is real or not (there’s a general cynicism about cases like this because of <a href="http://thechronicleherald.ca/News/9010584.html">vile, murderous sociopaths</a> creating a cry wolf situation, leading many to automatically disbelieve), it usually forebodes very bad things.</p>
<p>Of all of the video cameras that blanket our society, the best they’ve got &mdash; at least that they’ve publicly announced &mdash; is the single grainy video from the high school (see the <a href="http://imgur.com/CVAg.png" title="Tori Stafford video coverage">graphic I made of approximately the zone covered by this video</a>, as determined by correlating landmarks with satellite imagery.) There were lots of people around, but history has shown time and time again that people are really, really terrible witnesses of anything, and that seemed to have held true in this case.</p>
<p>Who is the woman in the video? Apparently no one knows.</p>
<p>This has me thinking about pervasive, distributed monitoring. Where in time of need – like an incident like
this (yes, “think of the children”) – swarm media and electronic capture can be combined to zero in on the truth. Preferrably in a way that utilizes the <a href="http://consumerist.com/5211428/consumerist-sleuths-track-down-offending-dominos-store">enormous talent</a> and     <a href="http://blog.peter1402.de/archives/2007/02/04/Crowdsourcing-the-search-for-missing-sailor">load distribution </a>of the public.</p>
<p>High definition video capture is becoming dirt cheap. Solid state storage is rapidly evolving.</p>
<p>I’m not talking about the Big Brother 1984-style of central government monitoring, with the endless pitfalls and abuses that entails, but
rather a situation where almost incidentally most everything is recorded by the public using a distributed array of devices.</p>
<p>It seems inevitable, for instance, that in just a few years every car on the road will have forward and rear facing cameras. The former is already in place on most police vehicles (helping to keep police in line as much as to capture public malfeasance), and the latter is making inroads on large vehicles that are prone to backing over people and things.</p>
<p>Video retention will inevitably come next, under the auspices of road safety (similar to how your car is <a
href="http://www.cbc.ca/news/background/blackbox/">ready and willing to rat on you</a> for speeding if you get in an accident). Soon it won’t be an option, but will be a legal requirement for using the roads.</p>
<p><em>“Sorry, bub, but your car’s video system clearly shows you blowing through that red light. The other guy’s video
system shows that he was in the right.”</em></p>
<p>99.999% of the time the video loops over and is erased and inconsequential and irrelevant, but every now and then it serves an important
purpose in getting to the truth.</p>
<p>Imagine, for instance, that they could put out a call for anyone who drove down that street or that neighbourhood in the time period in
question (presuming they don't already know from telemetrics via systems like OnStar, again soon to be the legal norm as every road becomes a toll road with vehicle self-reporting), from which they got a number of different time and position videos.</p>
<p>Videos of vehicles parked in the vicinity. Of the woman in the white coat waiting.</p>
<p>Add the video capture on private buildings of all sorts (homes, businesses, parking lots, etc). Merge it all together into a exhaustively documented, fact-based accounting of what happened.</p>
<p><a href="http://www.yafla.com/dforbes/Cell_Phones_and_Radioactive_Imaging_Measuring_Flow/">Cellphones</a> of course play a part as well.</p>
<code>SELECT subscriber_name, subscriber_phone_number FROM CellPhoneGPSRecords
WHERE SampleTime BETWEEN 'April 8th, 2009 3:30pm' AND 'April 8th, 2009 4:30pm' AND DistanceFromM(Victoria’s School)&lt;500</code>
<p>Someone premeditating a crime would likely leave their cell phone at home (though I would wager that the woman in the white coat
probably had one on her), or <a href="http://cbs5.com/local/hans.reiser.closing.2.701446.html">disable it in some way</a>, but it would nonetheless allow the net of discovery to close in on the truth. The lack of certain data is often indicative.</p>
<p>Say to contact a guy in the area (via text message of course) and find out that he was in the neighbourhood taking pictures of doors,
and wouldn’t you know it but he happened to have one that has a suspect matching the description walking towards the crime scene 9 minutes before the crime.</p>
<p>That’s if you even need to contact him. Maybe he uploaded his GPS-and-time-tagged photos to Flickr, and a
police investigation entails a photo search, again drawing from the enormous distributed capture that happens every day.</p>
<p>It is neither a utopia nor a dystopia, but I think pervasive, distributed, decentralized recording and archiving will be a good thing for society.</p>]]></description>
		</item>
		
		<item>
		  <title>SSDs and JavaScript Speedups: Deeply Disruptive Advances</title>
		  <link>http://www.yafla.com/dforbes/SSDs_and_JavaScript_Speedups_Deeply_Disruptive_Advances/</link>
		  <guid>http://www.yafla.com/dforbes/SSDs_and_JavaScript_Speedups_Deeply_Disruptive_Advances/</guid>
		  <pubDate>Sat, 21 Mar 2009 15:44:10 GMT</pubDate>
		  <description><![CDATA[<p>We recently decided to beef up a solution's storage platform. What would have been a simple process just a few months earlier &mdash; select a storage subsystem, whether it be <a href="http://www.yafla.com/dforbes/SAN_NAS_and_iSCSI_SQL_Server">NAS, SAN, or DAS</a>, and then populate it with a bundle of drives to meet the performance and space needs &mdash; became a serious quandary. We're still in limbo, unsure what to do.</p>
<p>Should we bother paying out big dollars for arrays of magnetic drives, or should we push the envelope and go with an array of SSDs? Should we wait a while? Will our vendors and the storage systems support this technology? Will existing products make optimal use of it? Will the SSDs burn out under our usage models?</p>
<p>Dell, for instance, still has nary a mention of SSDs in their servers and storage products site. Their reps still telling you that SSDs are unsupported.</p>
<p>Yet the <a href="http://it.anandtech.com/IT/showdoc.aspx?i=3532">evidence is obvious</a> that in the year ahead SSDs are going to absolutely annihilate the existing field of storage vendors. Suddenly "outsiders" like <a href="http://www.tomshardware.com/reviews/intel-x25-e-ssd,2158.html">Intel</a> (now really known for storage products) and <a href="http://gizmodo.com/5168424/fusion+io-iodrive-duo-is-the-worlds-fastest-ssd">Fusion-Io</a> are the leaders, making the existing market look like a bunch of chumps. Paying big dollars for a large array of magnetic drives seems like a choice that will certainly yield some serious buyer's regret a few months down the line.</p>
<p>SSDs change everything.</p>
<p>In a similar way, the extraordinary advances in JavaScript over the past year have completely changed the scope of what a "web application" could entail, and we as developers still haven't fully come to realize what this means. Opera, Webkit, Tracemonkey, and now, jumping to a big lead, the supercharged V8 engine of <a href="http://www.google.com/intl/en/landing/chrome/beta/eula.html">Chrome 2</a> (I have some serious misgivings about Google's browser given that it's the product of an ad company, but it is uncontestably becoming a real contender. I will warn that on the Chrome download page linked before this parenthetical aside, they put the agreement to send...cough...anonymous statistics in exactly the position where people have habitually learned to click to agree to the ToS), the advances have been truly spectacular.</p>
<p>Exciting times ahead. These innovations aren't simply evolutionary, but change the scope and rules of the game.</p>]]></description>
		</item>
		
		<item>
		  <title>Building a Green, Low Cost, Good Performance Home File Server</title>
		  <link>http://www.yafla.com/dforbes/Building_a_Green_Low_Cost_Good_Performance_Home_File_Server/</link>
		  <guid>http://www.yafla.com/dforbes/Building_a_Green_Low_Cost_Good_Performance_Home_File_Server/</guid>
		  <pubDate>Fri, 20 Mar 2009 22:22:38 GMT</pubDate>
		  <description><![CDATA[<p>We have a number of network devices at play in my household.</p>
<p>I have my work machines. My wife has her laptop. My kids have their PCs.</p>
<p>Family and friends that comes to visit connect their iPhones and laptops to our 802.11g/n.</p>
<p>We have shared media that we play on devices like the Xbox 360 and PCs over protocols
like <a href="http://en.wikipedia.org/wiki/Universal_Plug_and_Play">uPnP</a>,
<a href="http://en.wikipedia.org/wiki/Digital_Audio_Access_Protocol">DAAP</a> and
SMB. We have shared files, such as financial info, that we need to access from any machine, all while confident that they remain as secure as we want them to be.</p>
<p>We do VPNing from remote locations like coffee shops to access files and media.
We have a shared printer.</p>
<p>To optimize this situation without leaving my power guzzling pig of a PC on around
the clock (I’ve setup and torn down a number of home servers over the years, all
the ways back to a FreeBSD-based device in the mid-90s that also doubled as a firewall),
a while back I bought a <a href="http://www.synology.com/enu/products/DS106j/index.php">
    Synology DS-106j</a> NAS unit and dropped it on the network, deciding on it after looking at some <a href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/default.mspx">Windows Home Server</a> products, finding them overpriced and uncompelling (not least because of concern about licensing and DRM BS.)</p>
<p>One of the selling points of this ~$200 unit (to which you add whatever 3.5” hard
drive fits your fancy) was the gigabit network port. To me that implied that it
must be capable of at least keeping a 100Mbps pipe saturated with goodness.
</p>
<p>I also liked that it gently sipped power (13W or so with the hard drive), allaying
any guilty about leaving it on around the clock.</p>
<p>The Synology unit is fantastic in many ways.</p>
<p>It has a fantastic interface. It is rock solid (zero downtime with it) and is very
feature rich, with several free “firmware” updates since I purchased it adding a number of
new features and interface improvements. It is easy to setup and use, and to a superficial
degree secure. It comes with great desktop software for common tasks like backing
up (and versioning) files on your Windows machines. You can offload torrent downloading
to it if you’re into that sort of thing.</p>
<p>But the hardware seems to be underpowered. The 200Mhz MPC8241 CPU that powers it
can’t deliver on the extensive feature list, in my opinion.</p>
<p>The 1Gbps network port turned out to be brave talk that it couldn’t back up with
action. Normal SMB/CIFS (the protocol that Windows utilizes to access network file
shares) averaged about 2.5MB/second throughput with the device, which factoring
in overhead is around 22Mbps, leaving plenty of headroom before it hit the limits
of even a lowly 100Mbps network.</p>
<p>I got it up to 8MB/second or so by turning off all of the features like media sharing, and then disabling all
security on the share and enabling guest access – it seems that access control security
significantly adds to the computational burden – but that isn’t a viable
day-to-day option so I had to revert and it was back to 2.5MB/second. FTP was a little better, but
was still way below expectations given that the same hard drive got a rough 40MB/second
from a direct-attached USB 2 enclosure.</p>
<p>Given that I am now downloading from the web at large at 1.1MB/second, this seemed
silly. As we’ve started to amass monstrous AVCHD video files of a GB or more from
the home video camera (the latest GB or so features my youngest son herding some
chickens that had escaped from their pen at a local farmhouse), it was getting unsustainable.</p>
<p>Synology is now selling a purportedly <a href="http://www.synology.com/enu/products/DS108j/perf.php">
    faster unit</a>, but given that I saw much lower real-world speeds than what
they graph for the old unit, and their new unit really doesn’t do <i>that</i> much
better anyways, it didn’t compel me to upgrade. Many competitive low end home NAS
devices have reportedly similar performance in the wild.</p>
<p>And it isn’t just waiting while moving large files or having <a href="http://www.2brightsparks.com/downloads.html">
    SyncBack</a> jobs run. Navigating the music directory from a uPnP client made it obvious 
that the slowness impacted all activities, with basic operations having intolerable
delays. Attaching to its network shares from client PCs inexplicably had multi-second waits before
responding.</p>
<p>Then again, I’m the guy who thinks that <a href="http://www.yafla.com/dforbes/The_Slowening_of_Faster_Devices">
    the biggest crisis in the electronics world is the excessive lag before DVD players will
    eject a disc</a>, so maybe I’m an outlier, but it seemed like a pretty big weakness
of what would otherwise be a great product.</p>
<p>It really bothers me when units doing tens or hundreds or thousands of millions of operations
per second take perversely long times to do simple things.</p>
<p>On the bright side, the small dimensions of the enclosure made it easy to find it
a home, but it also had the <a href="http://en.wikipedia.org/wiki/S.M.A.R.T.">S.M.A.R.T.</a>
monitoring of the hard drive complaining about borderline heat incessantly. And
the printer sharing never worked properly, but given the endless variety of printers
I won’t blame that on the NAS unit.</p>
<p>So I decided that it’s time to replace the device, with the following criteria for
its successor.</p>
<ul>
<li>Relatively cheap, because I’ll probably just be replacing it soon enough anyways</li>
<li><a href="http://en.wikipedia.org/wiki/Server_Message_Block">CIFS</a> and FTP at
    a minimum<br />
</li>
<li>uPnP would be nice. <a href="http://gxben.wordpress.com/2008/08/24/why-do-i-hate-dlna-protocol-so-much/">
    DLNA</a> wouldn’t be bad. <a href="http://en.wikipedia.org/wiki/Digital_Audio_Access_Protocol">
        DAAP</a> would be gravy<br />
</li>
<li>Some method to <a href="http://en.wikipedia.org/wiki/Rsync">backup its own files
    to a remote location</a>, or at worst to an attached USB drive, with security options like encryption</li>
<li>Good performance. On a switched 1Gbps network I would hope to see read throughput 
    times of 20MB/second or better, and writes not much worse, with a very low latency on activities: Network shares should
    enumerate close to instantly</li>
<li>Small enough that it can be physically secured such that the alarm responders would have arrived
    before a thief could have gotten to and removed it</li>
<li>Low enough power usage that I don’t have squirrels giving me a beatdown</li>
<li>A bit of fun. I look for these things to be educational and challenging to a degree.
    The easiest solution doesn’t provide me the entertainment value, so turnkey is a
    negative. At the same time, I have a very finite amount of time to deal with things
    like this, so it can’t require too much coddling</li>
</ul>
<p>Local RAID isn’t important to me, as availability isn’t a primary consideration
(and multiple drives go contrary to power conservation / heat reduction goals, and
generally increase maintenance.) Every file that is on the unit always exists on
at least one other drive on a separate system, so if the drive died I could quickly
rebuild and repopulate and life would be grand again. And it is vastly more likely
that two drives in one unit would catastrophically fail than it is that two drives
in physically separated devices would fail, especially when the separation between
can be thousands of kilometres.</p>
<p>Nor do I want this to function as a media station, which I consider an <i>entirely</i>
different function, with an entirely different requirements list. I don’t need or
want HDMI output, blu-ray decoding computational power, 3D offloading, a MAME box,
or anything of that sort. That’s a different project, with a different set of goals.</p>
<p>After looking at the available market options of targeted NAS devices, and hardware
solutions like Shuttle computers, I decided to have a little fun and build my own
(in the minimalist stick-some-lego-like pieces together way that is "building" a
PC), so I grabbed a couple of components.</p>
<ul>
<li><b>$102.30</b> - An <a href="http://www.intel.com/products/desktop/motherboards/d945gclf2-d945gclf2d/d945gclf2-d945gclf2d-overview.htm">
    Intel D945GCLF2</a> mini-ITX motherboard, featuring an on-board passive cooled Atom
    330 dual-core processor. The Atom is <a href="http://www.pcpro.co.uk/blogs/2008/11/12/dual-core-atom-330-benchmarked/">
        not a powerhouse processor</a> by any measure of the imagination, but for this
    purpose it should be fine.<br />
    <br />
    My only real hesitation with this board is that it uses a relatively power hungry
    chipset, leading to the mixed-up situation where the chipset has an active fan,
    yet the CPU has just a heatsink. I’d prefer a lower power board with zero moving
    parts, but didn’t want to risk going too low on processing power &nbsp;</li>
<li><b>$24.75</b> - A 2GB DDR2-667 RAM module. Even 2GB is excessive for the targeted
    purpose </li>
<li><b>$55.22</b> - An <a href="http://www.silentpcreview.com/article905-page1.html">
    Apex MI-008</a> MINI-ITX Case. The case is small enough that it’s stashable, but
    big enough that it won’t be a hard drive cooker. Like the motherboard, the case isn't a paragon of efficiency, instead coming 
with a less efficient power supply that is capable of a grossly
    excessive 250W, so that isn’t optimal, but I’ll worry about that at a later point
</li>
<li><b>$126.90</b> – <a href="http://www.wdc.com/en/products/Products.asp?DriveID=559">
    Western Digital WD10EADS Caviar Green</a> 1TB drive. It is intentionally a bit slower
    of a drive, putting energy efficiency (and with that reduced heat) ahead of raw
    speed, but it’s still very fast. This would be a great place to use an SSD drive, so maybe I'll swap to one of those as they mature and become more cost effective for this amount of storage</li>
</ul>
<p>&lt;$200 for the “NAS enclosure” part, then $127 for a good hard drive with room to grow. Pretty inexpensive, and would probably even make a decent internet
appliance, which presumably is the intended use of the motherboard/CPU combo.</p>
<p>Putting it together was a snap, with dutiful oversight from my children, followed by a quick 
flash to the <a href="http://downloadcenter.intel.com/Filter_Results.aspx?strOSs=All&amp;strTypes=All&amp;ProductID=2926&amp;OSFullName=All%20Operating%20Systems&amp;lang=eng">
    latest BIOS release</a>.</p>
<p>I installed <a href="http://www.ubuntu.com/getubuntu/download">
    Ubuntu 8.10 Server</a> from a <a href="http://unetbootin.sourceforge.net/">USB stick</a> (I considered installing <a href="http://www.freenas.org/">FreeNAS</a>, but decided that I wanted something a bit more custom), after which I discovered that the hard drive wasn’t set to bootable and the system wouldn’t boot without the
USB key, so I had to boot with the key and use <i>parted</i> to manually set the
<i>sda</i> device to the boot device, after which the USB key was no longer necessary.</p>
<p>Installation complete, I stashed it away, sans keyboard or mouse
or monitor connection (which it makes no complaints about, happily existing without
head, keys or mouse), and access since has been via <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">putty</a>. A magical source and destination of media and files, out of sight and hopefully usually out of mind.</p>
<p>I installed Samba (during the OS install by choosing the file server option), created the users and groups and perms, added some shares, and started accessing it from my workstation. It was all <a href="http://us3.samba.org/samba/docs/man/Samba-HOWTO-Collection/">very easy and straightforward</a>,
including even setting up <a href="http://en.wikipedia.org/wiki/AppArmor">AppArmor</a>
to <a href="https://help.ubuntu.com/8.10/serverguide/C/samba-fileprint-security.html">enforce mode against the Samba services</a>, adding a small additional guarantee of security.</p>
<p>I started the first file move, ready to witness some low-cost awesomeness.</p>
<p><b>11MB / second to write to it</b>, averaged out over the copy of a GB sized video
file. I got about the same speed reading back from it.</p>
<p>Pretty good compared to 2.5MB/second (and now I had much better security granularity
than I had before, on a much more versatile platform), but not quite what I was
expecting. Awesomeness not witnessed.</p>
<p>The hard drive isn’t the fastest of the bunch, but it’s still <a href="http://techreport.com/articles.x/15769/6">
    very decent</a>.</p>
<p>I’m far from an expert when it comes to Linux (or more generally Unix) systems, seemingly achieving some small level of
localized expertise at intervals in my career, but then the solutions <i>simply work
</i>and I don’t have to touch them again, so the knowledge rusts and
each time I return I feel like I'm a Linux virgin (who would have ever thought that Linux and
virgin would used in the same sentence?) It is similar to my proficiencies with
Perl or the equally obtuse Powershell, where I put together very decent solutions,
but then several months later look in disbelief that I actually wrote the code that now looks foreign.</p>
<p>Nonetheless, I quickly determined that the network adapter was auto-negotiating
itself incorrectly to 100Mbps, and 11MB/second is about the max you could achieve
over such a link.
</p>
<p>After a quick bit of searching, I added <code>ethtool -s eth0 speed 1000 duplex full
    autoneg off</code> to my interfaces file (after validating that it worked at
the command line). It was now at full 1Gbps glory.</p>
<p>So I performed the file test again.</p>
<p><b>47MB / second to write to it</b>. <b>55MB / second to read back from it.</b></p>
<p>Sweet! That isn’t that far off of local storage, and is entirely with the acceptable
zone. It was achieved on a $200 host device. File sharing is hardly the most demanding
application nowadays, but I was happy to get something much more usable.</p>
<p>Just to take a side trail here for a moment, I just wanted to mention that Linux,
and the evolution and progress of it and related projects, really is amazing. It
is astounding that such a solution evolved the way it did. Even people who don’t
think they benefit from it regularly use devices run on the OS. The amount of functionality
and technology available, including the source so you can roll your own, truly is
remarkable. Linux didn’t start this movement, and projects like FreeBSD, sendmail
and prior initiatives blazed a successful trail before Linux really took off, but
it is the most evident element of that development model.</p>
<p>Back to setting up the homebrew NAS, virtually every step of the way I had to consult
the wizard, Mr. Google, but at least the answer was usually only a page 1 or 2 hit
away (though <a href="http://www.yafla.com/dforbes/The_Devolution_of_Online_Conversation_Technology_or_Online_Discussion_Forums_Are_A_Massive_Step_Backwards">
    Google Groups has taken a perilous dive into close-to-uselessness</a>, and proved
of little use.)</p>
<p>To this point I still haven’t had luck finding a good uPnP server for the device.
<a href="http://ushare.geexbox.org/">uShare</a> simply didn’t work. <a href="http://mediatomb.cc/">
    Mediatomb</a> inexplicably doesn’t work with the xbox360, and even if it did
the fact that its anonymous web user interface has the default behaviour of exposing
your entire file system makes me question the wisdom of the developers.
</p>
<p>Various other projects didn’t fit the bill or didn’t work for me, and most seemed to have been abandoned.</p>
<p>I thought I’d try the <a href="http://www.mythtv.org/">MythTV</a> backend, as it
is purported to double as an <a href="http://en.wikipedia.org/wiki/UPnP_AV_MediaServers">
uPnP AV mediaserver</a>, to find that it bizarrely needs an X server running
and an X client on the other end just to perform the setup. I decided to purge it
from the system to find it wouldn’t uninstall due to /dev/.static/dev being mounted
read only. I found <a href="https://bugs.launchpad.net/ubuntu/+source/udev/+bug/253786">
a workaround</a> involving stopping and starting udev, which remounted it as
read/write, but at that point the damage was apparently done, and it refused to
gracefully leave the system.</p>
<p>
So I went MythTV huntin’, committing a moronic error in the process (it tried hard to warn me,
but I persisted in my foolishness.) I’ll let the putty log speak to it.</p>
<code>dennis@mediaserver:/var/lib/dpkg$ sudo killall mythbackend<br />
dennis@mediaserver:/var/lib/dpkg$ whereis mythbackend<br />
mythbackend: /usr/bin/mythbackend<br />
dennis@mediaserver:/var/lib/dpkg$ cd /usr/bin<br />
dennis@mediaserver:/usr/bin$ cd mythbackend<br />
-bash: cd: mythbackend: Not a directory<br />
dennis@mediaserver:/usr/bin$ rm -R *<br />
rm: remove write-protected regular file `[&#39;? ^C<br />
dennis@mediaserver:/usr/bin$ sudo rm -R *<br />
dennis@mediaserver:/usr/bin$ ls<br />
</code>
<p>Installing everything once was so much fun that I decided to do it again!</p>
<p>So I reinstalled again. The second time around it was a very quick process (even
with a nuked /usr/bin I still had a chance to backup customized config files to
a client box before reinstalling, so I really didn’t lose much.)</p>
<p>Power wise, I’ve gone from ~13W for the DS-106j, to 35W to 40W for the new device (measured with a Kill-A-Watt. Handy device.)
This represents a pretty big move in the wrong direction, but it wasn’t unexpected.
4-8W or so could likely be saved going to a more efficient, fanless power supply.
That’ll be a future experiment. The Caviar Green, at 3-4W, isn’t much more power
hungry than an SSD, so that wouldn’t make a huge difference. The motherboard and
its chipset is the real piggy of this farmyard.</p>
<p>Alas, in return for the extra power consumption I now have a vastly more interesting
network device, serving files at a much more usable pace.</p>
<p>So my first adventure is beginning the work on a .NET-based uPnP server, ensuring
that it works on <a href="http://www.mono-project.com/Main_Page">Mono</a> along
the way. Thus far it has been nothing but remarkable success, and it still astounds
me seeing fairly complex .NET applications running well on a Linux box. The thing
really, really works!</p>]]></description>
		</item>
		
		<item>
		  <title>The Unlikely Success of Plenty of Fish</title>
		  <link>http://www.yafla.com/dforbes/The_Unlikely_Success_of_Plenty_of_Fish/</link>
		  <guid>http://www.yafla.com/dforbes/The_Unlikely_Success_of_Plenty_of_Fish/</guid>
		  <pubDate>Tue, 13 Jan 2009 19:36:38 GMT</pubDate>
		  <description><![CDATA[<p>The story of Markus Frind is not a new one around development circles: Some guy creates a <a href="http://www.plentyoffish.com/">remarkably unpolished, seemingly unsophisticated dating website</a> and in short order is bragging about the million dollar checks he's getting from Google Adsense payments.</p>
<p>Still, you owe it to yourself to <a href="http://www.inc.com/magazine/20090101/and-the-money-comes-rolling-in.html">read the article about his exploits in January's Inc</a>. It is a fascinating story of internet success against the odds, and the site that is serving up 1.6 billion pages per month on an inexpensive modicum of hardware. That article references Markus' <a href="https://plentyoffish.wordpress.com/2006/06/14/how-i-started-an-empire/">blog entry from 2006</a> where he explains how his extraordinary success story began.</p>
<p>[Imagine that I insert some drawn-out blowhard "lesson" to be learned from Mr. Frind's success here, allowing me to justify making an entry that is basically nothing more than a link, all while pretending that if you follow these simple steps you too can achieve the same results]</p>]]></description>
		</item>
		
		<item>
		  <title>Coding Horror Strikes Again</title>
		  <link>http://www.yafla.com/dforbes/Coding_Horror_Strikes_Again/</link>
		  <guid>http://www.yafla.com/dforbes/Coding_Horror_Strikes_Again/</guid>
		  <pubDate>Tue, 13 Jan 2009 00:49:48 GMT</pubDate>
		  <description><![CDATA[<p>Coding Horror is an entertaining, sometimes even educational blog. Be careful diving in headfirst, though, as the technical depth is generally so shallow you'll be hitting the bottom before you've even broken through the surface tension.</p>
<p>It's always a danger &mdash; in the nerdly get-some-unkind-emails way &mdash; to question it. It has quite an army of loyal fans who, I presume, have had their ego carefully stroked over the years into loyal defensiveness ("Yes you are a top notch programmer! Yes you are!"): Any prior time I've disagreed with Jeff on here has resulted in a flurry of emails that are the text equivalent of the infamous Chris Crocker video.</p>
<p>Yet <a href="http://www.codinghorror.com/blog/archives/001208.html">Jeff's latest entry</a> has me unable to contain myself.</p>
<p>In that post, Jeff opines that Windows 7 might just be worth a look because, he says, in the latest outing Microsoft has taken to changing the visible parts of the OS, instead of, I guess, just improving the underlying awesomeness. The example Jeff draws from is that the calculator has visually changed, whereas before it was just the underlying mechanics of calculation that saw awe-inspiring improvements, all while gaggles of ungrateful goons continued to hurl insults at Microsoft, unaware of the great gift they had been handed. That Microsoft has decided to enlighten us to the great improvements they've made by visually making change apparent, instead of just doing their magic in secret.</p>
<p>As a newsgroup troll might say, <strong>errrrr...wut?!?!?!</strong></p>
<p>What planet has Jeff been living on? What spaceship did he just hop off of, interstellar cruise of the Outer Gamagia quadrant completed, that leads him to be so completely out of touch with reality?</p>
<p>Here on planet Earth, Vista was seen as largely being about changing the UI &mdash; much like XP before it &mdash; and many of the complaints were that the actual <em>utility</em> of the OS suffered (even basic operations like moving files seemed to have missed being QA'd, slowing to a paralyzing crawl under completely ordinary uses). Functionality got lost under layers of paint, and interfaces seemed to be changed for the sake of change.</p>
<p>To many, Vista was 99% visual changes and 1% detrimental functional changes. But at least it brought the unwashed masses a calc.exe that had shaded buttons and a translucent title bar!</p>
<p>Conversely, a lot of the excitement about Windows 7, relative to Vista, is that it fixes stuff "under the hood" (better, strong, faster.)</p>
<p>But I'm no Vista basher, and actually believe that much of the anti-Vista vitriol is undeserved and unfounded. While I was on the record saying that it would be a product failure because it was wrongly focused and had little that compelled people to desire it, I'm actually somewhat of a <a href="http://www.yafla.com/dforbes/Virtuous_Vista_Taking_The_x64_Plunge/">fan</a> of the OS, insofar as the comparison is with XP. Vista even has some very cool features under the hood, such as <a href="http://www.yafla.com/dforbes/Transactional_Filesystem_in_Vista">TxF</a>, though that's the sort of structural change that isn't really useful until applications start using it, but they won't use it until it is available in a good percentage of deployed PCs.</p>
<p>Back to Jeff's entry, the ridiculous example of the accessory calculator being an example of...anything...really strikes me as absurd, and it seems to be the sort of "try to draw some big observation from some small example" space filler you end up resorting to when you're <a href="http://www.codinghorror.com/blog/archives/000983.html">trying to hit a schedule</a>.</p>
<p>To add to the march of absurdity, Jeff links to a ridiculous post by the occasionally interesting Raymond Chen.</p>
<p>In <a href="http://blogs.msdn.com/oldnewthing/archive/2004/05/25/141253.aspx">Raymond's post</a> we hear about how tough it is for poor Microsoft (sidenote: what's with the bizarre victim complex that many Microsoft employees develop?) You see, prior to Windows 2000 someone at Microsoft made the choice that when you use a calculator in Windows, you <em>really</em> want to enjoy IEEE floating point rounding errors in all of your results, because the people that developed calc.exe &mdash; which would literally be a 8 hour project for an intern..you don't even need to make an installer &mdash; decided to take the laziest route possible, implementing it in the most naive way available. Raymond goes on the defensive, telling us that those critics <em>just don't understanding floating-point</em>. Not really, Raymond. They just don't understand how Microsoft could have ever thought that it was a reasonable decision for a calculator app to use and suffer from, versus the decimal math of virtually every other calculator app.</p>
<p>So Microsoft swapped out the embarrassing calculation "engine" of calc.exe (Jeff got the timing of the change seriously wrong. It wasn't between XP and Vista. It was before Windows 2000), put in the <a href="http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic">bignum-style implementation</a> that should have been there from day one, and people were supposed to send them flowers or something? You ungrateful sons of...</p>
<p>Anyways, Windows 7 will invariably make a big impact, so I do plan on taking a look at it soon. But I'm certainly not motivated because calc.exe got some minor changes.</p>]]></description>
		</item>
		
		<item>
		  <title>HTML Purity - Does it matter?</title>
		  <link>http://www.yafla.com/dforbes/HTML_Purity__Does_it_matter/</link>
		  <guid>http://www.yafla.com/dforbes/HTML_Purity__Does_it_matter/</guid>
		  <pubDate>Sat, 10 Jan 2009 23:24:47 GMT</pubDate>
		  <description><![CDATA[<p>When doing activities that impact the web site presentation of projects I'm involved with, I occasionally hop down to the menu item "Validate Local HTML" in Firefox, a function that is available when you have the <a href="https://addons.mozilla.org/en-US/firefox/addon/60">web development tools</a> (you can also access it via Ctrl-Shift-A, and of course can always <a href="http://validator.w3.org/">run it directly</a>, but that seemingly <a href="http://www.yafla.com/dennisforbes/Adoption-Functionality-Cost-Ease-of-Use/Adoption-Functionality-Cost-Ease-of-Use.html">tiny improvement in ease and efficiency of utilization can dramatically increase the usage of it</a>). In a weak sort of <a href="http://en.wikipedia.org/wiki/Test-driven_development">TDD</a>, it is a constant sanity test of at least the fundamental HTML validity of the generated presentation, and I always strive to get it to the rewarding green no-errors-no-warnings state.</p>
<p>
    <a href="http://validator.w3.org/check?uri=referer"><img
        src="http://www.w3.org/Icons/valid-xhtml10-blue"
        alt="Valid XHTML 1.0 Transitional" height="31" width="88" /></a>
  </p>
<p>Does it really matter though? Ultimately what <em>really</em> matters is if the site renders as close to as expected as possible in the major browsers, and most of them happily overlook even egregious errors (Internet Explorer was criticized early on for being so forgiving, but given its dominance the other browsers really had no choice but to allow the same sloppiness. Most web publishers weren't about to re-engineer their site just to ensure that it displayed correctly in Opera, for instance.)</p>
<p>Out of curiousity I decided to check some other sites to see how many ensure that their (X)HTML is clean. The following are the results as they stand at this moment, though of course as content is added or removed the state will change (though a clean site is often a clean site with intention, and new content is automatically filtered to ensure that it is pure).</p>
<ul>
<li><span style="color:red;font-weight:bold;">FAIL</span> - <a href="http://www.reddit.com">http://www.reddit.com</a> - 36 errors as XHTML 1.0 Transitional. <strong>EDIT:</strong> Rechecked Reddit, and now it's a <span style="color:green;font-weight:bold;">PASS</span></li>
<li><span style="color:red;font-weight:bold;">FAIL</span> - <a href="http://www.slashdot.org">http://www.slashdot.org</a> - 167 errors as HTML 4.01 Strict</li>
<li><span style="color:red;font-weight:bold;">FAIL</span> - <a href="http://www.digg.com">http://www.digg.com</a> - 32 errors as XHTML 1.0 Transitional</li>
<li><span style="color:red;font-weight:bold;">FAIL</span> - <a href="http://www.cnn.com">http://www.cnn.com</a> - 40 errors as HTML 4.01 Transitional (inferred as no doctype was specified)</li>
<li><span style="color:red;font-weight:bold;">FAIL</span> - <a href="http://www.microsoft.com">http://www.microsoft.com</a> - 193 errors as XHTML 1.0 Transitional</li>
<li><span style="color:red;font-weight:bold;">FAIL</span> - <a href="http://www.google.com">http://www.google.com</a> - 58 errors as HTML 4.01 Transitional</li>
<li><span style="color:red;font-weight:bold;">FAIL</span> - <a href="http://www.flickr.com">http://www.flickr.com</a> - 34 errors as HTML 4.01 Transitional</li>
<li><span style="color:red;font-weight:bold;">FAIL</span> - <a href="http://ca.yahoo.com">http://ca.yahoo.com</a> - 276 errors as HTML 4.01 Strict</li>
<li><span style="color:red;font-weight:bold;">FAIL</span> - <a href="http://www.sourceforge.net">http://www.sourceforge.net</a> - 65 errors as XHTML 1.0 Transitional</li>
<li><span style="color:red;font-weight:bold;">FAIL</span> - <a href="http://www.joelonsoftware.com">http://www.joelonsoftware.com</a> - 33 errors as XHTML 1.0 Strict</li>
<li><span style="color:red;font-weight:bold;">FAIL</span> - <a href="http://www.stackoverflow.com" rel="nofollow">http://www.stackoverflow.com</a> - 58 errors as HTML 4.01 Strict  <strong>EDIT:</strong> Rechecked and <a href="http://www.codinghorror.com/blog/archives/001234.html" rel="nofollow">now</a> it's a <span style="color:green;font-weight:bold;">PASS</span></li>
<li><span style="color:red;font-weight:bold;">FAIL</span> - <a href="http://www.dzone.com">http://www.dzone.com</a> - 165 errors as XHTML 1.0 Transitional</li>
<li><span style="color:red;font-weight:bold;">FAIL</span> - <a href="http://www.codinghorror.com/blog/" rel="nofollow">http://www.codinghorror.com/blog/</a> - 51 errors as HTML 4.01 Transitional</li>
<li><span style="color:green;font-weight:bold;">PASS</span> - <a href="http://www.w3c.org">http://www.w3c.org</a> - no errors as XHTML 1.0 Strict</li>
<li><span style="color:green;font-weight:bold;">PASS</span> - <a href="http://www.linux.com">http://www.linux.com</a> - no errors as XHTML 1.0 Strict</li>
<li><span style="color:green;font-weight:bold;">PASS</span> - <a href="http://www.wordpress.com">http://www.wordpress.com</a> - no errors as XHTML 1.0 Transitional</li>
</ul>
<p>(I searched around for more good examples to sit in the PASS category, but sadly they are very few and far between)</p>
<p>Should this be normal?</p>
<p>No, it shouldn't.</p>
<p>Some of the errors in some of the mechanically generated HTML are simply unexcusable, and testify to the general level of sloppiness in the web industry in particular.</p>
<p>Check your HTML. Ensure it conforms to the specs it purports to obey, or accept defeat and step back to a less-demanding level. With tools like one keystroke validation and auto-cleanup <a href="http://tidy.sourceforge.net/">HTML Tidy</a> (which is available in module form, allowing you to auto-cleanup content mechanically inline in your site code - see <a href="http://www.yafla.com/dennisforbes/Tidy-Your-HTML-with-The-Pragmatic-Impurity-of-NET/Tidy-Your-HTML-with-The-Pragmatic-Impurity-of-NET.html">this entry</a> for an example of using Tidy from .NET code), there's simply no excuse.</p>
<p>Many will wave off such criticism, declaring that if it renders fine that's what really matters. Yet the worry about purity has more to do with the code maintenance process, and ensuring that an appropriate amount of care and concern is put into the product, in much the same way that you should strive to have 0 warnings in your projects, even if the compiled output works fine regardless. In the same way that <a href="http://www.yafla.com/dforbes/Spelling_Matters">I <em>try</em> (albeit with failures at time) to ensure that I avoid misspellings and typos</a>, even if the message could be successfully conveyed with them.</p>
]]></description>
		</item>
		
		<item>
		  <title>Microsoft the Patron Saint of Firefox?</title>
		  <link>http://www.yafla.com/dforbes/Could_Microsoft_be_the_Patron_Saint_of_Firefox/</link>
		  <guid>http://www.yafla.com/dforbes/Could_Microsoft_be_the_Patron_Saint_of_Firefox/</guid>
		  <pubDate>Sat, 10 Jan 2009 05:20:27 GMT</pubDate>
		  <description><![CDATA[<p>Saw the news today that the <a href="http://news.cnet.com/8301-17939_109-10138969-2.html?tag=newsEditorsPicksArea.0">Russian version of Firefox was dumping Google</a>, switching to a Russian search engine called <a href="http://en.wikipedia.org/wiki/Yandex">Yandex</a>. This caught my eye as recently I've been contemplating how the industry would react to Microsoft taking over, effectively, the sponsorship of the Firefox project.</p>
<p>For those unaware, the Mozilla foundation gets almost 90% of its income &mdash; used to pay developers, run servers, do marketing, and so on &mdash;  from Google: $75 million dollars in 2007 (along with some chump change from Yahoo and Amazon). This isn't an act of charity, though, and for its payment Google gets default start page space, is the default search provider, and of course gets attributed with a lot of goodwill throughout the industry for helping to keep the project alive and robust.</p>
<p>Now that Google is strongly pushing their own browser, however, the relationship isn't quite as solid. Shortly before Chrome's release the contract was extended through to 2011 &mdash; probably by some concerned players that wanted to stop any <a href="http://en.wikipedia.org/wiki/Not_Invented_Here">NIHism</a> from undoing what they had achieved &mdash; but that's just two measly years and will pass before most people realize.</p>
<p>The Russian deal seems to be one sign that the Mozilla foundation is soberly planning ahead.</p>
<p>And while they're considering who might step in if Google decides to bow out, they might look towards the most unlikely partner of all: Microsoft.</p>
<p>Increasingly Microsoft has been embracing Firefox as a platform, with various divisions working towards more than just locking you into Windows (which has perverted the cause of many Microsoft products for years, destroying potential greatness). Given the relatively pathetic progress of Internet Explorer, I'd go so far as to say that they've put more work into pulling Firefox into the fold than they have improving their own browser.</p>
<p>It's chump change for Microsoft (despite all of the doom and gloom stories about Microsoft, the reality is that they are still disgustingly profitable), it would buy them a tremendous amount of goodwill, it would give their ignored Live Search (haven't they abandoned the whole Live thing yet? I'm waiting for the next wave of inane branding synergies from that marketing midget) some attention, and it would give them a voice on the project that is most likely to continue to enrich and improve the web. Yet it wouldn't give then undue influence or control on this project, which we know because even Google was held away from the reigns of power (which presumably is why they wanted to let Mozilla use their ball while they went and bought another ball and built their own court.)</p>]]></description>
		</item>
		
		<item>
		  <title>The Embarrassing HD-DVD Debacle And Blogging Exile</title>
		  <link>http://www.yafla.com/dforbes/The_Embarrassing_HDDVD_Debacle/</link>
		  <guid>http://www.yafla.com/dforbes/The_Embarrassing_HDDVD_Debacle/</guid>
		  <pubDate>Thu, 08 Jan 2009 03:01:45 GMT</pubDate>
		  <description><![CDATA[<p>It's been <a href="http://www.yafla.com/dforbes/Picking_A_Side_In_The_HD-DVD_vs_Blu-ray_War/">just over a year since I publicly laid my considerable powers of persuasion behind HD-DVD</a>, only to see the format die a <a href="http://www.businesswire.com/portal/site/google/index.jsp?ndmViewId=news_view&amp;newsId=20080219005651&amp;newsLang=en">horrifying death</a> just over two months later.</p>
<p>Quite an embarrassment. It was so bad I had to exile myself from blogging.</p>
<p>Even worse than the online embarrassment was the awkward discomfort and shame that owning an HD-DVD unit brought. When the HD-A3 eagerly popped up its now foolish looking HD-DVD logo as a guest happened in the room, the outcome was generally one of two shades of humiliating: Half the time they'd feel a little sorry for it, and by extension me. The other half was even worse, as they'd eagerly ask "Gosh, what's that? Is that the new high definition format?", forcing me to divert the conversation to whatever conflict was going on in the Middle East at the time (always one to fall back on). I quickly deported the player to the basement, if only to be free of the logo.</p>
<p><a href="http://www.flickr.com/photos/dforbes/3178945666/" title="Toronto From 43KM Away by dennis_forbes, on Flickr"><img align="right" vspace="5" hspace="5" src="http://farm4.static.flickr.com/3340/3178945666_bafc8f6f22_m.jpg" width="240" height="150" alt="Toronto From 43KM Away" /></a>Seriously, though, having three young children is quite a lot of work. A former boss once remarked, on learning that I had my first child (my beautiful daughter Elizabeth), that I was a "hobbyist". I laughed at the time, thinking that he was just being elitist, what with his 8 kids or whatever it was. Turns out he was somewhat right, and I now look back at the relaxed life of free time I had with just one child. Even two seems relatively tame in comparison. Three, with them now edging towards the ages of two, four and six, introduces a lot of difficulties, as providing them all with age appropriate activities and challenges is a non-trivial task. The time available to post insightful blog entries has suffered.</p>
<p>But there is hope, faithful fans! I've devised a new technique that I'm going to try over the coming weeks. It's a sort of hybrid of "microblogging", but privately accumulating until it's a worthwhile post. I consider such writings cathartic and often self-elucidating, so I want to do it if only for personal satisfaction.</p>
<p>There's also the matter that with the recent addition of a "recent posts" panel on the right, that ungainly HD-DVD entry still falls in the list...so I've got to push out some content to scroll it off the list....just one more entry and it's outta there.</p>
<p>Oh and I also added the feed bag &mdash; again it was to try out a new technology and it proved a useful prototype &mdash; of links that I think are worthwhile, for anyone who might be interested.</p>
<p>Thanks for reading and have a great week!</p>
<p>Dennis</p>]]></description>
		</item>
		
		<item>
		  <title>The Best and Worst of 2008</title>
		  <link>http://www.yafla.com/dforbes/The_Best_And_Worst_of_2008/</link>
		  <guid>http://www.yafla.com/dforbes/The_Best_And_Worst_of_2008/</guid>
		  <pubDate>Wed, 31 Dec 2008 12:00:00 GMT</pubDate>
		  <description><![CDATA[<h4>The Good of 2008</h4>
<h4><i>
Financial Opportunities for Independent Application and Game Makers</i></h4>
<p>
While so-called “ISVs” (small software shops, often staffed by just the founding 
programmer) have largely disappeared from the Windows platform, pushed out by 
Microsoft’s total dominance of most IT spend alongside a widespread consumer mentality 
that software should always be free &mdash; whether in the libre sense ala open 
source, or the more prevalent gratis sense of free in the form of piracy (often 
justified with bizarre logic that goes something like “I paid $499 for this PC! 
I’m not paying more for software!”) &mdash; other lucrative opportunities have opened up for entrepreneurial developers.
</p>
<p>
Alternative platforms like cell phones (the 
<a href="http://developer.apple.com/iphone/">iPhone</a>, Google’s 
<a href="http://code.google.com/android/what-is-android.html">Android</a>, or the 
more scattered but numerous <a href="http://java.sun.com/javame/index.jsp">Java ME</a> targets) and game machines (such as the 
<a href="http://creators.xna.com/en-US/">Xbox 360</a>) have 
provided tremendous new opportunities with limited barriers to 
entry. Vendor online stores and fair revenue sharing splits have made selling 
your product easier and more rewarding than ever before.</p>
<p>
On the Mac the independent software market remains very robust, with a consumer 
base that is willing to spend for software that enhances their quality of life 
in some way.</p>
<h4><i>
Display Technology</i></h4>
<p>
They’ve gotten larger (but lighter and more energy efficient), have faster 
response rates and better quality, with color range and contrast ratios seeing 
great improvements, all while remarkably coming down in price. Large-screen 
displays with 1920x1080 pixels are becoming commonplace in media rooms, even 
during the downturn.</p>
<p><a href="http://www.flickr.com/photos/dforbes/2792414725/" title="Day Trip To The City by Elizabeth Forbes, on Flickr"><img align="right" vspace="6" hspace="6" src="http://farm4.static.flickr.com/3071/2792414725_4ac7206050_m.jpg" width="240" height="180" alt="Day Trip To The City" /></a>
The displays in our living rooms are capable of displaying the best of 
converging digital media. The division between the “home computer” and the home 
entertainment systems (a split that began when computers started demanding 
better displays, a need which saw the Commodore 64 and later generations leave 
the family room to take up accommodations in the home office) has dissolved.</p>
<h4><i>
JavaScript</i></h4>
<p>
Over a short span JavaScript has gone from being unloved and despised, 
begrudgingly used only out of necessity, to being widely exploited as a language 
that, while deceptively simple on the surface, is incredibly rich and succulent 
when you look just a little deeper.</p>
<p>
Even long time practitioners of JavaScript regularly discover 
<a href="http://video.yahoo.com/watch/111585/1027823">new functionality</a> 
they never realized was there.</p>
<p>
The increased focus on JavaScript, and the growing richness of the web, kicked 
off a skirmish between a variety of projects and vendors, with a<a 
href="http://www.techcrunch.com/2008/09/03/mozilla-fights-back-with-new-firefox-benchmarks/"> horse race</a> 
between the Mozilla project, Webkit (primarily in its Safari instantiation), Opera, and 
the upstart Google Chrome browser. JavaScript performance in some of these 
latest generation offerings can even rival native code in isolated 
scenarios, which is extraordinary for such a high-level, dynamic language long 
identified as a performance pig.</p>
<p>
It’s now worthy of serious consideration whether to use one of the JavaScript 
runtimes (such as <a href="http://code.google.com/p/v8/">V8</a>, 
<a href="http://www.mozilla.org/projects/tamarin/">Tamarin</a>, or 
<a href="http://weblogs.mozillazine.org/roadmap/archives/2008/08/tracemonkey_javascript_lightsp.html">Tracemonkey</a>) as an engine for projects having 
nothing to do with the client-side web.</p>
<p><a href="http://www.flickr.com/photos/dforbes/118822619/" title="on Flickr"><img align="right" vspace="6" hspace="6" src="http://farm1.static.flickr.com/36/118822619_a1c3630c0b_m.jpg" width="240" height="145" alt="coffees" /></a>
Not all is roses with JavaScript, though. The drive towards ECMAScript 4.0 AKA 
JavaScript 2.0; representing a pretty dramatic shift in the language; hit some 
<a href="https://mail.mozilla.org/pipermail/es3.x-discuss/2008-August/000463.html">serious road blocks this year</a>, eventually smashing off the road and exploding 
into mangled bits.
</p>
<p>
It’s a little fuzzy where JavaScript is heading in the coming years, but at 
least it’ll do it in an impressive number of iterations per second.</p>
<h4><i>
The Microsoft Xbox 360</i></h4>
<p>
Microsoft reduced the price and improved the interface and functionality. They 
diversified the marketing and game catalog to cater to more than just teenaged 
first-person shooter fanatics. For a unit that is now over 3 years old (with 
hardware that was probably spec’d out even a year earlier) it shows few age 
wrinkles, with very decent graphics at ultra-high resolutions, only occasional 
suffering frame rate slowdowns.</p>
<p>
While it’s worth the price for gaming-fu alone, the 360 also doubles as a viable 
media extender (especially when coupled with a UPnP host like 
<a href="http://tversity.com/">TVersity</a> running 
on a PC somewhere else on the network). After bouts using full PC media boxes in 
the home theater setup, with the many time-thieving downsides they bring, I’m 
very happy to replace all of that with a simple Xbox 360 (playing streamed 
internet radio, Divx/Xvid, home movies on the networked NAS, YouTube clips, and 
so on.) With the 1080p connection and the horsepower to decode most anything 
without glitches, it’s a strong link in the media chain.</p>
<p>
The marketplace functionality offers up easy access to a wide range of gaming 
and entertainment options, including the ability to queue up movies, shows and 
games on the unit or even on their online site from other devices, making them 
available on your 360 surprisingly quickly (I’ve queued up movies for the kids 
on my PC to find them available on the unit mere minutes later, seemingly 
exceeding the capacity of my cable connection.)
</p>
<p>
US owners with a Netflix subscription also get instant streaming of a wide range 
of movies.</p>
<p>
With a decent motion sensing controller &mdash; which apparently is coming soon via a 
new controller codenamed “Newton”, though that could simply be more internet lies 
gaining truth through repeated assertion &mdash; the 360 would be uncontested.
</p>
<p>
Complaints are few, but the unit isn’t perfect.</p>
<p>
It has a taste for polycarbonate, for instance, viciously destroying discs if 
you happen to move the unit at all while it’s on and endlessly spinning the 
disc.</p>
<p>
[<b>SUPER PRO TIP:</b> After my GTA IV got eaten 
during a foolhardy move of a powered-on unit, the game would no longer launch 
but instead would freeze up the device. I never got around to replacing it, 
though I did discover that Rockstar Games does offer replacement media if you 
ship your old media to them along with $7.50. After the new NXE interface was 
released a few months back, with its newly offered install-to-disc 
functionality, out of curiosity I rented GTA IV from a local video and game store, installed it 
to the hard drive, and then returned it. From then on the game plays perfectly 
with my now defective disc in the drive. Presumably the sectors it checks to 
validate ownership are all still fine, and as another benefit I no longer have 
to listen to the optical disc noise whenever the unit is on, which is a huge 
improvement regardless.]</p>
<p>
The “HD” movies available for rent online are decidedly not HD, at least not comparable to blu-ray or the defunct HD-DVD format. This isn’t 
surprising given that they clock in at about 4 to 6GB, versus the 30GB or so for 
many really high definition movies, both options using the latest codecs. They 
also offer a mediocre 24 hour view window from first play for rented/downloaded 
videos, and prices that seem a bit excessive (HD rentals come in at around $8 
here in Canada, versus the $5.49 to rent from a video store, and the latter 
option gives me much more liberal usage times). Media embargos mean that a lot 
of movies simply aren’t available to Canadian users.</p>
<h4><i>
Computing Power</i></h4>
<p>
Computing power has gotten incredible. Quad-core CPUs, giant caches, ultra fast 
memory, arrays of massive storage devices. The storage front in particular holds 
incredible promise now that we’re adding SSDs to the mix. 
<a href="http://www.engadget.com/2008/08/11/diy-ssd-adapter-takes-6-sdhc-cards-the-cake/">Here’s a pretty neat 
little product</a> for a DIY SSD, in this case multiplexing 6 SDHC cards for much 
faster access. Get 6 of those (each with 6 SDHC cards), put them in a RAID10 
array…you’d have <i>absurd</i> speed levels 
for about $800 for an array with 288GB of usable space. Sure that isn’t a lot of 
space, but it’s enough space for most reporting or OLTP databases, and you’d be 
enjoying 360MB/second or so read speeds and 60MB/second write speeds or better, 
coupled with almost instant access times.</p>
<p>
Some inefficient-for-processing-but-good-for-development practices and 
technologies are becoming more tenable with the surfeit of computing power we 
have available to us.</p>
<h4>
The Bad of 2008</h4>
<h4><i>
Computing Power</i></h4>
<p>
While it also made a showing in the Best of 2008, available computing power is 
still underpowered for video tasks. Once you start editing and rendering 1080p videos 
from the growingly common HD video cameras, and the speed of storage, the speed of 
memory, the speed of processors (even though video processing is one of the most 
capable and willing of using quad-core CPUs…it still isn’t enough)…all of it 
leaves a lot to be desired and makes it a less than pleasant, time consuming 
experience. An add-in MPEG4 compression coprocessor might be a good choice (my 
HD video camera has it, this tiny device doing real-time AVCHD compression, 
AVCHD being a variant of MPEG4, squashing to 17Mbps of video and audio info).</p>
<h4><i>
Video Codecs</i></h4>
<p>
The video codec world is a mess. If I want to convert from AVCHD to a Divx AVI, 
why is any transcoding necessary at all (which always reduces quality)? Both are 
MPEG4 codecs. In fact, virtually every top-tier codec now is just a pretty face 
and quasi-unique wrapper around MPEG4, albeit usually with just enough secret 
sauce to screw it all up. So why not just standardize on one wrapper? It seems 
to be incompatibility for the sake of incompatibility. [<strong>EDIT</strong>: Ben noted in the comments that 
I was quite wrong here. Turns out that MPEG4 is a bit of a hodge podge of codecs, and Divx shares 
little in common with AVC. From now on I’ll be encoding home video clips to x.264]</p>
<h4><i>
Blu-ray</i></h4>
<p>
The movies are too expensive. The benefits are too few. While the under-featured 
players (which seldom offer now common DVD functionality like Divx/MP4 playback, 
USB media playback, etc) are finally dropping in price, it’s still only a good 
option if you have a reliable source of rentable blu-ray discs (services like 
Netflix or Zip.ca, for instance, or a well-stocked local video store.)
&nbsp;If you buy discs you have the irritant of 
likely not being able to play them in the family minivan, the kids’ computer, 
your laptop, and so on, which is one of the major downsides of blu-ray.</p>
<p>
The opportunity window for a new optical disc format is closing quickly given 
the growing interest and utilization in internet and proprietary cable system 
delivery (VOD from your cable company, watching downloaded or streamed movies on 
your Xbox 360, iTunes movie downloads, etc).
</p>
<p>
Locally, this year’s boxing day consumptionfest featured a bevy of blu-ray 
player sales, and it is a sign of the times that many of them still have large 
numbers of units left. Strangely the lack of competition with HD-DVD has left a 
lot of people uninterested in the genre as a whole, which is quite contrary to 
many predictions that predicted a blu-ray euphoria once the competition was 
settled.</p>
<p>
It’s a bit surprising that blu-ray discs carry a price premium: They’re harder 
to rip (though the idea that they are uncrackable has <a href="http://www.theinquirer.net/inquirer/news/179/1050179/slysoft-re-cracks-bd-">proven untrue</a>), and the 
outcome is a massive file that is difficult to duplicate on media &mdash; unless you want to put it on a burnable blu-ray disc that costs more than buying the movie new, or seriously degrade the quality which 
would sort of miss the point of ripping from a high definition source (no codec Divx magic here. The codecs used on most blu-ray discs are the cutting edge) &mdash; or online. I 
would expect the media groups to heavily push blu-ray, at no price penalty, 
purely to try to head off piracy with a more unwieldy format.</p>
<h4><i>
Google’s Chrome Browser</i></h4>
<p>
Chrome could be the world’s greatest browser and I still wouldn’t like it. 
Thankfully it isn’t the best browser by a long shot, so I don’t have to 
rationalize that conflict too far. Aside from a mostly theoretical process 
isolation model (which seems to have little real-world benefit, as many users 
find Chrome to be one of the most catastrophically crashy browsers of the bunch), Chrome 
offers little to justify choosing it. The V8 JavaScript engine would have been a 
winner if it came out 6 months earlier, but it turns out that Google was far 
from alone in working to speed up JavaScript.</p>
<p>
The reason I grief about Chrome is because it has no reason to exist. The only 
viable reasons why Google felt the need to make their own browser are decidedly
<i>not</i> good for the 
internet at large. Google owning and controlling a browser brings the same 
worries and concerns that Microsoft controlling a browser does.</p>
<p>
Google makes their money selling ads. It concerns me having an advertising 
company running a browser project, even if they do provide a 
related-but-not-quite-the-same source tree as if that makes everything okay.</p>
<p>
It bothers me even more that Google’s advertising initiatives have completely 
focused on subverting the Firefox userbase, cannibalizing a credible alternative 
to Internet Explorer that was finally becoming mainstream. I’m not entirely sure 
what Google’s motives are with this plan, but there is no way they can color 
this as Google the Good And Benevolent. It’s either an insidious end game 
playing out, or it’s some insular, egotistical developers at Google who just had 
to control things themselves, not content to work with the existing browser 
projects when they can stand tall and scream “We’re Google damnit! We’re super 
smart!”</p>
<h4><i>
Macromedia cum Adobe Flash</i></h4>
<p>
Many of the problems people encounter with “Firefox “(purported memory bloat and 
CPU saturation) are Flash related.</p>
<p>
On my three-year-old son’s low-end PC &mdash; a Pentium IV 1.7Ghz with 1GB (anemic but 
not <i>that </i>bad) &mdash; many of the great 
online children games sites (such as <a href="http://www.cbc.ca/kids/">CBC</a>, <a href="http://www.nickjr.com/playtime/?=">NickJr</a>, <a href="http://pbskids.org/">PBS</a>, <a href="http://www.tvokids.com/">TVOntario</a>), which are 
largely built around Flash, slog to an unusable crawl in Firefox, yet they run with 
gusto in IE on the same PC. This is odd given that the overwhelming 
bulk of computation in both cases occur entirely within the Flash environment 
(the browser essentially acting as a thin wrapper, and I can&#39;t imagine the basic 
    communication between environments is so onerous that it could account for the 
    difference), so hypothetically there should be complete equivalency between the 
    browsers.</p>
<p>
The #1 problem many users have using Linux-based boxes to browse the tubes are 
Flash related. This is becoming more critical as more and more Linux-based NetBooks 
    hit the market.</p>
<p>
Memory leaks. Sluggishness. Crashes. Flash is quite often the source.</p>
<p><a href="http://www.flickr.com/photos/dforbes/282547132/" title="Commerce Court - Toronto, on Flickr"><img align="right" vspace="6" hspace="6" src="http://farm1.static.flickr.com/111/282547132_6639d6946c_m.jpg" width="180" height="240" alt="Commerce Court - Toronto" /></a>
Flash brings a tremendous amount of richness to the web. Without it those game 
sites really couldn’t exist (I exclude Java and ActiveX given their serious 
problems, not to mention that Flash is purpose suited for exactly these sorts of 
    projects), and of course it is now the foundation for most every video site. 
Adobe even donated the Tamarin project to the Mozilla project, though it didn’t 
turn out being the win it should have been given that Tamarin is largely focused 
on the DoA JavaScript 2.</p>
<p>
Adobe really needs to fix this player. It has become foundational to the web.</p>
<h4><i>
Internet Explorer 8</i></h4>
<p>
This browser is so incredibly terrible that I have think that all of the MS 
developers that launched IE to greatness between versions 4 to 6 must have gone 
on twenty-year sabbaticals with their then-lucrative stock options. This browser 
is terrible in every way, and unless there is some tremendous forward momentum 
in the final sprint, it is completely unjustifiable as a browser choice, not 
even ranking among the top tier browsers (which include Firefox, Safari, Opera, 
and to a lesser extent Chrome). Using IE 8 would be like using Netware to run 
your network today, simply because it once was a good choice.</p>
<h4><i>
Nintendo Wii</i></h4>
<p>
The Wii has a lot going for it.</p>
<p>
It has a great range of family friendly games, built in wireless connectivity, 
and unarguably innovative controls. It has a large catalog of games, and is easy 
to use with a low complexity barrier to entry.</p>
<p>
It has been the definite winner of the next generation console wars, even though 
Nintendo brought the last generation to the fight.</p>
<p>
I want to love the Wii.</p>
<p>
But I don’t.</p>
<p>
Many Wii games seem to utilize the motion sensing controls in the most gimmicky 
way possible, featuring shallow gameplay that seems more like a quickly hacked 
together technology demo than a serious offering.
</p>
<p>
Even where you aren’t forced to flail around with the control to do rudimentary 
actions, you quickly find that philosophically many Wii games insist upon 
“balance”, kicking you in the nads when you’re ahead, giving you a firm push when you’re 
behind.
</p>
<p>
Maybe there’s something cultural about that. But when I’m trying to crush my 
children’s contest hopes with my Mario Kart awesomeness, teaching them a life 
lesson about competitiveness, it’s a bit flummoxing to continually get knocked 
down while they get an endless series of speedups.</p>
<p>
My five year daughter easily dominates my long-time-bowler father-in-law in Wii 
bowling, with seemingly random movements yielding amazingly strings of strikes.</p>
<p>
Then there are the often unavoidable text bubbles that assault the player in the 
hundreds, making an unwanted appearance in many Wii games (particularly those 
sourced from Japan. This seems to be something that Japanese games have relied 
upon heavily going back to the Phantasy Star / Zelda days). Going past these 
asinine play obstacles is incredibly irritating, at least for me. Half the game 
play, it seems, is the challenge of maintaining sanity and an interest in the 
game after clicking through a hundred sparse text bubbles full of unnecessary 
and uninteresting filler text.</p>
<p>
While the motion sensing element of the controllers are arguably best of this 
generation (using standard Bluetooth making them theoretically <a href="http://blogs.msdn.com/coding4fun/archive/2007/03/14/1879033.aspx">usable on other 
devices like the PC</a>), the other hardware of the Wii is seriously outdated: 
Basically last generation’s Gamecube with a paintjob. The SDTV output is 
underwhelming, offering so little definition that it’s painful to play 
split-screen multiplayer, which is a waste given that many of these units are 
hooked up to sets capable of at least 1280x720, often even 1920x1080.</p>
<p>
As one of the early buyers of the Wii, and the target demographic given that my 
family features three young children, I can’t help but express some 
disappointment in the unit. I really don’t understand how it still manages to 
get the attention it does, still existing in a honeymoon while people stock up 
on hardware and games they’ll never actually play.</p>
<p>
[Sidenote: Got the kids Wii Music for Christmas to discover it’s more of the 
same formula. It’s a mile wide and one inch deep. Yet again it seems like a 
technology demo dressed up as a pretend game]</p>
<h4><i>
Online Comments</i></h4>
<p>
While it’s expected that the sophistication of comments on a site like YouTube 
will lie somewhere around the intellectual level of head-injured drunk, there 
remained the hope that other sites might feature a more intelligent contributor. 
When some major Canadian newspapers added comments, I looked forward to a presumed 
onslaught of interesting and thought provoking contributions. Instead I was 
disheartened by the complete lack of political sophistication, the partisan 
political team cheerleading, the sophistry, the endless logical fallacies, the 
idiocy…all of it has reduced my opinion of mankind. I can only hope that it is a grossly 
unrepresentative demographic that feels the need to post their thoughts on 
newspaper sites.</p>
<h4><i>
The Decline of Honesty</i></h4>
<p>
When did lying become so acceptable and commonplace? When did people feel so 
justified in descending to lies so long as it gets hits?</p>
<p>
The Internet has always been home to a large number of hoaxes and exaggerations, 
but this year saw truth and reality suffering a serious beat down, and it only 
looks to be getting worse.</p>
<p>
Some lies made their presence known via the blogger’s tale of extraordinary 
interaction with some larger than life caricature (which a gullible readership 
ate up because it confirmed their own simplified worldview, biases or bigotry.) 
Honestly, goatse with a chaser of tubgirl was less offensive than some of the 
obviously manufactured fiction being paraded as truth nowadays.
</p>
<p>
Lies also appeared with frequency on “citizen journalism” sites, where there’s a 
strong incentive to egregiously misrepresent or misreport, zooming to top the 
social sites with the most extravagant and inflammatory story possible. A recent 
example &mdash; only one of an endless stream of alike cases &mdash; would be the FDA’s 
decision that the many benefits of eating fish are so compelling that they 
outweighed the small potential risks of mercury, so they considered revising 
their existing recommendations that
encouraged avoidance, switching to one that was more moderate, in the same 
way that exercise is generally recommended even though you
<i>might</i> get hit by a car or a stray 
asteroid. Along came the “citizen journalism” sites simply discarding the kernel 
of truth, instead declaring that the FDA decided that mercury is “safe” 
(presumably at the behest of their Mega Mercury Corporation masters).
</p>
<p>
No nuances or fuzzy grays that require a moment of thought are desired when 
there’s a crowd to enrage into voting you up and forwarding the story on to 
others. For all of Fox News’ many, many, many faults, they have a brother in 
citizen journalism on the net.</p>
<p>
Lies also grew via the viral videos that have been saturating the net, with that 
seemingly no-cost amateur video more likely being an expensive production of a 
Lying for a Living viral video manufacturer. Lie it up, and afterwards everyone 
can have a big laugh about it and cheer on your product.</p>
<p>
So much content is undeclared fiction now that it’s a bit of a cry wolf story playing out. 
Many readers have become so jaded they simply believe nothing that they can’t 
witness directly themselves. You don’t even need to “look at the pixels” 
anymore: If it’s getting a lot of attention, it’s probably made up from a 
blogger’s imagination, a gross misrepresentation that has little correlation 
with reality, or a viral video that somehow is going to get some company 
attention.
</p>
<p>
Yeah, there’s a sex toy on the side table of your real estate picture &mdash; ha ha ha. 
Enjoy the PageRank your little hoax earned as every social media site plays 
right into your devious plans with links, a gullible public all thinking they caught you 
in a hilarious blunder instead of the planned out web strategy you’re pursuing. Another 
variation is the "super duper terrible site...let’s all point and laugh", when the only ones that should 
be laughing are the people fooling you.</p>
<p>
True stories have little impact in an environment of gross exaggerations or 
manufactured tales and caricatures.</p>
<h4><i>
The Economy</i></h4>
<p>
It didn’t take a psychic to see the dangers of the bubble economy (though 
many who pronounced some caution now hilarious see themselves as <a href="http://www.garth.ca/">economic 
seers</a>). Madoff is getting a lot of press for his apparent ponzi scheme, yet in 
many ways the whole market is one giant ponzi scheme. While people often like to 
talk about the “true value” of things (homes, oil, resources, etc), the true 
value is often whatever the market is willing to bear at the moment &mdash; whatever the 
prevailing mindset is &mdash; which is a 
situation naturally prone to booms and busts. Hopefully the downside of the bust 
is flushed out quickly and we can begin the next round of financial chicken.</p>
<h4>
Hopes for 2009</h4>
<p>
I hope the public at large becomes a lot less gullible. Extraordinary claims 
demand extraordinary proof.</p>
<p>
I hope Google abandons the Chrome project, as they have abandoned many other 
misadventures before. Already the adoption has been mediocre, despite widespread 
launch press and a strong push by Google.</p>
<p>
I hope upstream bandwidth starts opening up. It’s great that I have 10Mbps 
downstream virtually around the clock, but when I want to send a 10GB home video 
to a relative (yup, people actually do make their own content sometimes. It 
isn’t all about P2P sharing of pirated material), suddenly that 0.5Mbps upstream 
looks rather anemic. A lot of potential uses for the internet are being choked 
off by the widespread limiting of upstream bandwidth.</p>
<p>
I hope SSDs continue to increase in speed and drop in price, and the operating 
system makers such as Microsoft properly adapt to this storage mechanism (for 
instance a paging file is not a good idea on flash devices. Personally I think 
they aren’t a good idea <i>at all</i> on any 
modern PC). Unlike a hard drive that generally has but one head mechanism, the 
potential multiplexing within SSDs is virtually unlimited, so the speed 
potential is virtually boundless.</p>
<p>
I hope social link sites move towards more enlightened, individually focused 
algorithms, moving away from groupthink and herd behavior.</p>
<p>
I hope disparate devices and appliances continue to gain capabilities and 
marketshare, and a robust third-party development community is encouraged and 
supported for each (and not just in the &quot;create free stuff for our product so we 
can sell more and make more money, suckers&quot; way, but in a mature model that 
allows for monetization by partners &mdash; even the tiny uISV &mdash; bringing value 
to the product and rewards to the creators).</p>
]]></description>
		</item>
		
		<item>
		  <title>Imagine If Apple Acquired Sony</title>
		  <link>http://www.yafla.com/dforbes/If_Apple_Married_Sony/</link>
		  <guid>http://www.yafla.com/dforbes/If_Apple_Married_Sony/</guid>
		  <pubDate>Wed, 21 May 2008 12:00:00 GMT</pubDate>
		  <description><![CDATA[<p>Microsoft&#146;s spurned advances toward Yahoo -- an incredibly generous
offer that could only have been rejected out of raw bilious contempt -- got me
thinking about possible mergers and acquisitions in the industry. </p>

<p>Which couplings make sense, and which don’t?</p>

<p>The mentioned Microsoft / Yahoo union, for instance, would
be a terrible partnership with almost no merit beyond maybe giving a short-term
legitimacy to Microsoft’s online efforts, temporarily hushing the naysayers.</p>

<p>A Google and Yahoo partnership makes just as little sense.</p>

<p>Of the mergers that would yield more than a fraction of the
sum of the parts, one that just won’t stop buzzing loudly in my brain, is one
that my subconscious has just assumed as inevitable– a Sony/Apple merger. </p>

<p>By today’s market capitalization numbers, it would actually
be an acquisition of Sony (worth approximately $42 billion today) by Apple
(worth a hard to believe $150+ billion), which really is extraordinary to consider.</p>

<p>How could Apple, supplying a small segment of the computer
market, along with a couple of portable electronics devices, dwarf the global
electronics giant Sony? </p>

<p>It seems incredible, but it’s true.</p>

<p>Apple should cement some of that market capitalization with
a merger (a polite acquisition) of Sony.</p>

<p>The synergies possible
between these two companies are absolutely incredible, giving Apple a significant
presence in the entire consumer electronics spectrum (a huge potential worldwide
market for services like iTunes), while gaining industry leading engineering
and fabrication capacity.</p>

<p>They’d even have a Windows-equipped PC division, as hilarious as that would
be. They’d have a whole media division, including movies and music, including
the Gracenotes catalog that was snatched by Sony.</p>

<p>It goes on and on. The more I contemplate how each company could use the other, the more 
inetivable such a pairing seems.</p>

<p>The only conceivable negative for such a merger would be the
infamous distaste Japanese companies have for foreign control (you lose some
value when all of the executives jump out windows in dishonor). A polite “merger
of equals” would probably be the only tenable option.</p>

<p>If such a merger came to pass, it would be a very bad day to
own Microsoft stock.</p>
]]></description>
		</item>
		
		<item>
		  <title>Being &quot;Bad&quot; -or- The Startup Lottery Ticket</title>
		  <link>http://www.yafla.com/dforbes/Be_Bad_Or_The_Startup_Lottery_Ticket/</link>
		  <guid>http://www.yafla.com/dforbes/Be_Bad_Or_The_Startup_Lottery_Ticket/</guid>
		  <pubDate>Mon, 21 Apr 2008 22:22:00 GMT</pubDate>
		  <description><![CDATA[<p>Paul Graham continues his popular series of "How To Get Rich Quick on the Internet. And Fast!" essays with his <a href="http://www.paulgraham.com/good.html">latest entry</a>, "Be Good", in which he describes some startup attributes common among a sampling of successful internet businesses.</p>
<p>One such pattern, observes Paul, is that his selected success stories started with no real revenue plans beyond "get big and flip it".</p>
<p>No subscriptions. No advertisements. No pop-ups. No interstitials.</p>
<p>They started more like a charity than a real business, just bringing good to their userbase with nothing asked or expected in return. At least at first.</p>
<p>This isn&#39;t a new position for Mr. Graham. He has long advocated the idea that you just need to worry about getting the eyeballs and you can figure out how to make money from them later. Or better still &mdash; reading between the lines &mdash; you can let the sucker you flip the thing to worry about the gritty details of how to monetize it, suffering the consequences if the userbase burns it to the ground in defiance of any revenue generating scheme.</p>
<p>This isn&#39;t a surprising position for Paul to support. It is entirely aligned with his micro-VC organizations&#39; business model, which is to take young, time- and energy-rich grads, fresh out of the college mill, and bankroll them with a small investment (which they need because they won&#39;t be earning anything from their Internet baby anytime soon), and then cash in when/if they manage to flip it to a sucker that still buys into the many eyeballs model (a strict "No Returns" policy in effect.)</p>
<p>Given the small investment, only a percentage of YC Combinator&#39;s `fundees&#39; need to hit the jackpot for the strategy to succeed, at least for Paul. He&#39;s playing house odds in this startup casino.</p>
<p>Paul provides some examples to demonstrate his position that the charity-that&#39;ll-make-you-rich approach is the winning strategy: Google and Craigslist. Incontestably successful companies, and most would be over the moon to experience a fraction of their success.</p>
<p>Let&#39;s take a closer look at these examples, and see how relevant they are to Paul&#39;s central theme.</p>
<h4>Craigslist</h4>
<p>Craig Newmark, the founder of Craigslist, <a href="http://www.craigslist.org/about/mission.and.history.html">started compiling a list of upcoming local events in 1995</a>, publishing it to subscribers via a listserver. Later, after the list was well established and had a healthy subscriber base, he started publishing entries to a website, adding functionality to allow users to email directly to categorized lists.</p>
<p>Today Craigslist is an internet superstar, constantly ranking among the top 50 websites worldwide. It pulls in impressive revenue numbers through a model that Craig himself describes in <a href="http://answers.yahoo.com/question/index?qid=20060720194938AADFTbO">this entry</a> on Yahoo! Answers.</p>
<p>Craigslist is a rare survivor among thousands, tens of thousands, or perhaps hundreds of thousands of exceedingly similar lists/classified upstarts, most of them run ad-free and for free (sites were often ad free as a simple side-effect of the barriers to entry to hosting ads pre-2000. At that time it wasn&#39;t as simple as signing up for an AdSense account).</p>
<p><a href="http://www.flickr.com/photos/dforbes/2426765254/" title="A Long Day Complete"><img src="http://farm3.static.flickr.com/2276/2426765254_156ae9cd52_m.jpg" width="240" height="161" alt="A Long Day Complete" align="right" vspace="8" hspace="8" /></a>Craigslist had the perfect, rare combination of the real-world personal connections of the founder, an ideal starting locality, userbase, and a progressive evolution that allowed it to build enough momentum that eventually the network effect took over, and you&#39;d use craigslist because everyone uses craigslist, at least in some markets.</p>
<p><b>What You Can Learn From Craigslist</b>: Craigslist is an extreme anomaly. Holding it up as an example of a path to follow is fundamentally akin to analyzing the number picking "strategy" of the latest lottery winner. It&#39;s also an excellent example of how corrupting, and falsely compelling, a <a href="http://en.wikipedia.org/wiki/Survivorship_bias">survivorship bias</a> can be. Countless sites have followed a close to identical path, failing miserably.</p>
<h4>Google</h4>
<p>Google hit the scene during the portal craze. This was a period when every other search engine, failing to sufficiently profit off of search alone, started merging with a gangly bunch of dance partners. Excite hooking up with @Home, for example. To "leverage the synergy", each quickly morphed into a "destination for all things" portal, fattening up their content until they featured a landing page <a href="http://web.archive.org/web/19980703072349/http://www01.excite.com/">absolutely packed from margin to margin</a> with text, news, stock quotes, images, comics, horoscopes, etc.</p>
<p>Ads were almost invisible in this era of visual pollution, and were seldom the problem. Many users were using dial-up, so the content inflation wasn&#39;t just aesthetically deplorable, but it also made the search process a slow, unpleasant experience.</p>
<p>Sergey and Larry had been working on some algorithms for internet search during this period, and with the dot com boom peaking they <a href="http://www.google.com/corporate/history.html">managed to pull together an impressive million dollars in financing before even launching their beta website</a>.</p>
<p>When they did finally get something online, they did the absolute minimal amount possible. Later they described the utter simplicity of the first version as a function of their lack of HTML knowledge: It was the best they could do, or cared to do, at the time.</p>
<p>They had differentiated themselves, however inadvertently, and it worked brilliantly. They had copious long-term financing (not "flip it to someone else" financing) before even launching, so they had no need to worry about making money immediately, using the website as a technology demo that would conceivably allow them to sell search technology and services to third parties and businesses.</p>
<p>While the quality of the search results got the Google buzz started, the dial-up bandwidth-friendly simplicity of their offering really won people over. Yet it was a simplicity that came primarily because the company only really had one product &mdash; search &mdash; and couldn&#39;t link to hundreds of other provided services.</p>
<p>When everyone else went heavyweight, the minimalism of Google got it a lot of attention among technology trend makers. That exposure on sites like Slashdot &mdash; amplified when the community learned that Google ran Linux &mdash; got them their next $25 million in financing, and the rest is history.</p>
<p><a href="http://www.flickr.com/photos/dforbes/2390226937/" title="Wishes"><img src="http://farm3.static.flickr.com/2210/2390226937_c68e5755c4_m.jpg" width="240" height="161" alt="Wishes" align="right" vspace="8" hspace="8" /></a>With their advertising initiatives Google took exactly the same approach, and when everyone else was using pop-up, high-bandwidth, obnoxious ads, Google zagged and had text ads. As others have adopted Google&#39;s text ad approach, Google has started adding in animated and full graphics ads to their docket.</p>
<p><b>What You Can Learn From Google</b>: If you have an algorithm or technology that is sufficiently impressive enough to get a million dollars in financing before you&#39;ve even left the drawing board, maybe you can take lessons from Google beyond "<em>differentiating from the competition is good</em>" (which is fairly obvious advice.)</p>
<h4>The Cold, Hard Truth</h4>
<p>The vast majority of "go big of go home" web ventures will fail. It isn&#39;t a meritocracy. Luck has a lot to do with it. There is little you can learn from the success stories unless you also learn from the failures, yet aside from the huge flameouts (which had to have enough success to even be notable), most failures fizzle out and disappear without a trace.</p>
<p>From the opposite angle, many "grow revenue from day one" websites have succeeded admirably (I just gave a local babysitter directory $39 for 3 months of lookups), albeit not without the "lottery ticket" quick payoff that a miniscule percentage of the winner-take-all players yield.</p>
<h4>Ethics and Morals</h4>
<p>It&#39;s a risky and disingenuous proposition to build a website, baiting a community, on one model &mdash; the "Good" and charitable model &mdash; and then switch the userbase once the founder&#39;s numbers get drawn. It&#39;s a scummy behavior to engage in, much less evangelize. It also might have the opposite effect than intended: I might not care whether a site like a social link voting site has a revenue model, but when I was considering photo sites I immediately discarded those that followed the Paul Graham business model, considering the risks too high: Either it would eventually be forced to flail about, obnoxiously trying different approaches at making it pay, or it would fold with a "Sorry We Got Bored Our Numbers Didn&#39;t Come Up" notice one fateful day. Instead I went for one with a sustainable business model, and haven&#39;t been unhappy with my decision (even if it did cost me a bit per year for all of the features).</p>
<h4>Bits And Bytes</h4>
<ul>
<li>This entry was authored in emacs.</li>
<li>A quad-core is definitely your best choice, especially given the huge price drops just announced.</li>
<li>I called the whole Riya thing perfectly.</li>
<li>The standard for comments in code shouldn&#39;t be driven by the need to provide endless guideposts for incompetent programmers. If it describes something that should be obvious by the code, you&#39;re fixing the wrong problem (which can be either unclear code, or incompetent programmers, or both).</li>
<li>Most developers don&#39;t rely upon books anymore because the overwhelming majority of technical books are garbage.</li>
<li>Bits and Bytes was a <a href="http://en.wikipedia.org/wiki/Bits_and_Bytes">brilliant educational program on TVO</a> in the early 80s, and it is entirely responsible for beginning my love of computer hardware and software.</li>
<li>Nassim Nicholas Taleb explores survivorship and confirmation biases excellently in his books the Black Swan and Fooled by Randomness. While I was put off by his ego, and 
the expansion of a paragraph-worth idea into chapters, they&#39;re still great reads.</li>
</ul>]]></description>
		</item>
		
		<item>
		  <title>The Hyperinflation of XMLSpy</title>
		  <link>http://www.yafla.com/dforbes/The_Hyperinflation_Of_XMLSpy/</link>
		  <guid>http://www.yafla.com/dforbes/The_Hyperinflation_Of_XMLSpy/</guid>
		  <pubDate>Tue, 18 Mar 2008 12:00:00 GMT</pubDate>
		  <description><![CDATA[<p >Back in the late 1990s, when XML was still in its formative
years (a state some would argue continues to this day), XML Spy was a very
welcome entrant to the developer tools market, bringing intuitive, GUI-based schema
and basic transformation authoring and validation to the developer’s desktop. </p>
<p >While some were productive and happy with just the W3C specs
and a copy of emacs, many of us only used XML intermittently, building an
export, import or transformation that simply worked, promptly forgetting all of
the nuances of DTDs versus XSDs versus XDRs, or the quickly changing XSL(T)
specifications.</p>
<p >It was a great step forward in the uptake and quality of XML
utilization to have such an easy to use, up-to-date tool.</p>
<p >At the time XML Spy was basically shareware, offering a
fully featured 30-day trial, at worst popping up the occasional “please
register me!” exhortation. </p>
<p >Many just registered it: it was an easy sell at <a
href="http://web.archive.org/web/19990430062708/http:/www.xmlspy.com/">$54 a
user</a>, less if you bought multiple copies. That’s almost disposable money,
and was an easy pitch to most managers. It was easy enough saying “let’s get a
copy for everyone in the group. Even for the guy in the cube near the washroom,
anti-XML rage bursting from his trembling lips in a spray of spittle and phlegm.”</p>
<p >Time goes on and we all moved to different projects, divisions
and companies, often with long gaps needing little or no in-depth XML. When
those instances came up, we’d try to find an old licensed copy, or would
download the latest trial, using yet another toss away email address for the
validation.</p>
<p >And XML Spy just kept getting more expensive. The company
grew and grew (note that the domain on the original archive.org link above actually
expired, and now sits in the hands of a domain ad purveyor), and the dollar
signs in their dreams had them imagining, apparently, of a day when millions of
information workers sat toiling their days away in the pure awesomeness of XML
Spy. In emacs-esque form, it had grown more and more functionality, even if
many users never used it for anything more than creating and validating schemas
and transformations.</p>
<p >By late 2000, the price of XML Spy had inflated to <a
href="http://web.archive.org/web/20001204211600/http:/xmlspy.com/">$149 a user</a>.
By the end of the next year it hit <a
href="http://web.archive.org/web/20011116014146/http:/www.xmlspy.com/">$399 a
user</a>. By late 2006 it was up to <a
href="http://web.archive.org/web/20061117013237/xmlspy.com/pricelist.html">$499
a user</a> (at some point dropping the space between XML and Spy, becoming
XMLSpy). </p>
<p >As I write this it’s up to <a
href="https://shop.altova.com/pricelist.asp">$539 a user</a>.</p>
<p >Maybe XMLSpy is developed in a poorly insulated aircraft hangar
in Siberia, and thus is strongly impacted by the price of oil?</p>
<p align="center"><img src="http://www.yafla.com/dforbes/images/xmlspy_versus_oil.png" width="483" height="291" alt="XMLSpy versus Oil -- Peak XML?" /></p>
<p >A ten-fold jump in price in about 8 years seems excessive.
What was once a wonderfully priced utility is now a considerably expensive
development ecosystem. What was once an easy purchase (at one workplace I just
paid for it myself rather than deal with the annoyance of a requisition form)
is now a difficult to justify expenditure, requiring vendor comparisons, and negotiations
with middle managers. When the money handlers are convinced, often it’s just for
partial coverage of the development team. </p>
<p >You end up with the “XML guy”, rather than having a team appropriately
equipped with a uniform set of tools.</p>
<p >Of course, clearly my complaints are off base. Altova obviously
did appropriate research, and they determined that there <i>really</i> are
people and groups who’ll happily pay more for an XML editor than they paid for their
entire Visual Studio suite. </p>
<p >But come on, Altova – bring back a, err, “Semi-Professional”
version – something with XML schema and transformation authoring and validation
and nothing more. No grand vision where your product is the center point of a
developer’s existence. Put a reasonable price tag on it – like $59 – and I’m
sure you’ll get a lot of sales where right now you get none. I realize you probably 
have lots of big buildings with expensive lights, and layers and layers of bureaucracy 
to  finance, but don’t do it all on the back of a simple little XML utility.</p>]]></description>
		</item>
		
  </channel>
</rss>