An Open Letter to Nick Bostrom

Nick:

Let me start by complimenting you on a bravura performance.  I’ve read dozens of books and articles on ASI but Superintelligence is clearly in a category of its own.  I have no doubt that your work will stand as the definitive reference in the field for some time to come.

On the other hand, I do have a significant objection; if only to the work as a whole.  You make a compelling case for working together to mitigate the unprecedented peril of ASI—a sorely needed case, truth be told!—but I can’t help but think that, even so, your book is suffused with too much optimism.  To resort to bad haiku:

Fearsome ASIs
Can undoubtedly be tamed
We will make them safe!

At the risk of being a Cassandra, I fear that such optimism is entirely wrong!

Continue reading

NoSQL? With DocumentDB, that ain’t quite true!

The Microsoft folks continue to beaver away in PaaS-land, serving up new Platform as a Service offerings on a seemingly weekly basis.  One of the best of these is the new pay-as-you-go DocumentDB service; a fully managed, highly-scalable NoSQL (JSON) document database service that provides:

  • Schema-free storage of arbitrary JSON documents
  • Automatic indexing that supports complex queries
  • Transaction support with ACID semantics
  • Service-side programmability with JavaScript
  • Write-optimized, SSD-backed and tunable via indexing & consistency
  • Open-source Client SDKs for NET, Node.js, JavaScript and Python (with C++ and Java on the way)

DocumentDB should be thought of as a complement to SQL Server, Table Storage, Blobs, etc.; not a replacement.  It’s a pretty new offering, but even so, there’s a fair amount of related documentation around on the net:

If you’re one of my fellow Neudesic-ies, I’ll be giving an in-depth DPG Presentation on the topic on Friday afternoon, at 1:00PM EST.  Please feel free to download my deck or clone the GitHub repository that contains the DpgDocDbDemo code that I’ll be showing in my talk.

Rigoletto In Seattle

Duke With DancersFor those of you who are yet to be in the know, it is my distinct privilege to be married to the wonderful and talented Marie Anne Chiment.  Among the many benefits that thereby accrue, I get to regularly jet off to far flung locales in order to squire my lovely lady to her latest openings.

This week, we’ll be attending the re-mount of Rigoletto, a show that she originally designed for the Seattle Opera in 2004.  Happily, Seattle Opera’s General Director Speight Jenkins liked the original so much that he decided to include the production in his “farewell” season.  Even better, the opera was directed by Linda Brovsky, an exceptionally talented director and dear friend.  Linda was our Maid of Honor, so you might imagine that we get to see her in person all the time, but given her world-trotting schedule, we have few such opportunities.  It’ll be a treat to see her in person.

