<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.2.1 on Mon, 27 Oct 2008 16:19:02 GMT -->
<rss version="2.0">
	<channel>
		<title>Amped::Technology</title>
		<link>/</link>
		<description>John Sequeira&apos;s weblog:  enterprise application development,  typed weakly.</description>
		<copyright>Copyright 2008 John Sequeira</copyright>
		<lastBuildDate>Mon, 27 Oct 2008 16:19:02 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss</docs>
		<generator>Radio UserLand v8.2.1</generator>
		<managingEditor>johnseq@pobox.com</managingEditor>
		<webMaster>johnseq@pobox.com</webMaster>
		<category domain="http://rpc.weblogs.com/shortChanges.xml">rssUpdates</category> 
		<skipHours>
			<hour>1</hour>
			<hour>2</hour>
			<hour>3</hour>
			<hour>4</hour>
			<hour>0</hour>
			<hour>5</hour>
			<hour>23</hour>
			<hour>22</hour>
			</skipHours>
		<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc"/>
		<ttl>60</ttl>
		<item>
			<title>Powershell Baby Steps</title>
			<link>/2008/10/27.html#a919</link>
			<description>&lt;p&gt;
Here are some representative tasks I&apos;ve accomplished with Powershell:
&lt;p&gt;
&lt;ol&gt;&lt;li&gt; Migrated filesystem+rdbms-based content into Sharepoint ( using sharepoint SDK )
&lt;li&gt; Indexed SQL database using Lucene.NET. Step 2 is search from web page to produce more-like-this results for e-commerce web site, but the index powershell script will be scheduled to run nightly
&lt;li&gt; synchronized data between source XML feed and target Sharepoint instance ( using sharepoint SOAP api )
&lt;li&gt; used google geocoder to geoencode quickbase dataset ( downloaded as CSV). Wrote back results to Quickbase via REST api 
&lt;li&gt; wrote IIS log-tailing application with powershell+logparser to write latest log entries to sql server,  where they&apos;re processed asynchronously by sql server service broker if the url&apos;s invoked require further action. Kind of a poor-man&apos;s apache module ... 
&lt;/ol&gt;
&lt;p&gt;
Most of the above scripts used log4net for debugging. Example
&lt;p&gt;
&lt;code&gt;
$Log4NetHome = (pwd).path;
$logpattern = &quot;%date [%thread] %-5level [%x] - %message%newline&quot;;
# load the log4net library
[void][Reflection.Assembly]::LoadFile($Log4NetHome + &quot;\log4net.dll&quot;);
# configure logging
[log4net.LogManager]::ResetConfiguration();
$Appender = new-object log4net.Appender.ConsoleAppender( new-object log4net.Layout.PatternLayout($logpattern));
[log4net.Config.BasicConfigurator]::Configure($Appender);
$layout = new-object log4net.Layout.PatternLayout($logpattern);
$Appender2 = new-object log4net.Appender.FileAppender($layout, &quot;myfile.log&quot;);
[log4net.Config.BasicConfigurator]::Configure( $Appender2 );
# determines the log statements that show up
$Appender2.Threshold = [log4net.Core.Level]::Info;
$Appender.Threshold = [log4net.Core.Level]::Info;
$Log = [log4net.LogManager]::GetLogger($Host.GetType());
$Log.Info(&quot;Started the main script...&quot;);
&lt;/code&gt;

I feel like I know very little about Powershell, not fully grokking functions/cmdlets/pipeline vs iterators.  The reason for this is that I get a lot done by dabbling, and don&apos;t have an excuse to go much further than the  &quot;copying &apos;net snippets&quot; level of language mastery.

