<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software, Technology, Business &#38; Life</title>
	<atom:link href="http://jc-bell.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://jc-bell.com/blog</link>
	<description></description>
	<lastBuildDate>Sat, 31 Dec 2011 16:03:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Fantasecond response time</title>
		<link>http://jc-bell.com/blog/2011/09/21/fantasecond-response-time/</link>
		<comments>http://jc-bell.com/blog/2011/09/21/fantasecond-response-time/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 03:52:39 +0000</pubDate>
		<dc:creator>Jim Bell</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://jc-bell.com/blog/?p=240</guid>
		<description><![CDATA[Here&#8217;s a fascinating in-depth study of one second of market data for a single stock: HFT [High Frequency Trading] Breaks Speed-of-Light Barrier, Sets Trading Speed World Record. Adds a new unit of time measurement to the lexicon: fantasecond. On September 15, 2011, beginning at 12:48:54.600, there was a time warp in the trading of Yahoo! [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a fascinating in-depth study of one second of market data for a single stock:</p>
<blockquote><p>
<b><a href='http://www.nanex.net/Research/fantaseconds/fantaseconds.html'>HFT [High Frequency Trading] Breaks Speed-of-Light Barrier, Sets Trading Speed World Record.</a></b><br />
Adds a new unit of time measurement to the lexicon: fantasecond.<br />
<br />
On September 15, 2011, beginning at 12:48:54.600, there was a time warp in the trading of Yahoo! (YHOO) stock. HFT has reached speeds faster than the speed-of-light, allowing time travel into the future. Up to 190 milliseconds into the future, or 0.19 fantaseconds is the record so far. It all happened in just over one second of trading, the evidence buried under an avalanche of about 19,000 quotes and 3,000 individual trade executions. The facts of the matter are indisputable. Based on official UQDF/UTDF exchange timestamps, there is unmistakable proof that YHOO trades were executed on quotes that didn&#8217;t exist until 190 milliseconds later!</p>
<p>Millions of traders depend on the accuracy of exchange timestamps &#8212; especially after bad timestamps were found to be a key factor in the disastrous market crash known as the flash crash of May 2010.  &#8230;
</p></blockquote>
<p>The lowly time-stamp. Not rocket science. Not crucial like price, right? What&#8217;s to get wrong? An exchange with unlimited resources couldn&#8217;t mess up like that, could it? (Assuming the analysis is correct.)</p>
<p>As a software builder, I wonder <em>how did it happen</em>?</p>
<p>It probably wasn&#8217;t buggy code: unit tests are good, but more of them probably won&#8217;t catch this one.</p>
<p>Was it sheer load? It wasn&#8217;t the highest overall traffic they experienced:</p>
<blockquote><p>
The chart below shows quote message rates for UQDF and multicast line #6 which is the line that carries YHOO quotes. &#8230; Although traffic from YHOO was a significant percentage of all traffic on UQDF, it was not high enough to indicate any problems. Note the much higher surge on the right side of the chart; there weren&#8217;t any known problems at that time in YHOO.
</p></blockquote>
<p>So the system would pass a generic stress test. Yet still allow this.</p>
<p>Maybe the system was stressed in some unexpected way. This stress&#8217; profile wasn&#8217;t predicted, characterized, mitigated.  The system design didn&#8217;t account for it.</p>
<p>A multi-tasking operating system is likely part of the picture. Maybe another task was started that tied up crucial resources, even just CPU. Maybe not even a lot of resources, or not for very long. A multi-tasking operating system is geared to never say &#8220;enough.&#8221; Another task in the CPU&#8217;s ready queue? No problem. Out of RAM? Swap some to disk: user programs can&#8217;t even tell!</p>
<p>Information hiding gets us off the &#8220;honors system&#8221; with memory usage. But in the time domain, you&#8217;re still very much on the honors system: no one can make you complete your task in a given time. In fact, any innocuous-looking call can have any amount of code hiding deep inside it.</p>
<p>You can make a user wait for a tenth of a second or more and still seem really responsive. (Think &#8220;garbage collection.&#8221;) But a real-time data feed won&#8217;t wait. It&#8217;s a different ball-game.</p>
<p>Maybe we&#8217;re just seeing a hardware limitation hit. Maybe the best machines money can buy just can&#8217;t keep up with certain kinds of volume. There&#8217;s no guarantee they can.</p>
<p>Interesting stuff.  Hat&#8217;s off to the author for such a detailed analysis.</p>
<p class=hattip>Via <a href='http://www.zerohedge.com/news/its-official-hft-breaks-speed-light-barrier-sets-trading-speed-world-record'>ZeroHedge</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jc-bell.com/blog/2011/09/21/fantasecond-response-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Super Cool, Super Divergent</title>
		<link>http://jc-bell.com/blog/2011/08/03/super-cool-super-divergent/</link>
		<comments>http://jc-bell.com/blog/2011/08/03/super-cool-super-divergent/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 16:36:22 +0000</pubDate>
		<dc:creator>Jim Bell</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jc-bell.com/blog/?p=236</guid>
		<description><![CDATA[Smart-phone platforms: iPhone, Android, WebOS, Maemo, etc. All are super-cool. But all are also astonishingly divergent in their approach to many of the details. So much so that one has to learn each one separately. My wife (an Android user) picks up my (webOS) phone and gets frustrated with it. I find this particularly surprising [...]]]></description>
			<content:encoded><![CDATA[<p>Smart-phone platforms: iPhone, Android, WebOS, Maemo, etc.</p>
<p>All are super-cool.  But all are also astonishingly divergent in their approach to many of the details. So much so that one has to learn each one separately. My wife (an Android user) picks up my (webOS) phone and gets frustrated with it.</p>
<p>I find this particularly surprising since we&#8217;ve been making &#8220;intuitive&#8221; Graphical User Interfaces for a generation now, with standards that have been around nearly that long.</p>
<p>I&#8217;m sure they&#8217;ll converge again before too long, as (hopefully) the best ideas are adopted broadly.</p>
]]></content:encoded>
			<wfw:commentRss>http://jc-bell.com/blog/2011/08/03/super-cool-super-divergent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Insidious Ad Award</title>
		<link>http://jc-bell.com/blog/2011/06/01/insidious-ad-award/</link>
		<comments>http://jc-bell.com/blog/2011/06/01/insidious-ad-award/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 17:32:38 +0000</pubDate>
		<dc:creator>Jim Bell</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jc-bell.com/blog/?p=232</guid>
		<description><![CDATA[Here&#8217;s a screen-shot of ClamWin.com&#8217;s main page, as of today. Notice the giant Download button on the right. That&#8217;s really an ad for who-knows-what. To download ClamWin, you want the much-smaller download menu item on the left. Caveat emptor.]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a screen-shot of ClamWin.com&#8217;s main page, as of today.</p>
<p><img src="/images/DontDownload.jpg" alt="Watch that download!" /></p>
<p>Notice the giant Download button on the right. That&#8217;s really an ad for who-knows-what.  To download ClamWin, you want the much-smaller download menu item on the left.</p>
<p>Caveat emptor.</p>
]]></content:encoded>
			<wfw:commentRss>http://jc-bell.com/blog/2011/06/01/insidious-ad-award/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Cloud: Availability vs Complexity</title>
		<link>http://jc-bell.com/blog/2011/05/02/the-cloud-availability-vs-complexity/</link>
		<comments>http://jc-bell.com/blog/2011/05/02/the-cloud-availability-vs-complexity/#comments</comments>
		<pubDate>Mon, 02 May 2011 13:23:28 +0000</pubDate>
		<dc:creator>Jim Bell</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://jc-bell.com/blog/?p=230</guid>
		<description><![CDATA[Via LinkedIn: Amazon Explains Its Cloud Disaster. As complexity grows, paths (through the software) and combinations of paths not often taken now fire. We spend a lot of time and energy controlling and predicting what will happen, but our best efforts aren&#8217;t always up to it. Hats off to Amazon for publishing their detailed finding.]]></description>
			<content:encoded><![CDATA[<p>Via LinkedIn: <a href="http://money.cnn.com/2011/04/29/technology/amazon_apology/index.htm?source=cnn_bin&#038;hpt=Sbin">Amazon Explains Its Cloud Disaster</a>.</p>
<p>As complexity grows, paths (through the software) and combinations of paths not often taken now fire.  We spend a lot of time and energy controlling and predicting what will happen, but our best efforts aren&#8217;t always up to it.</p>
<p>Hats off to Amazon for publishing their detailed finding.</p>
]]></content:encoded>
			<wfw:commentRss>http://jc-bell.com/blog/2011/05/02/the-cloud-availability-vs-complexity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Then the LAN, Now the Cloud</title>
		<link>http://jc-bell.com/blog/2011/04/26/then-the-lan-now-the-cloud/</link>
		<comments>http://jc-bell.com/blog/2011/04/26/then-the-lan-now-the-cloud/#comments</comments>
		<pubDate>Wed, 27 Apr 2011 02:45:08 +0000</pubDate>
		<dc:creator>Jim Bell</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://jc-bell.com/blog/?p=222</guid>
		<description><![CDATA[Availability isn't a given.]]></description>
			<content:encoded><![CDATA[<p>We use Google Calendar for some things. Who doesn&#8217;t?  Any Android phone you buy pushes you to use it.</p>
<p>And it&#8217;s very cool. Your calendar magically sync&#8217;s with the web, available wherever you go.</p>
<p>What&#8217;s not to like?</p>
<p>Two decades ago, we touted the LAN. Sit down at any computer in the enterprise, log on and do your work.  Super-cool.</p>
<p>Then we rely on the LAN, and when it&#8217;s down, lots of expensive people are sitting around.</p>
<p>Now when &#8220;the cloud&#8221; is down we get the same thing. And, yes, the cloud does go down.</p>
<p><a href='/images/Google-Oops.jpg'><img width=500 src="/images/Google-Oops.jpg" alt="Google says oops" /></a></p>
<p>As mysterious and cantankerous as the LAN could be, the cloud is more so. More out of one&#8217;s control.  Makes me nervous. Am I being curmudgeonly or prudent?</p>
<p><a href='/images/Google-Oops.jpg'><img width=500 src="/images/Google-Oops2.jpg" alt="Google unavailable" /></a></p>
<p>And though it&#8217;s cool that the apps are free, how much leverage do we have over Google to keep it all humming, or fix it fast when it breaks?</p>
]]></content:encoded>
			<wfw:commentRss>http://jc-bell.com/blog/2011/04/26/then-the-lan-now-the-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conserving Screen Height: Killing &#8220;Height Cruft&#8221;</title>
		<link>http://jc-bell.com/blog/2011/04/01/killing-height-cruft-conserving-screen-height/</link>
		<comments>http://jc-bell.com/blog/2011/04/01/killing-height-cruft-conserving-screen-height/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 12:52:30 +0000</pubDate>
		<dc:creator>Jim Bell</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://jc-bell.com/blog/?p=211</guid>
		<description><![CDATA[Consider monitor "height cruft" as a developer and a user.]]></description>
			<content:encoded><![CDATA[<p>With the onset of HD, monitors are now <a href='http://en.wikipedia.org/wiki/Widescreen'>wider</a> <a href='http://reviews.cnet.com/16:9-widescreen-tv-aspect-ratio/'>than they are</a> <a href='http://en.wikipedia.org/wiki/Aspect_ratio_%28image%29'>tall</a>. Great for video, but not for computing.</p>
<p>If you&#8217;re a developer, consider screen height a limited, precious resource. Conserve it.  Trade width for height. Kill <strong><em>height cruft</em></strong>. (Can I coin that?)</p>
<p>Button bars: traditionally horizontal at the top of the app. Can you make it vertical, to the left or right?</p>
<p>Even the traditional menu bar (&#8220;File Edit View &#8230; Tools Window Help&#8221;) crowds you down by its height.</p>
<p>Case study: Amazon&#8217;s Instant Video in Internet Explorer. IE adds menu items and multiple button bars at the top. Then amazon&#8217;s web-site adds its headers across the top. The video winds up a tiny fraction of its potential size, squeezed by all the <em>height cruft</em>. Not to blame Amazon: there&#8217;s a &#8220;full screen&#8221; button, and F11 in IE takes away a bunch of stuff (if you know about it).</p>
<p>The lesson: when every layer adds its own, it compounds.</p>
<p>Software developers take heed.</p>
<p>As a user, there&#8217;s lots you can do to conserve height.</p>
<p>Did you know you can put the Windows task bar to the left or right? I put mine to the left, as narrow as possible. You lose a little of the icons&#8217; descriptions, but mousing over gives them back. It flushes out some bugs, too: some programs start in the upper left corner, winding up under the task bar. (To move the task bar, put the mouse on the middle top edge and drag it to the middle left.)</p>
<p>Most software today lets you move menu bars, and the best ones let you dock them to the left or right, making them vertical. Very nice, though they can truncate text menus. Your word processor has several: don&#8217;t live with them crowding you. It&#8217;s worth retraining your eye to work with them vertically. (Convince your complaining co-workers, too.)</p>
<p>For working with source code, height is particularly valuable. Source-code flows down, and seeing more at once is better. I have a two-monitor set-up on my desk-top, and my cheap, last-generation NVidia video card lets me turn one monitor sideways. A <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16824994001&#038;cm_re=neo-flex-_-24-994-001-_-Product">$40 monitor stand</a> and you&#8217;re in business.  This has been an indispensable productivity boost for me. Don&#8217;t work with all horizontal monitors.</p>
<p>When looking at code, can you bump your font-size down one? You&#8217;ll see a lot more.</p>
<p><b>Update</b>. I promise I&#8217;m not making this up: <em>one day</em> after this pontification a client passes along a request to do exactly this: rearrange things to conserve screen height in a program I wrote a couple years ago. File this under <em>eerily prescient</em> or <em>physician heal thyself?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jc-bell.com/blog/2011/04/01/killing-height-cruft-conserving-screen-height/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The next make?</title>
		<link>http://jc-bell.com/blog/2011/02/22/the-next-make/</link>
		<comments>http://jc-bell.com/blog/2011/02/22/the-next-make/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 16:28:18 +0000</pubDate>
		<dc:creator>Jim Bell</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://jc-bell.com/blog/?p=208</guid>
		<description><![CDATA[Many build systems exist to help people build their projects in a cogent manner and avoid the stupefying (albeit powerful) makefile: CMake, scons, boost.build, bjam, ant, etc. Each has its following, often based on the propensity of the audience (C/C++, python, Java). Here&#8217;s another to add to the mix: Cake. And this brief intro on [...]]]></description>
			<content:encoded><![CDATA[<p>Many build systems exist to help people build their projects in a cogent manner and avoid the stupefying (albeit powerful) makefile: CMake, scons, boost.build, bjam, ant, etc.  Each has its following, often based on the propensity of the audience (C/C++, python, Java).</p>
<p>Here&#8217;s another to add to the mix: <a href='http://matthewinrandwick.github.com/Cake/'>Cake</a>.  And <a href='http://lists.boost.org/boost-interest/2011/02/0076.php'>this brief intro</a> on the Boost-interest digest makes the pitch.</p>
<p>No makefile at all. You put compiler flags right in the source code, and it walks your source, looking for special comments and using some naming conventions.</p>
<p>I like the idea of compiler flags in the source. Source-code attributes like dllimport and pragma comment(lib&#8230;) prove that&#8217;s useful.</p>
<p>You need g++ and make (behind the scenes), so that constrains its user base. Will the naming conventions be too restrictive?  It uses a global configuration (in /etc/), but I can envision wanting a project-specific common configuration file, too, being the control freak I am. Will it accommodate?</p>
<p>Put it on your watch list.</p>
]]></content:encoded>
			<wfw:commentRss>http://jc-bell.com/blog/2011/02/22/the-next-make/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Art Project</title>
		<link>http://jc-bell.com/blog/2011/02/03/google-art-project/</link>
		<comments>http://jc-bell.com/blog/2011/02/03/google-art-project/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 13:34:23 +0000</pubDate>
		<dc:creator>Jim Bell</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jc-bell.com/blog/?p=204</guid>
		<description><![CDATA[Google has just introduced its Google Art Project. It&#8217;s Google Street View inside the prominent museums of the world, with high-resolution images of each work. What a great concept! Hat&#8217;s off to them. I&#8217;ve been through Amsterdam three times (stop-overs to other destinations), and never got to see either the Rijksmuseum or the Van Gogh [...]]]></description>
			<content:encoded><![CDATA[<p>Google has just introduced its <a href='http://www.googleartproject.com/'>Google Art Project</a>.</p>
<p>It&#8217;s Google Street View inside the prominent museums of the world, with high-resolution images of each work.</p>
<p>What a great concept! Hat&#8217;s off to them.</p>
<p>I&#8217;ve been through Amsterdam three times (stop-overs to other destinations), and never got to see either the Rijksmuseum or the Van Gogh Museum. I look forward to exploring them here.</p>
<p>I hope and expect that this will increase museum traffic.</p>
]]></content:encoded>
			<wfw:commentRss>http://jc-bell.com/blog/2011/02/03/google-art-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SourceForge Hacked</title>
		<link>http://jc-bell.com/blog/2011/01/31/sourceforge-hacked/</link>
		<comments>http://jc-bell.com/blog/2011/01/31/sourceforge-hacked/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 15:27:58 +0000</pubDate>
		<dc:creator>Jim Bell</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jc-bell.com/blog/?p=202</guid>
		<description><![CDATA[The SourceForge site was hacked last week, with the attackers going as far as putting a hacked SSH daemon in place. Since hacking pushes one towards paranoia, let&#8217;s go there for a minute. An attacker being able to change source-code in any SourceForge repository, bypassing change-logs and hacking files&#8217; time-stamps, could introduce compromised source-code to [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://sourceforge.net/blog/sourceforge-attack-full-report/">SourceForge site was hacked last week</a>, with the attackers going as far as putting a hacked SSH daemon in place.</p>
<p>Since hacking pushes one towards paranoia, let&#8217;s go there for a minute.</p>
<p>An attacker being able to change source-code in any SourceForge repository, bypassing change-logs and hacking files&#8217; time-stamps, could introduce compromised source-code to <a href="http://www.ask.com/web?qsrc=2990&#038;o=0&#038;l=dir&#038;q=%28ssh+OR+ssl%29+site%3Asourceforge.net">a lot of open-source projects that touch on security</a>. The commercial packages that rely on them multiplies that compromise up by who-knows-how-much.</p>
<p>Wow. Ugly.</p>
]]></content:encoded>
			<wfw:commentRss>http://jc-bell.com/blog/2011/01/31/sourceforge-hacked/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GCC Warnings</title>
		<link>http://jc-bell.com/blog/2011/01/19/gcc-warnings/</link>
		<comments>http://jc-bell.com/blog/2011/01/19/gcc-warnings/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 16:33:37 +0000</pubDate>
		<dc:creator>Jim Bell</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://jc-bell.com/blog/?p=199</guid>
		<description><![CDATA[The boost folks just updated their warnings guidelines. A long read, but everything you want to know about dealing with warnings on both MSVC and GCC, all in one place.]]></description>
			<content:encoded><![CDATA[<p>The boost folks just updated their <a href="https://svn.boost.org/trac/boost/wiki/Guidelines/WarningsGuidelines">warnings guidelines</a>.  A long read, but everything you want to know about dealing with warnings on both MSVC and GCC, all in one place.</p>
]]></content:encoded>
			<wfw:commentRss>http://jc-bell.com/blog/2011/01/19/gcc-warnings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