Be sure to check out Marie’s Portfolio site (http://chiment.com) for a ton of Rigoletto renderings and production photos.

 

Ore-oh (ORRERY OH!)

I’ve always loved Laurel & Hardy’s 1934 film “Babes In Toyland,” and have certainly been known to intone the toy soldier’s signature phrase to myself during any number of odd—and usually inappropriate—moments.  Ore-oh, OREO, indeed!  If I could only fit myself out with one of those natty enameled uniforms then I’m quite sure that I’d be styling with the best of them.

But I digress.  On this day, my purpose is to discourse on orreries; not ore-ohs, nor even oreos.  For the uninformed, an orrery is (to quote Wikipedia): a mechanical device that illustrates the relative positions and motions of the planets and moons in the Solar System in a heliocentric model.  In this somewhat mod-ern era, mechanical orreries have fallen out of fashion, particularly since online orreries like “The Planets Today” are so easy to use, and exceedingly more accurate.

The problem with electronic orreries is that they lack my favorite component: gears!  Continue reading

Code Camping (Round 2!!)

For the uninitiated, Code Camp is a free development conference that is most typically sponsored by Microsoft then staffed by both local volunteers and up-and-comers on the national / international developer circuit.  The received truth is that they’re not quite as good as the more well-known conferences (i.e. Build, VSLive, etc.) but I have found them in my own experience to be extremely good, especially in terms of learning actual coding techniques as opposed to simply hearing simple announcements.

By way of disclosure, it’s important to note that I will be speaking at the next Code Camp NYC (Saturday, November 23, 2013, from 8:30 AM until 5:00PM), so I am more than a little biased.  My topic will be:

Supercharge your apps with TPL Dataflow

The TPL Dataflow Library allows mere mortals to craft CPU-intensive and I/O-intensive applications that support high throughput and low latency while tightly controlling memory usage.  This code-centric session will explain how TPL Dataflow works (along with a number of related technologies, such as async / await), the advantages of TPL Dataflow over more traditional parallelizing constructs, and most import of all, how to supercharge your own apps.  As drive the power of TPL Dataflow home, I’ll also show you how to write a blazingly fast web-crawler in less than 200 lines of code.

While I’m in a disclosing mood, I just finished the above described web-crawler, called PodFetch.  It is indeed blazingly fast.  On the other hand, I couldn’t stop myself from adding a number of refinements (like colorized logging) so it came out to something like 350 lines of code.  Never fear, though, because though the magic of JIT, the code squeezes down to a mere 59 lines of MSIL, which by at least my count is less than 200! 🙂

You can download the code from GIT.  If you attend Code Camp NYC, be sure to stop by and say hi!

The Internet Of Things

IArduino with PIR Detector attended a sort of corporate symposia last week where my peers and I discussed the current technical state of affairs; most specifically to figure out how we could leverage this rapidly expanding realm of possibility.  One key area of discussion was “The Internet of Things.”  The basic idea is that more and more of the artifacts around us are becoming—at least in some sense—intelligent and interconnected!  Now I’m not necessarily talking about your toaster discoursing on Shakespeare with you, but even as I write that purposefully “absurd” phrase, it occurs to me that it isn’t so very absurd at all.  Everyday objects are being enhanced with more and more capabilities, and I have started to take advantage of this pleasing fact.

Continue reading

I used to live here, but now I’m just Code Camping out!

Just for fun, because who doesn’t like to wake up ridiculously early on a Saturday morning to take a train from Philliy into good ‘ole NYC, I decided to do some major tongue-wagging at Code Camp NYC 2013.  I mean, what could be better.  I won’t get paid, and let’s not even mention the food, so there’s that.  On the other hand, a chance to bloviate in front of a fresh and unsuspecting crowd seems just too good to stay away.  To that end, I prepared an obligatory PowerPoint, then wrote some moderately interesting code: LogFlow and PodFetch.  I even pulled together a ton of samples, a small number of which are actually mine!  Should be a blast.  Hope to see you there….

BTW, I always wanted to make it to Carnegie Hall.  I think I’ll have to settle for the “Carnegie” room; from 2:30pm to 3:45pm.  My session is titled “Supercharge Your Apps With TPL Dataflow.”

Catching Up On Missed Innings

Phillies Panorama (8/24/2013)I’ve never been a big baseball fan. Even so, I do like to attend the occasional game, so in the 26 years that I lived in Manhattan and then in St. Louis, it would be a rare year that I didn’t end up in a stadium at least a couple of times a year.  Regardless, in the 7+ years that I’ve been living Philadelphia, I’d yet to catch a single Phillies game.  Call it a slump, but that slump most definitely ended last night.

By an especially strange confluence of events (that I’ll omit, here, for brevity!), I won a silent auction for a pair of tickets to last night’s game.  The seats were absolutely perfect, on the 1st-Base side, but right on the 3rd-Base to Home Plate line, in Row 25 of Section 119, as shown above.

To cut to the chase, The 7+ hour 18-inning record-breaking marathon was nothing short of amazing, even if the Diamondbacks did end up winning 12-to-7 in the end!

I lost count of how many times each side had the bases loaded only to fail to bring a runner home.  Nail-biting stuff, but quite a thrill nonetheless, especially as the stadium thinned out after midnight.  It felt like being a rare witness to a titanic struggle and after the 12 inning or so I got the distinct feeling that the game could go on for ever.  As it was, it was the longest game in Diamondback history.  For the Phillies, it was their longest since 1918.  As I said: titanic!  Beyond the above I won’t go into the details, since ESPN has an excellent recap.

Suffice it to say that this one game certainly made up and more for my my recent hiatus…

Code Camping (Tent Optional!)

For the uninitiated, Code Camp is a free development conference that is most typically sponsored by Microsoft then staffed by both local volunteers and up-and-comers on the national / international developer circuit.  The received truth is that they’re not quite as good as the more well-known conferences (i.e. Build, VSLive, etc.) but I have found them in my own experience to be extremely good, especially in terms of learning actual coding techniques as opposed to simply hearing simple announcements.

By way of disclosure, it’s important to note that I will be speaking at the next Code Camp NYC (Saturday, September 14, 2013, from 8:00 AM until 6:30 PM), so I am more than a little biased.  My topic will be:

Supercharge your apps with TPL Dataflow

The TPL Dataflow Library allows mere mortals to craft CPU-intensive and I/O-intensive applications that support high throughput and low latency while tightly controlling memory usage.  This code-centric session will explain how TPL Dataflow works (along with a number of related technologies, such as async / await), the advantages of TPL Dataflow over more traditional parallelizing constructs, and most import of all, how to supercharge your own apps.  As drive the power of TPL Dataflow home, I’ll also show you how to write a blazingly fast web-crawler in less than 200 lines of code.

While I’m in a disclosing mood, I just finished the above described web-crawler, called PodFetch.  It is indeed blazingly fast.  On the other hand, I couldn’t stop myself from adding a number of refinements (like colorized logging) so it came out to something like 350 lines of code.  Never fear, though, because though the magic of JIT, the code squeezes down to a mere 59 lines of MSIL, which by at least my count is less than 200! 🙂

You can download the code from GIT.  If you attend Code Camp NYC, be sure to stop by and say hi!

[One Extra Hand] Makes Light Work

Wordle for WPFIt’s said that a true expert mostly knows how much he doesn’t know.  By that criteria, at least, I could certainly be called an expert!

Take WPF.  As things turn out, I’m a pretty dab hand at WPF and XAML.  Regardless, I’m not so dab at the ins and outs of rendering and transforms.  Now on most days, this isn’t a big problem.  I can generally hack together something useable, or even better, I can find exactly what I want on the web.  After all, as any modern programmer can tell you, there’s a ton of wonderful code out there; ripe and ready for the use.

Unfortunately, a bunch of that code tends to be just a tad “off;” exactly what you want, excepting a couple of critical details  Take my latest project.  I’ve been playing around with Tumblr tag parsing (don’t ask me just yet why!)  Along the way, I came across the wonderful Java-based Wordle and the similarly wonderful WordCloud for Silverlight.  One problem, though.  I ran into a bunch of conversion errors when I tried to convert the Silverlight code to WPF, and it looked like a bigger job than I’d want to handle on my own. Continue reading