<?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>the future is here [just not evenly distributed]</title>
	<atom:link href="http://nickdavis.name/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://nickdavis.name/blog</link>
	<description>musings on technology, open source, research, and life</description>
	<lastBuildDate>Wed, 17 Dec 2008 00:24:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>World Community Grid</title>
		<link>http://nickdavis.name/blog/2008/12/16/world-community-grid/</link>
		<comments>http://nickdavis.name/blog/2008/12/16/world-community-grid/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 05:41:38 +0000</pubDate>
		<dc:creator>Nick Davis</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[cloudcomputing]]></category>
		<category><![CDATA[grid]]></category>
		<category><![CDATA[gridcomputing]]></category>

		<guid isPermaLink="false">http://nickdavis.name/blog/?p=161</guid>
		<description><![CDATA[As an update to my previous Cloud Computing post, I came across an interesting grid/distributed computing project, the World Community Grid.  The WCG&#8217;s aim is to create the world&#8217;s largest public computational grid, with the goal of seeking projects that benefit humanity.  IBM is the primary corporate sponsor, and, according to the site, [...]]]></description>
			<content:encoded><![CDATA[<p>As an update to my previous Cloud Computing post, I came across an interesting grid/distributed computing project, the <a href="http://worldcommunitygrid.org">World Community Grid</a>.  The WCG&#8217;s aim is to create the world&#8217;s largest public computational grid, with the goal of seeking projects that benefit humanity.  IBM is the primary corporate sponsor, and, according to the site, it &#8220;has donated the hardware, software, technical services and expertise to build the infrastructure for World Community Grid and provides free hosting, maintenance and support.&#8221;  The agent software used for WCG is based on <a href="http://boinc.berkeley.edu/">BOINC</a>, an open source platform for grid and distributed computing projects.</p>
<p>The first project to run on WCG resources is Human Proteome Folding.  This involves calculating the precise spatial configuration of proteins, and can be used to identify the ways in which defects in protein folding can cause certain diseases.  There are currently 11 projects, including Cancer research, Clean Energy, and producing genetically-optimized strains of nutritious rice.  </p>
<p>Personally, I hope to see the WCG expand its reach.  It would be interesting to see a major hardware manufacturer (looking in your direction Dell, HP, Apple) include a WCG agent in the default OS image, similar to the agreements with Google, Firefox, et. al. with regards to bundled software.  Imagine if even one large vendor enabled grid software on all new machines.  Of course, the owner should be informed of the existence of this software, and its benefit explained.  Most people probably would never know or care, as long as the agent ran on idle CPU time.  Many would likely be impressed that _their_ computer could be used to one day cure a disease such as cancer, or solve an equally pernicious problem that plagues humanity.    </p>
]]></content:encoded>
			<wfw:commentRss>http://nickdavis.name/blog/2008/12/16/world-community-grid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Contact page update</title>
		<link>http://nickdavis.name/blog/2008/12/10/contact-page-update/</link>
		<comments>http://nickdavis.name/blog/2008/12/10/contact-page-update/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 04:43:01 +0000</pubDate>
		<dc:creator>Nick Davis</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[design layout metablogging]]></category>

		<guid isPermaLink="false">http://nickdavis.name/blog/?p=157</guid>
		<description><![CDATA[By popular request (see the comments), I&#8217;ve added a form on the Contact page.  So now you have a way other than GTalk to send me a message.
It appears the Contact page isn&#8217;t as discoverable as I&#8217;d like; I may work on better placement for it in a future layout update.
]]></description>
			<content:encoded><![CDATA[<p>By popular request (see the comments), I&#8217;ve added a form on the <a href="/blog/contact">Contact</a> page.  So now you have a way other than GTalk to send me a message.</p>
<p>It appears the Contact page isn&#8217;t as discoverable as I&#8217;d like; I may work on better placement for it in a future layout update.</p>
]]></content:encoded>
			<wfw:commentRss>http://nickdavis.name/blog/2008/12/10/contact-page-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When the Cloud transforms into Universal Utility Computing</title>
		<link>http://nickdavis.name/blog/2008/12/07/when-the-cloud-transforms-into-universal-utility-computing/</link>
		<comments>http://nickdavis.name/blog/2008/12/07/when-the-cloud-transforms-into-universal-utility-computing/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 02:48:59 +0000</pubDate>
		<dc:creator>Nick Davis</dc:creator>
				<category><![CDATA[computer science]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[cloudcomputing]]></category>
		<category><![CDATA[distributedcomputing]]></category>
		<category><![CDATA[grid]]></category>
		<category><![CDATA[gridcomputing]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[webapp]]></category>
		<category><![CDATA[webapplication]]></category>

		<guid isPermaLink="false">http://nickdavis.name/blog/?p=135</guid>
		<description><![CDATA[The Cloud is Born
One of the most popular themes in the last couple years on the web is the much-heralded &#8220;cloud computing&#8221;.  Of course, the cloud metaphor is taken from the representation of the Internet in architecture diagrams as a big fluffy cloud to which other, more discrete networks and systems are interconnected.  [...]]]></description>
			<content:encoded><![CDATA[<h3>The Cloud is Born</h3>
<p>One of the most popular themes in the last couple years on the web is the much-heralded &#8220;cloud computing&#8221;.  Of course, the cloud metaphor is taken from the representation of the Internet in <a href="http://en.wikipedia.org/wiki/Cloud_computing">architecture diagrams</a> as a big fluffy cloud to which other, more discrete networks and systems are interconnected.  From the Wikipedia page, Cloud computing, defined, is:</p>
<blockquote><p>a style of computing in which IT-related capabilities are provided “as a service”, allowing users to access technology-enabled services from the Internet (&#8221;in the cloud&#8221;) without knowledge of, expertise with, or control over the technology infrastructure that supports them.</p></blockquote>
<p>Google popularized dynamic web-based applications that behaved much like desktop apps, and essentially ushered in the era of what we fondly (sometimes snidely) call &#8220;Web 2.0&#8243;.  In the short span of 3 or 4 years (I&#8217;m counting since 2005, when the web community at large became <a href="http://www.adaptivepath.com/ideas/essays/archives/000385.php">aware of Ajax</a> and similar technology), dynamic web applications have become the de facto UI for end-user interactive software offerings &#8212; if it makes sense to use the ubiquitous browser as the frontend, then why not?  Instead of forcing users to install, configure, and learn yet another new desktop app, give them an interface with which they&#8217;re already comfortable and familiar.  As an added benefit, the browser interface is supported on nearly every operating system and platform used today (proprietary plugins and extensions notwithstanding).</p>
<p>Since then, the &#8220;cloud&#8221; has been touted as the next generation of the web, and as a concept encompasses a few key areas:</p>
<ul>
<li>storage &#8211; collect user settings/preferences, documents and media</li>
<li>computing cycles &#8211; harness the power of a thousand-node grid of servers for complex problems or CPU-intensive workloads</li>
<li>network transparency &#8211; mask low-level details such as IP addresses and other info as much as possible</li>
</ul>
<h3>Who&#8217;s Who and Challenges</h3>
<p>Large vendors with existing market plays involving huge server farms and data centers are eagerly jumping on the bandwagon &#8212; like IBM, Google, Amazon, Sun, etc.  Software vendors are touting their existing and upcoming apps as &#8220;cloud&#8221; initiatives.  The previously mentioned firms, as well as Salesforce, Zimbra (now owned by Yahoo), Zoho, and a multitude of other startups are all rushing to lay claim to a piece of land in the Cloud Gold Rush.  Even Microsoft, notoriously late to the web party, instead relying on its stalwart cash cows of Windows and Office, has made its own bid in the cloud wars with Mesh and announcements of a <a href="http://www.techcrunch.com/2008/10/28/microsoft-office-embraces-the-browser-thank-you-google/">web version of Office</a>.</p>
<p>Cloud computing promises to change much of how we as developers, designers, and architects currently design and build web applications.  For one, concurrency is big issue that need to be addressed if the apps of the next decade are going to scale on this cloud infrastructure.  Languages, platforms, and tools need to provide solutions for creating apps that scale efficiently on multiple cores, processors, and even systems.  Architects will have to design solutions that are massively scalable and take advantage of the properties of the cloud.  UI specialists and designers will work with browser-based frontends, as well as newer mobile phone interfaces and Internet-enabled devices (such as <a href="http://maemo.org/">Nokia&#8217;s Maemo</a> Internet tablet).</p>
<h3>Beyond the Cloud</h3>
<p>I envision a future beyond the current cloud computing craze, perhaps in 5 &#8211; 10 years, where computing is a utility service just like power and telephone service are today.  Several companies, including Amazon and Sun, are already offering some utility-style services, and many distributed computing projects tackling specific problems run on volunteer end-user systems today, but I&#8217;m thinking of something much broader.  Instead of vendor-specific mini-clouds or utility services, we should aim for what I&#8217;ll term <i>universal utility computing (UUC)</i>, built on open protocols and standards.</p>
<p>Essentially, the idea is to ensure every node in the cloud is an active member.  By &#8220;active&#8221;, I mean the <i>resources of every device are available for use by others</i>.  Computing cycles can be used (when idle, or up to a certain configurable threshold percentage of total CPU), storage, etc.    It&#8217;s similar in nature to a grid and distributed computing, but utilizing a general, Internet-wide approach.  </p>
<p>So how would such a system work?  For starters, a UUC protocol would be required, and agent software written for various operating systems.  The protocol would specify the sequence of communication between nodes, allowing true peer-to-peer messaging.  The agent would ideally sit in the kernel space, interacting with the built-in scheduler, hardware abstraction layer, and storage subsystem.  </p>
<p>Once a device has been &#8220;UUC-enabled&#8221;, it could begin to participate in the utility cloud.  Every system in the cloud would share its resources for utility computing.  Applications would then have the ability to harness as much computing power as required.  Nodes that didn&#8217;t participate in the utility cloud couldn&#8217;t take advantage of utility resources.  </p>
<p>Imagine all mobile phones on Earth utilizing a small portion of their resources in protein folding computations, or all servers processing climate forecasting data, or molecular level interactions for medical applications.  Internet-enabled gaming consoles, tablets, laptops, desktops, and a plethora of devices that may be idle 90% of the time can now be used for computation.  Imagine if the machines available to the average botnet hacker could be used for helpful purposes instead of spam.</p>
<p>Naturally, there are several challenges that must be overcome.  Security and privacy, as today, would have to be addressed, employing encryption and other techniques to ensure confidentiality and integrity.  Outside of individual nodes, there must be built-in mechanisms for preventing DDOS-style attacks, as well as preventing malicious users from exhausting the available utility-dedicated resources on one or several devices.  There must also be a system used to prioritize workloads sent to the cloud, and a way to adjust the priority of a task.  Checks and balances could be automatic, ensuring that a particular workload doesn&#8217;t use more than pre-determined slice of the available resources for a system.</p>
<p>Universal utility computing could be the next phase of computing, one where the Internet is a true peer-to-peer system, and all nodes participate and share resources.  Instead of having expensive data centers with custom hardware and software solutions, billions of devices with idle processors can be harnessed to help solve a variety of problems affecting the enterprise, health care, the scientific community, and others.</p>
]]></content:encoded>
			<wfw:commentRss>http://nickdavis.name/blog/2008/12/07/when-the-cloud-transforms-into-universal-utility-computing/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Boxee delivers a quality media center experience</title>
		<link>http://nickdavis.name/blog/2008/11/21/boxee-delivers-a-quality-media-center-experience/</link>
		<comments>http://nickdavis.name/blog/2008/11/21/boxee-delivers-a-quality-media-center-experience/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 07:22:43 +0000</pubDate>
		<dc:creator>Nick Davis</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[entertainment]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[mediacenter macosx mac linux frontrow xbmc]]></category>

		<guid isPermaLink="false">http://nickdavis.name/blog/?p=122</guid>
		<description><![CDATA[So I recently received my alpha invite to Boxee, a new service that combines a slick media center app with social networking elements.  The centerpiece is a multi-platform app (currently only Linux and Mac OS X are supported, with Windows support coming) based on XBMC that provides a rich user experience.  
XBMC has [...]]]></description>
			<content:encoded><![CDATA[<p>So I recently received my alpha invite to <a href="http://boxee.tv">Boxee</a>, a new service that combines a slick media center app with social networking elements.  The centerpiece is a multi-platform app (currently only Linux and Mac OS X are supported, with Windows support coming) based on XBMC that provides a rich user experience.  </p>
<p><acronym title="XBox Media Center">XBMC</acronym> has been around for some time, and has its roots (and namesake) from running on modded first generation XBoxes.  XBMC is essentially the swiss-army knife of media center software &#8212; check out the list of <a href="http://xbmc.org/about/features/">supported A/V codecs and formats</a> to get an idea.  As an added bonus, it is also open source, licensed under the GPL.  Boxee takes this software, which has been ported to run on commodity hardware, and adds social elements and web video streaming capabilities, and their own blend of unique features. </p>
<p>The typical rich media options of photos, music, videos are all there, along with the ability to consume media from a variety of sources.  These may be local (local hard drive, USB removable devices), network shares, Internet audio streams and video services such as Youtube and Hulu, etc.  Ah, sweet sweet, web 2.0 goodness.  Boxee also has you create an account (it *is* a service, after all, not merely an app) that is used to store profile data.  You can add friends, a la any other socially aware service, and see an activity stream of recently streamed music, videos, etc.  Privacy settings are, of course, provided to configure the level of sharing.</p>
<p>I have a Mac Mini in my living room and installed the latest version of Boxee.  One nice feature when running on recent Macs is Boxee fully supports the Apple Remote.  In fact, Boxee replaces Front Row as the default action when invoking the <acronym title="On screen display">OSD</acronym> in OS X.  I checked out the web video streaming, audio, and DVD playback features.  Some observations:</p>
<ul>
<li>several crashes, but this is *alpha* software, so it&#8217;s understandable/forgivable</li>
<li>Boxee automatically grabs local audio files and retrieves album artwork, arranging music by artist or album visually</li>
<li>several of the links to show episodes on Hulu were no longer available for viewing</li>
<li>the visualization for audio playback was stunning, and left me wondering why Front Row doesn&#8217;t provide at least some simple animation</li>
<li>streaming web video playback was very stuttery (Hulu, in particular)</li>
<li>torrent support (you can download torrents from within Boxee) and a link to Public [i.e. legal, public domain media] Torrents</li>
<li>configuration options abound, from video resolution to remote control timing settings</li>
</ul>
<p>Some may argue that these (and many more, no doubt) features have been available in Windows Media Center and other software for years, but for me personally the litmus test was a Mac (mini) driven media center experience.  Boxee is the home media center app that Front Row should&#8217;ve been all along.  I&#8217;ve been waiting for a quality home theater experience on the Mac, and while promising, <a href="http://centerstageproject.com/index.php">CenterStage</a> and other projects have (so far) failed to deliver.  All the more reason Boxee&#8217;s arrival is met with open arms and much rejoicing, even if it is still alpha quality.</p>
]]></content:encoded>
			<wfw:commentRss>http://nickdavis.name/blog/2008/11/21/boxee-delivers-a-quality-media-center-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sun&#8217;s VirtualBox is a welcome treat</title>
		<link>http://nickdavis.name/blog/2008/11/19/suns-virtualbox-is-a-welcome-treat/</link>
		<comments>http://nickdavis.name/blog/2008/11/19/suns-virtualbox-is-a-welcome-treat/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 04:52:42 +0000</pubDate>
		<dc:creator>Nick Davis</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[virtualmachine vm sun macosx linux virtualization]]></category>

		<guid isPermaLink="false">http://nickdavis.name/blog/?p=112</guid>
		<description><![CDATA[Since Jonathan Schwartz has taken the reigns, Sun has been on increasingly friendly terms with the open source world.  Witness the recent work of opening the Java language, the purchase of MySQL AB (the company behind the ubiquitous open source database), and of course the much lauded Microsoft Office suite alternative OpenOffice.org.
VirtualBox, Sun&#8217;s entry [...]]]></description>
			<content:encoded><![CDATA[<p>Since<a href="http://blogs.sun.com/jonathan/"> Jonathan Schwartz</a> has taken the reigns, Sun has been on increasingly friendly terms with the open source world.  Witness the recent work of <a href="http://www.sun.com/software/opensource/java/">opening the Java language</a>, the purchase of MySQL AB (the company behind the ubiquitous open source database), and of course the much lauded Microsoft Office suite alternative OpenOffice.org.</p>
<p>VirtualBox, Sun&#8217;s entry in the crowded virtual machine market, is an interesting addition to the company&#8217;s growing line of <acronym title="open source software">OSS</acronym> products.  VirtualBox supports a wide array of host OSes (the usual Windows, Linux, Mac OS X + OpenSolaris, being a Sun product), and guest OSes.  One key characteristic is VirtualBox is completely <a href="http://www.virtualbox.org/">open source</a>, GPL-licensed in fact.</p>
<p>Naturally, other open source VM solutions exist, but in general they aren&#8217;t intended to be used as mainstream end-user applications that compete with existing commercial products such as VMWare and Parallels.  It goes without saying that virtualization technology is becoming more and more <a href="http://www.xconomy.com/boston/2007/11/14/vmware-feeling-pressure-as-virtualization-becomes-a-commodity/">commoditized</a>, and open source solutions such as Xen, <a href="http://www.linux-kvm.com/content/why-kvm-will-be-king">KVM</a>, and VirtualBox only serve to increase this trend.  </p>
<p>In my own experience, VMs have been a Godsend for cross platform software development.  While having an array of 20 (physical) test machines with different platforms and configurations is nice, it&#8217;s not always financially practical.  Thus, deploying server-based virtual machines for handling the tasks of automated builds and test suites across all supported platforms is essential.  Desktop VMs are also useful for manual testing.</p>
<p>I downloaded the latest version 2.0.4 for OS X, and gave it a spin.  The UI and installation procedure for new VMs are top notch.  I installed the latest version of Ubuntu, Intrepid Ibex (8.10), as a guest OS.  VirtualBox supports most of the features of the commercial VM apps.  In my admittedly unscientific test, VirtualBox seemed much more responsive and usable than either VMWare Fusion or Parallels.  There were a few bugs or missing features:</p>
<ul>
<li>no support for 64-bit guest OSes on Mac OS X</li>
<li>the installation process for the guest OS completely froze Mac OS X the first time, and I had to do a hard reset (could have been because I was simultaneously running Parallels..)</li>
<li>resizing the guest OS window is a bit slow and doesn&#8217;t preserve the window size, at least in my test with Ubuntu</li>
</ul>
<p>Other than these few items, I was impressed with the capabilities of VirtualBox.  I look forward to seeing new features and enhancements in updated revisions, and also to the promising future for open source virtualization.</p>
]]></content:encoded>
			<wfw:commentRss>http://nickdavis.name/blog/2008/11/19/suns-virtualbox-is-a-welcome-treat/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