The above is probably ~ 5 days of coding, spread out over 5 months.  It&apos;s pretty much displaced perl as my data munging tool of choice.  
&lt;p&gt;
Why?  The integration with other tools I use is too good, no CPAN-on-Windows cognitive dissonance,  and I can deploy it to client servers guilt-free since it&apos;s supported/blessed by MS, leaving me more likely to be off the critical path of support.
&lt;p&gt;
Powershell has a big advantage over similar efforts like groovy or boo, in that it&apos;s blessed by the platform vendor and thus destined for criticial-mass in mindshare, community, and google-footprint.  And having it&apos;s own distinct google footprint means it doesn&apos;t &lt;a href=&quot;http://www.jsequeira.com/blog/2006/02/07.html&quot;&gt;break google&lt;/a&gt;, unlike jruby|jython|iron-whatever, etc.  Code samples are easy to find, and you don&apos;t have to worry about the namespace/types clash inherent in running language a on runtime b.

&lt;p&gt;
Yep, I&apos;m a fanboy.

</description>
			<guid>/2008/10/27.html#a919</guid>
			<pubDate>Mon, 27 Oct 2008 16:06:54 GMT</pubDate>
			<category>blog</category>
			<comments>http://radiocomments.userland.com/comments?u=103492&amp;amp;p=919&amp;amp;link=%2F2008%2F10%2F27.html%23a919</comments>
			</item>
		<item>
			<title>SQL Server @ Amazon </title>
			<link>http://aws.amazon.com/windows/</link>
			<description>&lt;p&gt;
Microsoft will be announcing their cloud offering next week at their PDC conference.

When I first heard that Amazon had released their Windows-on-EC2 offering, I was thinking that the timing meant they were trying to steal some thunder from Microsoft. (&lt;a href=&quot;http://blogs.zdnet.com/microsoft/?p=1659&quot;&gt;Mary Jo agreed&lt;/a&gt;)

When I saw the pricing, I wasn&apos;t so sure.

SQL Server on EC2&apos;s smallest server is $1.10/hr, $26/day, $636/mo, $7 632/yr.    

So hosting an ASP.NET+SQL Server site on EC2 that goes over the 4Gig limit storage limit of free SQL Server Express will cost $8500/year if you have a SQL Server and an App Server.  

Or if you just want nothing-fancy ASP.NET hosting you could go with a shared server/shared database host and it&apos;ll cost $10/mo or $120/year.  

Hmmm.   I know these alternatives aren&apos;t comparable, but it seems like two or three of the cheap accounts might get you similar reliability to the host-your-own option for a lot less dough. ( see &lt;a href=&quot;http://www.mosso.com&quot;&gt;mosso.com&lt;/a&gt; for an example of scale out vs scale up)

This implies two things: 
&lt;li&gt;There&apos;s lots of room for a ISV to offer shared SQL Server hosting on EC2 and spread the SQL Server license over more customers and bring the price way down. (Elastra, XKoto ...)
&lt;li&gt;It seems like this disparity gives Microsoft plenty of room to target their cloud offering price-wise.

In other words, Amazon looks like they didn&apos;t get much more than a retail licensing deal out of Microsoft.  What will MS do with their own zero-priced licencing?

As I see it,  MS has two competitive bullseyes to hit: 
&lt;li&gt;something like AppEngine, where you can run your ASP.NET apps backed by e.g. SSDS for free, and
&lt;li&gt;something like EC2, where you have more workload flexibility but you don&apos;t need a whole enterprise OS and you don&apos;t want to get killed by licensing.  

They have some tough choices to make - the more they make use of their sweetheart deal on licensing costs, the more they stomp on their partners.  I&apos;m anxious to see how the stomping plays out next week.















</description>
			<guid>/2008/10/24.html#a918</guid>
			<pubDate>Fri, 24 Oct 2008 13:50:17 GMT</pubDate>
			<category>blog</category>
			<comments>http://radiocomments.userland.com/comments?u=103492&amp;amp;p=918&amp;amp;link=%2F2008%2F10%2F24.html%23a918</comments>
			</item>
		<item>
			<title>The Black Swan: Living in a power-law world</title>
			<link>http://www.amazon.com/Black-Swan-Impact-Highly-Improbable/dp/1400063515</link>
			<description>&lt;p&gt;
&lt;img src=&quot;http://ecx.images-amazon.com/images/I/41ab41bwrRL._SL160_SS100_.jpg&quot; style=&quot;float:right&quot;&gt;Taleb&apos;s &quot;The Black Swan&quot; is a recently read book that describes in great detail one of the underlying phenomenom of the current credit crisis (via &lt;a href=&quot;http://greg.abstrakt.ch/&quot;&gt;Gregor&lt;/a&gt;):

&lt;blockquote&gt;&lt;cite&gt;Our brains are wired for narrative, not statistical uncertainty. And so we tell ourselves simple stories to explain complex thing we don&apos;t--and, most importantly, can&apos;t--know. The truth is that we have no idea why stock markets go up or down on any given day, and whatever reason we give is sure to be grossly simplified, if not flat out wrong.&lt;p&gt;
Nassim Nicholas Taleb first made this argument in Fooled by Randomness, an engaging look at the history and reasons for our predilection for self-deception when it comes to statistics. Now, in The Black Swan: the Impact of the Highly Improbable, he focuses on that most dismal of sciences, predicting the future. Forecasting is not just at the heart of Wall Street, but it&amp;#146;s something each of us does every time we make an insurance payment or strap on a seat belt.&lt;p&gt;
The problem, Nassim explains, is that we place too much weight on the odds that past events will repeat (diligently trying to follow the path of the &quot;millionaire next door,&quot; when unrepeatable chance is a better explanation). Instead, the really important events are rare and unpredictable. He calls them Black Swans, which is a reference to a 17th century philosophical thought experiment. In Europe all anyone had ever seen were white swans; indeed, &quot;all swans are white&quot; had long been used as the standard example of a scientific truth. So what was the chance of seeing a black one? Impossible to calculate, or at least they were until 1697, when explorers found Cygnus atratus in Australia.&lt;/cite&gt;&lt;/blockquote&gt; (from the &lt;a href=&quot;http://www.amazon.com/Black-Swan-Impact-Highly-Improbable/dp/1400063515&quot;&gt;amazon page&lt;/a&gt;)


I believe we learned everything we needed to prepare for the current crisis with the &lt;a href=&quot;http://en.wikipedia.org/wiki/Long-Term_Capital_Management&quot;&gt;Long Term Capital Mgmt&lt;/a&gt; failure (risk model failure during market-wide sell-off; fund too big to fail thanks to positions in complicated unregulated derivates, failing; govt bailout) which the book discusses at length.  And we have addressed none of the risks behind network failures in the intervening years, as interconnections have grown.  
&lt;p&gt;
Here&apos;s hoping that the fix (and I don&apos;t mean the bailout) addresses systemic issues this time around and we don&apos;t just bury our head in the sand like we did last time, pretending to deal/regulate 1st order relationships while ignoring 2nd order+ effects of the financial web.

&lt;p&gt;
&lt;i&gt;Update 1: &lt;/i&gt;&lt;p&gt;
&lt;li&gt;a better quote from the actual book...
&lt;blockquote&gt;&lt;cite&gt;&quot;Globalization creates interlocking fragility, while reducing volatility and giving the appearance of stability. In other words it creates devastating Black Swans. We have never lived before under the threat of a global collapse. Financial Institutions have been merging into a smaller number of very large banks. Almost all banks are interrelated. So the financial ecology is swelling into gigantic, incestuous, bureaucratic banks &amp;#150; when one fails, they all fall. The increased concentration among banks seems to have the effect of making financial crisis less likely, but when they happen they are more global in scale and hit us very hard. We have moved from a diversified ecology of small banks, with varied lending policies, to a more homogeneous framework of firms that all resemble one another. True, we now have fewer failures, but when they occur &amp;#133;.I shiver at the thought.&quot;
&lt;p&gt;
&amp;#151; Nassim Taleb, The Black Swan (2006) &lt;/cite&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;li&gt;A pretty geeky &lt;a href=&quot;http://www.edge.org/3rd_culture/taleb08/taleb08_index.html&quot;&gt;article summarizing the book&lt;/a&gt; by the author
&lt;p&gt;&lt;li&gt;A funny-in-hindsight Forbes article from 7/2007 questioning the premise of the book: &lt;p&gt;
Q:&lt;a href=&quot;http://www.forbes.com/opinions/2007/07/18/croesus-chronicles-swan-oped-cz_rl_0720croesus.html&quot;&gt;Is A Black Swan In The Way Of The 14,000 Dow?&lt;/a&gt;&lt;br&gt;
A: Yes. Yes it is.&lt;/p&gt;


</description>
			<guid>/2008/10/06.html#a917</guid>
			<pubDate>Mon, 06 Oct 2008 13:09:00 GMT</pubDate>
			<category>blog</category>
			<comments>http://radiocomments.userland.com/comments?u=103492&amp;amp;p=917&amp;amp;link=%2F2008%2F10%2F06.html%23a917</comments>
			</item>
		<item>
			<title>Loving Google Desktop</title>
			<link>http://desktop.google.com/features.html</link>
			<description>I really love the quicksearch function in the latest google desktop:

&lt;blockquote&gt;&lt;cite&gt;&quot;The fastest way to search the web, and your own computer, is to use the Quick Search Box in the center of your desktop (simply press the &quot;Ctrl&quot; button twice to call up the search box, and press &quot;Ctrl&quot; twice again to hide it). Just type a few letters or words into the search box and your top results pop up instantly. You can also use it to launch applications without having to surf the Start menu; for example, you can launch Microsoft Word by typing &quot;wor&quot; into the Quick Search Box and selecting &quot;Microsoft Word&quot; in the list of results that appears. Or, simply type in your search term and press &quot;Enter&quot; to search the web.&quot;&lt;/cite&gt;&lt;/blockquote&gt;

&lt;img src=&quot;http://desktop.google.com/images/quicksearch.gif&quot;&gt;

I realize app-launchers is not a new thing, but I stay away from utilities like that because I switch desktops too often : it&apos;s annoying to rely too much on any customizations or desktop tweaks and few stand the test of time.  Google desktop&apos;s search-web+gmail+desktop at the same time is too damn useful, but letting my launch apps speeds things up a lot.

&lt;li&gt;[WindowsKey][WindowsKey]&quot;CPAN&quot;  -- install new perl module using Strawberry perl cpan shell
&lt;li&gt;[WindowsKey][WindowsKey]&quot;Quicken&quot; -- enter check from client etc.

</description>
			<guid>/2008/10/06.html#a916</guid>
			<pubDate>Mon, 06 Oct 2008 12:49:50 GMT</pubDate>
			<category>blog</category>
			<comments>http://radiocomments.userland.com/comments?u=103492&amp;amp;p=916&amp;amp;link=%2F2008%2F10%2F06.html%23a916</comments>
			</item>
		<item>
			<title>Jonathan Ellis on AppEngine: Meh</title>
			<link>http://spyced.blogspot.com/2008/08/app-engine-conclusions.html</link>
			<description>&lt;p&gt;
Jonathan Ellis writes something suspiciously similar to what I think I would write about App Engine (but he actually went through the trouble of developing with it):

&lt;blockquote&gt;&lt;cite&gt;Having been eyeball deep in App Engine for a while, I&apos;ve reluctantly concluded that I don&apos;t like it.  I want to like it, since it&apos;s a great poster child for Python.  And there are some bright spots, like the dirt-simple integration with google accounts.  But it&apos;s so very very primitive in so many ways.  Not just the missing features, or the &quot;you can use any web framework you like, as long as it&apos;s django&quot; attitude, but primarily a lot of the existing API is just so very primitive.
&lt;/blockquote&gt;&lt;/cite&gt;

I can&apos;t get past the fact that there&apos;s no SQL.  I know why there&apos;s no SQL, (&lt;a href=&quot;http://highscalability.com/paper-brewers-conjecture-and-feasibility-consistent-available-partition-tolerant-web-services&quot;&gt;Brewer&apos;s Conjecture&lt;/a&gt; etc) and I have some experience with it.  I&apos;ve been doing years of mostly-simple mashup stuff with quickbase, which is a similar PaaS-backing non-relational data store.  It has it&apos;s place, but it&apos;s hard to imagine really cranking out something complicated with it.  When I do code reviews for clients, the biggest improvements come from transforming procedural cursor logic back into set-oriented db-logic, and AppEngine wants you to go the opposite direction.  Sigh.  
 &lt;p&gt;
Looking at the bigger picture,  I&apos;m trying to figure out what the drivers for PaaS adoption will be,  especially in the case where the flavor of PaaS requires retiring your db muscles.  Is giving the ability for developers (or non-developers) to clone and enhance code without sweating enough?  Maybe there&apos;s a non-trivial demand for this (suggested by IBM&apos;s Project Zero, or stretching it a bit, MS-Sharepoint),  but it seems like a long-term bet.
&lt;p&gt;
Aside:  a cool App Engine project is &lt;a href=&quot;http://blog.heliosvoting.org/&quot;&gt;Ben Adida&apos;s open source, cryptographically secure, online voting project Helios&lt;/a&gt;. You can conduct auditable elections and make sure they election-holders counted your vote the way you wanted.  The auditing can be done by you personally, or a group that you trust.  This all happens while hiding the actual candidate or choice you voted for, so you can&apos;t be coerced or sell it.   Go Ben!  The world needs Helios (but I&apos;d be happy to start with just Florida).






</description>
			<guid>/2008/09/05.html#a915</guid>
			<pubDate>Fri, 05 Sep 2008 11:27:53 GMT</pubDate>
			<category>blog</category>
			<comments>http://radiocomments.userland.com/comments?u=103492&amp;amp;p=915&amp;amp;link=%2F2008%2F09%2F05.html%23a915</comments>
			</item>
		<item>
			<title>Facebook Scaling </title>
			<link>http://laughingmeme.org/2008/08/21/facebook-on-scaling-out/</link>
			<description>From &lt;a href=&quot;http://laughingmeme.org/2008/08/21/facebook-on-scaling-out/&quot;&gt;Kellan&lt;/a&gt;:

&lt;blockquote&gt;&lt;cite&gt;Interesting to me was noting that:
    &lt;li&gt; they just got around to this 8 months ago, and they&apos;re fscking Facebook (which means you can wait)
    &lt;li&gt; they&apos;re still doing all writes to a single datacenter
    &lt;li&gt; they&apos;re hacking an object-level mark/sweep into the MySQL replication stream suggesting a certain parable of a hammer and nails.&lt;/blockquote&gt;&lt;/cite&gt;

Lol.  Takeaway #3 is my favorite.

Regarding the other two takeaways,  I think Moore&apos;s Law will ensure the simplicity of single-datacenter and/or onsite deployments will be a compelling alternative to the clouds for quite some time.

In other words, use Google App Engine et al if you like the cost and API&apos;s. For the distributed scalability, YNGNI.
</description>
			<guid>/2008/08/22.html#a914</guid>
			<pubDate>Fri, 22 Aug 2008 13:31:48 GMT</pubDate>
			<category>blog</category>
			<comments>http://radiocomments.userland.com/comments?u=103492&amp;amp;p=914&amp;amp;link=%2F2008%2F08%2F22.html%23a914</comments>
			</item>
		<item>
			<title>The Paradox of Choice</title>
			<link>http://www.youtube.com/watch?v=VO6XEQIsCoM</link>
			<description>&lt;p /&gt;
The Paradox of Choice is a book with a thesis that&apos;s stuck in my head since I read about it a few years back.  Simply put, more choice doesn&apos;t necessarily make us happier.  The video and book gives some hard-to-dispute examples and data to back this up.

&lt;p/&gt;
The thought that chases me is how much of technological progress is done in pursuit of choice/options/etc, without, as the book makes clear, accounting for the aggregate tragedy-of-the-commons cost of these options.  The paradox is that someone somewhere will benefit (immensely?) from the choices technology produces, and there&apos;s no easy way to say when enough is enough.  
&lt;p&gt;
Should we go back to 4-5 channels of TV?  Laughable, right?  Is it possible we&apos;d be happier if we did?  Hmmmm.  That&apos;s just one way the book starts messing with your head.  
&lt;p&gt;
The book repeats the central idea many times ... it&apos;s a simple enough that you get it well before the end, but I still found it worthwhile to ponder for the duration of the book.  I would suggest that you pick up a copy, but that would only be adding to your reading choices (see how evil it is?)
&lt;p&gt;

Quick introduction on &apos;paradox&apos; by author:&lt;p&gt;

&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/VO6XEQIsCoM&amp;hl=en&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/VO6XEQIsCoM&amp;hl=en&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;p&gt;
[via &lt;a href=&quot;http://www.betaversion.org/~stefano/&quot;&gt;Stefano&lt;/a&gt;]</description>
			<guid>/2008/06/24.html#a913</guid>
			<pubDate>Tue, 24 Jun 2008 10:38:45 GMT</pubDate>
			<category>blog</category>
			<category>SEVIS</category>
			<comments>http://radiocomments.userland.com/comments?u=103492&amp;amp;p=913&amp;amp;link=%2F2008%2F06%2F24.html%23a913</comments>
			</item>
		<item>
			<title>Roll Your Own Netflix</title>
			<link>http://www.zunafish.com</link>
			<description>&lt;img src=&quot;http://upload.wikimedia.org/wikipedia/en/thumb/4/40/NeverwhereDVD.jpg/200px-NeverwhereDVD.jpg&quot; style=&quot;float:right;&quot;&gt;
&lt;p&gt;&lt;i&gt;more praise for &apos;discontinuous fractional ownership&apos;&lt;/i&gt;&lt;p&gt;

In response to &lt;a href=&quot;/2008/06/20.html#a911&quot;&gt;Props to Bookmooch&lt;/a&gt;, &lt;a href=&quot;http://www.replicatetech.com&quot;&gt;Replicate Technologies&lt;/a&gt; founder Ken Novak  writes: 
&lt;p&gt;
&lt;blockquote&gt;&lt;cite&gt;Hey John, this sounds good. For dvds, cds and paperbacks, zunafish.com works well (albeit not quite so karmic). For $1 plus $2 postage, the site sets up swaps. I own about 20 dvds, and I gradually swap them after I watch them, so that about 3/4 are ones I haven&apos;t seen. It&apos;s like netflix, with a bit less choice online but more DVDs at home and no fixed fees. Now if I could only acquire the time to watch everything I&apos;d like to watch... #&lt;/cite&gt;&lt;/blockquote&gt;
&lt;p&gt;
I like the idea ... after getting over the initial Netflix rush during which the near-infinite film choice collided with finite movie watching time, I opted out and tried dvdswap.com.  The experiment didn&apos;t last long, mainly because I had a big problem with liquidity.  At the time, there just weren&apos;t enough swaps to be had.  Now I just buy on half.com and resell on ebay.  The buy/sell spread is usually about $4/movie (includes postage), which is the price I pay at my local video store, except no late fees, costs you nothing if you can&apos;t get to it, and no monthly commitment.  I use Half.com because bidding on ebay is too much work and the selection of used inventory is pretty good.
&lt;p&gt;
Anyway, Bookmooch is incredibly liquid - I think the inventory is &amp;gt; 2 Million books and growing very rapidly.  I think &apos;bigger than amazon&apos; is definitely a possibility.</description>
			<guid>/2008/06/23.html#a912</guid>
			<pubDate>Mon, 23 Jun 2008 20:46:58 GMT</pubDate>
			<category>blog</category>
			<comments>http://radiocomments.userland.com/comments?u=103492&amp;amp;p=912&amp;amp;link=%2F2008%2F06%2F23.html%23a912</comments>
			</item>
		</channel>
	</rss>
