<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>michaeldehaan.net</title>
	<atom:link href="http://michaeldehaan.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://michaeldehaan.net</link>
	<description>It's Not Just About Llamas</description>
	<lastBuildDate>Thu, 26 Jan 2012 16:42:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='michaeldehaan.net' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>michaeldehaan.net</title>
		<link>http://michaeldehaan.net</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://michaeldehaan.net/osd.xml" title="michaeldehaan.net" />
	<atom:link rel='hub' href='http://michaeldehaan.net/?pushpress=hub'/>
		<item>
		<title>Web Services and Humans</title>
		<link>http://michaeldehaan.net/2012/01/26/web-services-and-humans/</link>
		<comments>http://michaeldehaan.net/2012/01/26/web-services-and-humans/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 13:23:31 +0000</pubDate>
		<dc:creator>mpdehaan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michaeldehaan.net/?p=2274</guid>
		<description><![CDATA[What&#8217;s the future of data interchange over web services? Currently, I believe too much work is required of clients to utilize remote applications at the level of capability provided by a local API. Basically, it all comes down to speaking using a very narrow wire. It&#8217;s like assembling a jigsaw puzzle by sending written letters [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2274&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>What&#8217;s the future of data interchange over web services?   Currently, I believe too much work is required of clients to utilize remote applications at the level of capability provided by a local API.   Basically, it all comes down to speaking using a very narrow wire.   It&#8217;s like assembling a jigsaw puzzle by sending written letters back and forth to someone in a different country &#8212; you give the orders, but only the other person can see the pieces and move them.</p>
<p>Primitive datstructures include strings, numbers, hashes and lists.  It is upon this foundation that most web services are based &#8212; whether XML based (REST, SOAP), or JSON, these are two dimensional text entities that don&#8217;t represent more complex data very well.  Well, they could just contain a flat graph topology, sure, but it&#8217;s not natural, and it&#8217;s verbose.</p>
<p>My theory is that in designing web services for humans (so that things are readable/printable, and their various bash/Perl scripts can operate easily over an XML DOM or XPath, without deep modeling of the underlying business logic or data models in client code), we are invariably designing our data structures in only two dimensions, and probably reducing the number of links and data structures that reference objects in ways that makes the data less useful than it&#8217;s natural state.   In the the case of SQL databases, we probably spend a lot of time writing code to move between an ideal database representation and the web services representation.  In the case of NoSQL databases, we let our web services representation unfortunately limit the best possible way to access the data!   The humans have told the computers what to do.</p>
<p>When modelling, say, a list of US cities and connecting roads and airport flight paths in a web service, you quickly get a graph with a lot of deeply interconnected parts.  Expression of that graph is, fundamentally, an expression of nodes and edges.   Do I want to print a list of cities and each of their neighbor cities?   What if I want to produce a list of cities that are 1-2 cities away? What if I want to print a list of all cities in North Carolina?   Or cities that are 50 miles away from cities in North Carolina.   As we deviate from the need of simple data access, eventually the client application will need to &#8220;think&#8221; about the data, rather than getting the answer from a simple DOM traversal or XPath query.   That is expected&#8230; but if that code is accessed by 5 different programming languages, that&#8217;s 5 different times that logic will have to be written.  Ouch.</p>
<p>What if the thing we &#8220;got&#8221; for a web services request actually contained multiple datastructure views and indexes into the thing we were querying, so that the client program did not have to calculate?  If web services APIs were instead written for machines, and client libraries were distributed to allow more rich access to a software system, our programs would not be likely limited by the need to represent their best internal structure as something close to the representation of the API layer.  </p>
<p>To do this, we really don&#8217;t even need human readable protocols &#8212; but we *do* need to standardize on a more or less standard way of object to binary marshaling.   Think is, we did this before (probably because CORBA was a square wheel?), but we threw this out.  Hmm.  I think we can do better though. </p>
<p>XML or JSON structured data is returned in a way that is intended to make it easier for a particular set of access use cases.  What if when requesting a complex topology, I actually got a section of the database that I queried, complete with indexes and various foreign key relationships?  Wouldn&#8217;t that be easier than traversing it with a XML DOM implementation to build up my own internal model of the original database model, so that I could think about it, and then get my result?</p>
<p>Unfortunately, this sounds a bit like I&#8217;m requesting the return of the 1990&#8242;s, where it was permissible for a client application to have it&#8217;s own database handle.   You don&#8217;t want that, but I might like it to be able to export tables for the subset of the database matched by a server-cleared search pattern.</p>
<p>Anyway, the theory is this &#8212; humans are making us think about data in two dimensional views, and is not good to store it that way.  However, the easiest way to present data is just like it&#8217;s stored.   Further, it would be nice if client applications, in the age of web services, could be as dumb as possible.  To do this, they need rich data, without the need to re-model relationships needed to re-represent those 2D datastructures in more complex forms.</p>
<p>Some sort of hybrid between a database handle, web services, and application remoting (RMI, drb, etc) is an interesting idea.   Clear my app for the data it wants to access and let me access the raw classes and exported object methods, but limit what I can do based on some rather complex RBAC policy.  Basically, I&#8217;m not convinced the older client/server methods were busted.   They just need to be given some security extensions for the open internet and presented in a different form.  The internal API and storage of the app is usually the closest thing to the true data model of the app, and has richer capabilities &#8230; finding a way to give web users access to parts of that, safely, is the ticket, and then we don&#8217;t have to do all the emailing of the letters back and forth to work on that puzzle &#8212; I can just become that remote person working on that puzzle, and use his hands and eyes, as long as he agrees with what I&#8217;m doing.</p>
<p>(<B>P.S.</B>:  if you think I&#8217;m talking about Thirft, ProtocolBuffers or something like that, I&#8217;m doing a pretty bad job of communicating what I&#8217;m talking about, because those don&#8217;t do what I&#8217;m talking about.)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdehaan.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdehaan.wordpress.com/2274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdehaan.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdehaan.wordpress.com/2274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mpdehaan.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mpdehaan.wordpress.com/2274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mpdehaan.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mpdehaan.wordpress.com/2274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdehaan.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdehaan.wordpress.com/2274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdehaan.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdehaan.wordpress.com/2274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdehaan.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdehaan.wordpress.com/2274/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2274&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://michaeldehaan.net/2012/01/26/web-services-and-humans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c1b7e921632632e11d5d2ee59403f5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mpdehaan</media:title>
		</media:content>
	</item>
		<item>
		<title>traits for software design of a systems management app</title>
		<link>http://michaeldehaan.net/2012/01/25/traits-for-software-design-of-a-systems-management-app/</link>
		<comments>http://michaeldehaan.net/2012/01/25/traits-for-software-design-of-a-systems-management-app/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 00:19:10 +0000</pubDate>
		<dc:creator>mpdehaan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michaeldehaan.net/?p=2254</guid>
		<description><![CDATA[So I&#8217;m almost to about 10 years in systems management stuff. As I keep thinking of what the ideal merger of all these apps I&#8217;ve worked with (or planned to build) are like, here&#8217;s how I would build the theoretical next. This is basically client/server architecture for very very many clients. Build something this way, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2254&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;m almost to about 10 years in systems management stuff.  As I keep thinking of what the ideal merger of all these apps I&#8217;ve worked with (or planned to build) are like, here&#8217;s how I would build the theoretical next.   This is basically client/server architecture for very very many clients.   Build something this way, and I think you&#8217;d avoid a lot of traps I&#8217;ve seen over the years&#8230; and it also wouldn&#8217;t be that hard.  Obviously not everything works for everyone.</p>
<ul>
<li>As a general rule, use as much off the shelf components as possible&#8230; provided it&#8217;s not some project that came out last week, people adopt what they are familar with.  Also, you can be lazy and work on more features and less plumbing.  Plumbing is not sexy because it&#8217;s been done 1000x before.</li>
<li>Don&#8217;t look to big industry standards, these go out of favor quickly.  Look to what people are using to get real work done, use those things unless they suck.</li>
<li>Avoid live queries for state.  Hit the remote resource, update the server side state, show that.  You&#8217;ll want to do things with it later and it scales better.</li>
<li>Use pull technology to access the managed nodes.  Systems aren&#8217;t online all of the time and they move, have a way to trigger the pull, which makes it work like a push.  Do not have any kind of long running connections to the server.</li>
<li>Use Apache (or nginx, etc) as much as possible for serving content, and consider squid for caching files, where security is not an issue.  Don&#8217;t serve files from live code where avoidable</li>
<li>Consider building UI out of static HTML pages that do regular form submissions.  Ok, I kid, but I hate javascript compatiblity and CLIs are better anyway</li>
<li>Your CLI needs to do every thing your UI can do, the UI is allowed to do less, but must represent anything your CLI can set up</li>
<li>The CLI should take a remote server parameter, do not require it to be run on the server</li>
<li>the CLI should not contact nodes directly, but must ask the server to contact nodes and use the API to do it</li>
<li>Probably use a strongly typed and reasonably fast language to reduce the frequency of errors that occur along the actual error path &#8212; Scala maybe? Management apps get very large and can have unexplored areas that are hard to cover with tests</li>
<li>A daemon if required should be extremely lightweight and just dispatch a helper application to avoid leakage and unnecessary resource drain</li>
<li>Do not store static content in a database.  Updating is difficult and querying is meaningless.  You know who you are.</li>
<li>Connect systems and nodes only via message bus technology for easy routing, but also for easy spying/debugging on communications.</li>
<li>Where security is an issue, rather than serving content dynamically, consider just adding an access handler to Apache</li>
<li>Do as much thinking about how clients should look on the actual clients.  Your datacenter is great for distributed computing.</li>
<li>If you need to version control the history of stuff (logs, reports, etc), consider using git internally and have it do all the work</li>
<li>I&#8217;d still use SQL (PostgreSQL) just so I can get migration capability which is lacking in NoSQL.  Riak is otherwise awesome.  SQL and NoSQL together is the worst of both worlds.</li>
<li>Allow pluggability via stdin/stdout protocols and subprocess execution.  JSON is probably fine and easiest for contributors, don&#8217;t limit things to a specific language.</li>
<li>Add lots of attach points for people to hook into things with their own code</li>
<li>Assume all operations will target more than one thing</li>
<li>Make all resources commentable (comments for multiple people, not just one field) and user taggable</li>
<li>Have iTunes like smart playlists of resources &#8212; rBuilder does this pretty well</li>
<li>Make all resources have an audit trail, including the user that modified them</li>
<li>Where I need a DSL or complex configuration representation editable by humans, use YAML &#8212; but don&#8217;t use YAML anywhere else</li>
<li>Generally prefer JSON over XML because you can represent more types of data structures and it&#8217;s faster</li>
<li>If you have template engines, support multiple template engines using the equivalent of a shebang line</li>
<li>If you write a webapp, write a client library, and make your view implementation use it to talk to your server.  Redistribute the client library, it&#8217;s great documentation.</li>
<li>Log at a reasonable level, but not to the database.  Databases don&#8217;t make good logs because you have to keep pruning them.</li>
<li>Use the same protocols between nodes that you talk to the server.</li>
<li>Server must be installable from one package with editing of only that one app&#8217;s configuration file(s).</li>
<li>Client software that runs on nodes must be installable from one package with editing of no configuration files, a &#8211;server parameter for a register command is a good idea but should not require additional setup/files, and it should be trivially easy to integrate with kickstart/preseed or anything else</li>
<li>Do not think of your application in terms of purposed services, some running here, some not.  Most management nodes can run everything and just scale out by adding more .  That&#8217;s the point of the message bus &#8212; first node to ask for more work gets it.</li>
<li>Keep communications non-chatty (or free from ping-ponging) &#8212; if you must push to a node, tell a node what you want to do as completely as possible, expect a response, then give it a break.</li>
<li>Generate RSS feeds for anything that has a history</li>
</li>
<p>And probably some other things.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdehaan.wordpress.com/2254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdehaan.wordpress.com/2254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdehaan.wordpress.com/2254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdehaan.wordpress.com/2254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mpdehaan.wordpress.com/2254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mpdehaan.wordpress.com/2254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mpdehaan.wordpress.com/2254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mpdehaan.wordpress.com/2254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdehaan.wordpress.com/2254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdehaan.wordpress.com/2254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdehaan.wordpress.com/2254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdehaan.wordpress.com/2254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdehaan.wordpress.com/2254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdehaan.wordpress.com/2254/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2254&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://michaeldehaan.net/2012/01/25/traits-for-software-design-of-a-systems-management-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c1b7e921632632e11d5d2ee59403f5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mpdehaan</media:title>
		</media:content>
	</item>
		<item>
		<title>attempts at codifying Personal Philosophy</title>
		<link>http://michaeldehaan.net/2012/01/24/attempts-at-codifying-personal-philosophy/</link>
		<comments>http://michaeldehaan.net/2012/01/24/attempts-at-codifying-personal-philosophy/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 01:08:38 +0000</pubDate>
		<dc:creator>mpdehaan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michaeldehaan.net/?p=2248</guid>
		<description><![CDATA[As I&#8217;ve never attempted to type this out, rules I generally like to live by (to varying degrees of success): Shoot straight, play fair, and work hard Destruction is easy, creation is hard. Create more things. Animals are people too, except when they are very tasty and widely eaten. If hell is overseen by chickens, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2248&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As I&#8217;ve never attempted to type this out, rules I generally like to live by (to varying degrees of success):</p>
<ul>
<li>Shoot straight, play fair, and work hard</li>
<li>Destruction is easy, creation is hard.  Create more things.</li>
<li>Animals are people too, except when they are very tasty and widely eaten.  If hell is overseen by chickens, I am screwed.</li>
<li>There&#8217;s something to learn from everyone</li>
<li>Have as many different perspectives as possible</li>
<li>Fear is the Mind killer (darn you, Frank Herbert)</li>
<li>Imagination is one of the most important skills ever</li>
<li>When faced with a potential conflict, seek first to understand other viewpoints</li>
<li>Always question your assumptions, views, facts, and biases</li>
<li>Never sit with your back to a door (darn you again, Frank Herbert)</li>
<li>Just like in Calvinball, few rules and limitations are fixed</li>
<li>&#8220;Your first 10,000 pictures are your worst.&#8221; &#8212; Keep doing things even when you suck at them, is the best way to get better at them</li>
<li>Always be helping robots enslave humanity at some future date</li>
<li>Most things can be improved by adding lasers</li>
</ul>
<p>Hopefully that helps people understand me less.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdehaan.wordpress.com/2248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdehaan.wordpress.com/2248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdehaan.wordpress.com/2248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdehaan.wordpress.com/2248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mpdehaan.wordpress.com/2248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mpdehaan.wordpress.com/2248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mpdehaan.wordpress.com/2248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mpdehaan.wordpress.com/2248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdehaan.wordpress.com/2248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdehaan.wordpress.com/2248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdehaan.wordpress.com/2248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdehaan.wordpress.com/2248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdehaan.wordpress.com/2248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdehaan.wordpress.com/2248/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2248&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://michaeldehaan.net/2012/01/24/attempts-at-codifying-personal-philosophy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c1b7e921632632e11d5d2ee59403f5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mpdehaan</media:title>
		</media:content>
	</item>
		<item>
		<title>Open Source Business Talk</title>
		<link>http://michaeldehaan.net/2012/01/22/open-source-business-foss-fair-2012/</link>
		<comments>http://michaeldehaan.net/2012/01/22/open-source-business-foss-fair-2012/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 21:46:26 +0000</pubDate>
		<dc:creator>mpdehaan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michaeldehaan.net/?p=2240</guid>
		<description><![CDATA[For local folks, I&#8217;m planning to give a talk on Open Source communities &#38; business models (or &#8220;Open Source in non-glamarous practice&#8221;) at the upcoming NCSU FOSS Fair, this February. This may be a bit more &#8220;fair and balanced&#8221; (or PG-13?) than my usual open source community cheerleading pitch I&#8217;ve given in the past, but [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2240&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For local folks, I&#8217;m planning to give a talk on Open Source communities &amp; business models (or &#8220;Open Source in non-glamarous practice&#8221;) at the upcoming <A HREF="https://opensource.ncsu.edu/FossFair2012">NCSU FOSS Fair</A>, this February.   This may be a bit more &#8220;fair and balanced&#8221; (or PG-13?) than my usual open source community cheerleading pitch I&#8217;ve given in the past, but should be (maybe more) interesting.   This will be mostly based on experiences with Red Hat and Puppet Labs (both great and tremendously valuable experiences) as well as tracking trends in programming, open source, and startup news.  Rough plans, for which, I promise, there will be no slides whatsoever (so you&#8217;ll have to go) below.  Get some insight into reality of what they don&#8217;t tell you about OSS from a battle scarred DevOps veteran.</p>
<ul>
<li>Scalability and success of different OSS business models.  What&#8217;s right for you?</li>
<li>What to do if you don&#8217;t have a strong user community?</li>
<li>Is your project sellable?</li>
<li>Recognizing what type of community your project has, and what that means, and how you can use it</li>
<li>Managing user vs strategic direction</li>
<li>Realities of clone projects, &#8220;freeloading&#8221;, forks, mindshare, &amp; innovator&#8217;s dilemma</li>
<li>Riding the line between Minimal Viable Product vs the Killer App, amidst limited resources</li>
<li>Project Marketing 2.0 and Grassroots strategy</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdehaan.wordpress.com/2240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdehaan.wordpress.com/2240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdehaan.wordpress.com/2240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdehaan.wordpress.com/2240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mpdehaan.wordpress.com/2240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mpdehaan.wordpress.com/2240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mpdehaan.wordpress.com/2240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mpdehaan.wordpress.com/2240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdehaan.wordpress.com/2240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdehaan.wordpress.com/2240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdehaan.wordpress.com/2240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdehaan.wordpress.com/2240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdehaan.wordpress.com/2240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdehaan.wordpress.com/2240/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2240&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://michaeldehaan.net/2012/01/22/open-source-business-foss-fair-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c1b7e921632632e11d5d2ee59403f5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mpdehaan</media:title>
		</media:content>
	</item>
		<item>
		<title>Olympus 45mm 1.8 for Micro 4/3rds Review &amp; Test Shots</title>
		<link>http://michaeldehaan.net/2011/12/31/olympus-45mm-1-8-for-micro-43rds-review-test-shots/</link>
		<comments>http://michaeldehaan.net/2011/12/31/olympus-45mm-1-8-for-micro-43rds-review-test-shots/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 21:19:18 +0000</pubDate>
		<dc:creator>mpdehaan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michaeldehaan.net/?p=2215</guid>
		<description><![CDATA[Today I took my new Olympus 45mm 1.8 out for a spin, attached to my trusty Panasonic GF1. As promised on twitter, here&#8217;s a mini review. Even though I don&#8217;t think I know anyone with a Micro 4/3rds camera, I like to feed the Google &#8212; and more people should buy them anyway, because they&#8217;re [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2215&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I took my new Olympus 45mm 1.8 out for a spin, attached to my trusty Panasonic GF1.  As promised on twitter, here&#8217;s a mini review.  Even though I don&#8217;t think I know anyone with a Micro 4/3rds camera, I like to feed the Google &#8212; and more people should buy them anyway, because they&#8217;re awesome.</p>
<p>I like lenses to be both sharp and fast &#8211;the benchmark, my favorite lens that I use on my Canon 5D is a Canon 85mm f/1.2L.   This lens is clearly not going to be it, as that is the lens God would make if he made camera lenses (and charged $2k for them) &#8230; but I wouldn&#8217;t want to lug it around all day either, and it absolutely never makes it out on business trips where I need to haul a laptop along.  This lens is Micro 4/3rds only hope though, if there is a lens that is to even pretend to be that, this has to be that lens.  Now, with the crop factor of Micro 4/3rds, this is as &#8220;fast&#8221; as a regular 1.8, but it&#8217;s two stops less in depth of field from a regular 1.8, so&#8230; it&#8217;s not going to be that amazing.  Let&#8217;s see how it turned out&#8230;</p>
<p><A HREF="http://mpdehaan.zenfolio.com/ncsu/heb4347a"><IMG SRC="http://mpdehaan.zenfolio.com/img/s11/v35/p246690938-3.jpg"></A></p>
<p>Better than expected!  Overall, I&#8217;d give this lens a 90/100 &#8212; it&#8217;s pretty sharp and this is about as good of depth of field you should expect to get out of a Micro 4/3rds lens, and would be absolutely perfect for vacations.   The depth of field is not going to pass for medium format quality, but it just might pass for 35mm on a good day.   And usually, the focal length is usually just right.  I don&#8217;t think it&#8217;s razor sharp, the color isn&#8217;t phenomenal, but it&#8217;s pretty darn good, and I must remind myself, pretty inexpensive.   The build quality is very good. And what do I mean razor sharp anyway?  I spent most of the day at f/1.8, which is not where any lens is sharpest.  That&#8217;s not even a fair test.</p>
<p>So here&#8217;s some test shots from walking around NC State, light was a bit harsh, December, about noon, no clouds.   Also it&#8217;s really hard taking pictures in a area ruled up by bricks.  The ultimate proving ground.  Did I mention the squirrels have grown as large as small dogs?  It&#8217;s true.  No pictures though.  Too dangerous to stay in their territory.</p>
<p><A HREF="http://mpdehaan.zenfolio.com/ncsu/h1c18cf1a#h1c18cf1a"><IMG SRC="http://mpdehaan.zenfolio.com/img/s3/v40/p471387930-3.jpg"></A></p>
<p><A HREF="http://mpdehaan.zenfolio.com/ncsu/h81f6777#h466f19d"><IMG SRC="http://mpdehaan.zenfolio.com/img/s11/v36/p73855389-3.jpg"></A></p>
<p>While my 85mm 1.2 is not jealous, I&#8217;d say I wouldn&#8217;t expect that to come out of a camera of that size.  This lens currently lists for about $380.   A pretty good deal for getting depth of field in a very light portable camera.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdehaan.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdehaan.wordpress.com/2215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdehaan.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdehaan.wordpress.com/2215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mpdehaan.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mpdehaan.wordpress.com/2215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mpdehaan.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mpdehaan.wordpress.com/2215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdehaan.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdehaan.wordpress.com/2215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdehaan.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdehaan.wordpress.com/2215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdehaan.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdehaan.wordpress.com/2215/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2215&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://michaeldehaan.net/2011/12/31/olympus-45mm-1-8-for-micro-43rds-review-test-shots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c1b7e921632632e11d5d2ee59403f5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mpdehaan</media:title>
		</media:content>
	</item>
		<item>
		<title>Music Theory Project Continued &#8212; Composing for a Grid Sequencer</title>
		<link>http://michaeldehaan.net/2011/12/27/music-theory-project-continued/</link>
		<comments>http://michaeldehaan.net/2011/12/27/music-theory-project-continued/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 17:04:02 +0000</pubDate>
		<dc:creator>mpdehaan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michaeldehaan.net/?p=2210</guid>
		<description><![CDATA[Over Christmas break I&#8217;ve converted the startings of my music theory library noose to Python, for no other reason that Python is my day job, and it makes things *slightly* easier to work in just one language. The new version is so far free of objects, so it can accomodate extremely long scores. (While it&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2210&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Over Christmas break I&#8217;ve converted the startings of my music theory library <A HREF="https://github.com/mpdehaan/nooselang">noose</A> to Python, for no other reason that Python is my day job, and it makes things *slightly* easier to work in just one language.   The new version is so far free of objects, so it can accomodate extremely long scores.   (While it&#8217;s not used for that now &#8212; It&#8217;s been an interest of mine since college to build a music program that could create continuous scores that continually evolved over a day or more, so&#8230; I&#8217;m keeping that option open.)</p>
<p>Anyway, goals.   My favorite way to record music is using an <A HREF="http://www.elektron.se/products/monomachine">Elektron Monomachine</A> serving as a sequencer for itself and a series of analog synthesizers.  To compose anything chorded, you have to spread things out over various tracks.  I don&#8217;t play these things live with a keyboard, because I don&#8217;t have 18 hands &#8212; and robots have much better timing than I do.</p>
<p>I don&#8217;t have a every note of every scale and mode in my head yet (understatement), I&#8217;d ideally like to compose things using something similar to the Nashville numbers system &#8212; preview the composition with something like garage band, and then enter it more properly into the Elektron, making full use of parameter locks, mod wheel changes, and so forth.  This would also allow easy repeating of themes in different scales, like modulating between keys.  Ideally I want something I can edit in ASCII.</p>
<p>So, the way I see a song is basically a series of multiple patterns like this (ignore the non-fixed with font):</p>
<pre>
scale: C Major

moog  1 | 1 2 3 - -  - - -  - - - - -  - - -
sem   1 | 1 - - - 1  - - -  1 - - - 1  - - -
xs    1 | 1 2 - - 1  - - -  1 2 - - 1  - - -
voice 3 | I - - - IV - - -  V - - - VI - - -
</pre>
<p>Where &#8220;moog&#8221;, &#8220;sem&#8221;, and &#8220;xs&#8221; are names of various analog synthesizers, and &#8220;voice&#8221; represents three voices of another synthesizer, doing something like a choir patch.  In my current setup, I have the capacity for 12 parallel tracks and actually have 10.  </p>
<p>Though the way the monomachine enters things is basically like this, in a 16 to 64 step pattern:</p>
<pre>
      moog |
     moog0 |  C4 Cs4  D4 --- --- --- --- --- --- --- --- --- --- --- --- ---
       sem |
      sem0 |  C4 --- --- ---  C4 --- --- ---  C4 --- --- ---  C4 --- --- ---
     voice |
    voice0 |  C4 --- --- ---  F4 --- --- ---  G4 --- --- ---  A4 --- --- ---
    voice1 |  E4 --- --- ---  A4 --- --- ---  B4 --- --- --- Cs5 --- --- ---
    voice2 |  G4 --- --- ---  C5 --- --- ---  D5 --- --- ---  E5 --- --- ---
        xs |
       xs0 |  C4 Cs4 --- ---  C4 --- --- ---  C4 Cs4 --- ---  C4 --- --- ---
</pre>
<p>So, I needed something to generate format 2 from format 1.  While the use of three voices for a chorded instrument may sound like an annoyance, I can actually assign very different timbres for each voice, which is pretty cool.</p>
<p>While it&#8217;s not polished to the level I want it yet, behold: <A HREF="https://github.com/mpdehaan/nooselang/blob/master/examples/monogrid.py">monogrid.py</A>.</p>
<p>Naturally MIDI output is likely to be useful, though I won&#8217;t have it playing directly into the monomachine, because<br />
most of the fun of Elektron gear is programming variance in the individual timbres of steps.</p>
<p>I still have to program in some more scales into the library, and teach monogrid to support multiple pattern inputs, you get the general idea.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdehaan.wordpress.com/2210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdehaan.wordpress.com/2210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdehaan.wordpress.com/2210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdehaan.wordpress.com/2210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mpdehaan.wordpress.com/2210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mpdehaan.wordpress.com/2210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mpdehaan.wordpress.com/2210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mpdehaan.wordpress.com/2210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdehaan.wordpress.com/2210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdehaan.wordpress.com/2210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdehaan.wordpress.com/2210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdehaan.wordpress.com/2210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdehaan.wordpress.com/2210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdehaan.wordpress.com/2210/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2210&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://michaeldehaan.net/2011/12/27/music-theory-project-continued/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c1b7e921632632e11d5d2ee59403f5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mpdehaan</media:title>
		</media:content>
	</item>
		<item>
		<title>IT Clouds Explained</title>
		<link>http://michaeldehaan.net/2011/12/20/it-clouds-explained/</link>
		<comments>http://michaeldehaan.net/2011/12/20/it-clouds-explained/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 13:30:40 +0000</pubDate>
		<dc:creator>mpdehaan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michaeldehaan.net/?p=2203</guid>
		<description><![CDATA[Many people are confused about the differences between the web, grid, cloud, web services, and &#8220;as a service&#8221;. I&#8217;ve decided to help them out. Click for Large<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2203&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Many people are confused about the differences between the web, grid, cloud, web services, and &#8220;as a service&#8221;.    I&#8217;ve decided to help them out.</p>
<p><A HREF="http://mpdehaan.files.wordpress.com/2011/12/it_cloud_explained-1.jpg">Click for Large</A></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdehaan.wordpress.com/2203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdehaan.wordpress.com/2203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdehaan.wordpress.com/2203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdehaan.wordpress.com/2203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mpdehaan.wordpress.com/2203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mpdehaan.wordpress.com/2203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mpdehaan.wordpress.com/2203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mpdehaan.wordpress.com/2203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdehaan.wordpress.com/2203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdehaan.wordpress.com/2203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdehaan.wordpress.com/2203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdehaan.wordpress.com/2203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdehaan.wordpress.com/2203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdehaan.wordpress.com/2203/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2203&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://michaeldehaan.net/2011/12/20/it-clouds-explained/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c1b7e921632632e11d5d2ee59403f5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mpdehaan</media:title>
		</media:content>
	</item>
		<item>
		<title>Interview Questions</title>
		<link>http://michaeldehaan.net/2011/12/16/interview-questions/</link>
		<comments>http://michaeldehaan.net/2011/12/16/interview-questions/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 03:18:26 +0000</pubDate>
		<dc:creator>mpdehaan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michaeldehaan.net/?p=2195</guid>
		<description><![CDATA[Here&#8217;s some questions I&#8217;ve never asked, and probably won&#8217;t. Why were the manholes in Nashua, New Hampshire triangular? Convince me that you are not a figment of my imagination, or me of yours List your top 10 favorite guitarists. Let&#8217;s change things up. You Interview me. It&#8217;s karaoke time! You have &#8220;Wheel in the Sky&#8221; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2195&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s some questions I&#8217;ve never asked, and probably won&#8217;t.</p>
<ul>
<li>Why were the manholes in Nashua, New Hampshire triangular?</li>
<li>Convince me that you are not a figment of my imagination, or me of yours</li>
<li>List your top 10 favorite guitarists.</li>
<li>Let&#8217;s change things up.  You Interview me.</li>
<li>It&#8217;s karaoke time!  You have &#8220;Wheel in the Sky&#8221; by Journey, go.  No looking up lyrics.</li>
<li>Should NASCAR turn right in the Southern Hemisphere?</li>
<li>What are the advantages and disadvantages of basing a number system on base -3? How about base -3i?</li>
<li>Discuss how to make Ping Pong be successful in an 8PM Thursday major network time slot</li>
<li>Draw a picture of a turtle.</li>
<li>If your Mom said she liked PHP programming, would you still speak to her?</li>
<li>In event of zombie outbreak, where are the most desirable holdouts in the city?</li>
<li>Rate ducks, cows, sheep, pigs, and ferrets in terms of how funny they are</li>
<li>How would you make extreme programming more extreme?  Think &#8220;extreme ironing&#8221;, but better.</li>
<li>Port GWT to node.js, except use COBOL</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdehaan.wordpress.com/2195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdehaan.wordpress.com/2195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdehaan.wordpress.com/2195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdehaan.wordpress.com/2195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mpdehaan.wordpress.com/2195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mpdehaan.wordpress.com/2195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mpdehaan.wordpress.com/2195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mpdehaan.wordpress.com/2195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdehaan.wordpress.com/2195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdehaan.wordpress.com/2195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdehaan.wordpress.com/2195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdehaan.wordpress.com/2195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdehaan.wordpress.com/2195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdehaan.wordpress.com/2195/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2195&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://michaeldehaan.net/2011/12/16/interview-questions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c1b7e921632632e11d5d2ee59403f5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mpdehaan</media:title>
		</media:content>
	</item>
		<item>
		<title>Die, Web Apps!</title>
		<link>http://michaeldehaan.net/2011/12/04/die-web-apps/</link>
		<comments>http://michaeldehaan.net/2011/12/04/die-web-apps/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 17:03:41 +0000</pubDate>
		<dc:creator>mpdehaan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michaeldehaan.net/?p=2187</guid>
		<description><![CDATA[Recently got a new Macbook air, it&#8217;s awesome, and I took the opportunity to end my usage of a few web apps that were hurting my brain. Ever read any articles that say the web/technology are rewiring your brain? I didn&#8217;t really have that problem, say, around 2000 or so. You used a mail reader, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2187&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Recently got a new Macbook air, it&#8217;s awesome, and I took the opportunity to end my usage of a few web apps that were hurting my brain.</p>
<p>Ever read any articles that say the web/technology are <A HREF="http://www.nytimes.com/2010/06/07/technology/07brain.html">rewiring your brain</A>?   I didn&#8217;t really have that problem, say, around 2000 or so.  You used a mail reader, your chat client, whatever, and these things gave you nice alerts when you had stuff to read.   You went on the web to find things.  Web applications didn&#8217;t really exist, but lots of very good fat clients *did* exist. </p>
<p>However, juggling two web apps, gmail.com&#8217;s horrible user switcher, and occasionally visiting twitter to see if anything new was happening mixed the usage of the web for useful information with this weird feedback loop of &#8220;do I have stuff to look at?  Maybe, let&#8217;s go look.&#8221;.  Context switching is evil, and there&#8217;s a loss to flow and getting stuff done.  You can easily get into &#8220;Hey Look, A Squirrel!&#8221; mode and be a lot less productive. </p>
<p>Anyway, the new Mac app lineup:</p>
<p>Sparrow, for reading mail and doing the whole Inbox Zero thing<br />
Reeder, for reading RSS feeds<br />
Twitter&#8217;s app, versus twitter.com<br />
Alfred, just so I don&#8217;t have too many different ways to start things</p>
<p>It&#8217;s amazing how much my brain likes this.  </p>
<p>How&#8217;d we get taken up by web apps that give us bad attention-draining interfaces that require us to visit and work with them, all different from one another?  I don&#8217;t know.  I&#8217;m sure a lot folks have been using Gmail over IMAP for a while, but I used the web app, because I liked it&#8217;s search, and had grown to think that was the way it was supposed to be done.  OS X mail and Thunderbird have been relatively poor, so it was the only decent alternative, despite it doing some annoying things with threads, quoting, and so forth.   Google Reader made it easy to subscribe to things even when it wasn&#8217;t great at making things easy to consume.  Plus there was the whole &#8220;the web is the future&#8221; kind of discussion that was frequent on echo chambers like ycombinator.  (I&#8217;m still convinced there&#8217;s too many new developers on those sites, as they&#8217;re way more captivated by the next Javascript library than they should be.  And hey, get off my lawn!)</p>
<p>So, while we&#8217;re frequently told the browser is the future one true platform, and I look back longingly at days developing for Swing (not really) and WxPython (which worked great), I am happy to see the future in desktop apps.   Yes, the web and needing to jump between so many different tabs to keep up with things *does* rewire our brains, as we have to go seek out information in some sort of event driven loop.   Moving to push based apps means we have many less events to deal with.  </p>
<p>Right now, I have no mail, and I have no need to reload gmail to check.   And switch accounts to check the other.  But I know I don&#8217;t have any mail there either.  I also don&#8217;t have to check twitter, because I have no tweets.  I can just focus on what I&#8217;m doing next.  I&#8217;m less likely to need to get lost web surfing and can go put up Christmas lights.  I&#8217;m slowly becoming less event driven again, and it feels great to not monitor so many input streams.</p>
<p>Technology shouldn&#8217;t have to rewire our brains and workflows, or steal into our time, it should be made to fit into it.   So let&#8217;s not say the web is the new platform, let&#8217;s remember 1997, pre-webapps and how we probably got a lot more done then. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdehaan.wordpress.com/2187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdehaan.wordpress.com/2187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdehaan.wordpress.com/2187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdehaan.wordpress.com/2187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mpdehaan.wordpress.com/2187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mpdehaan.wordpress.com/2187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mpdehaan.wordpress.com/2187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mpdehaan.wordpress.com/2187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdehaan.wordpress.com/2187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdehaan.wordpress.com/2187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdehaan.wordpress.com/2187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdehaan.wordpress.com/2187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdehaan.wordpress.com/2187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdehaan.wordpress.com/2187/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2187&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://michaeldehaan.net/2011/12/04/die-web-apps/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c1b7e921632632e11d5d2ee59403f5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mpdehaan</media:title>
		</media:content>
	</item>
		<item>
		<title>Cobbler has moved to github</title>
		<link>http://michaeldehaan.net/2011/11/26/cobbler-has-moved-to-github/</link>
		<comments>http://michaeldehaan.net/2011/11/26/cobbler-has-moved-to-github/#comments</comments>
		<pubDate>Sat, 26 Nov 2011 19:52:19 +0000</pubDate>
		<dc:creator>mpdehaan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://michaeldehaan.net/?p=2171</guid>
		<description><![CDATA[Cobbler moving to github is now complete. cobbler.github.com and Wiki. Why do this? Well, github has better collaboration tools for one. Another more important reason is to make the knowledge that Cobbler isn&#8217;t a distribution-specific project really really obvious, and to open up work from people moving in different directions. Fedora Hosted was great at [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2171&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Cobbler moving to github is now complete.   <A HREF="http://cobbler.github.com/">cobbler.github.com</A> and <A HREF="https://github.com/cobbler/cobbler/wiki">Wiki</A>.</p>
<p>Why do this?   Well, github has better collaboration tools for one.  Another more important reason is to make the knowledge that Cobbler isn&#8217;t a distribution-specific project really really obvious, and to open up work from people moving in different directions. Fedora  Hosted was great at the time, but now it&#8217;s a flat list of half-abandoned projects where new people don&#8217;t find things.  On github, browsing what people you have forked, you DO find things, and you are exposed to new projects.   Where should some good code live so that people could find it?  That&#8217;s why.</p>
<p>While I&#8217;d be remiss to not thank Red Hat for doing a lot to sponsor development over the years, I&#8217;m also happy to say it now lives on in a completely upstream, with Scott moving on Facebook (congrats!), James Cammarata doing a ton of work, and even taking some nice github pull requests from Canonical (arm support, among others), and all the commits being community driven by a pretty large pool of folks.  It&#8217;s not part of a &#8220;modern&#8221; Red Hat management stack, even.  So, reasons to keep things on FedoraHosted (implying a CentOS/RHEL focus) when we&#8217;re just as likely to get patches about SLES or Ubuntu?  Not much.  I&#8217;m actually very interested in seeing how much of the Cobbler stack I can get running on OS X.</p>
<p>What am I doing somewhat back around this?  Hopefully not tons but making sure there is an environment where people can continue to work on it, though as I&#8217;m more and more involved with clouds, I like knowing that it&#8217;s around and kicking for when I am going to need to provision the physical boxen underneath that cloud, and that it works for everyone.  I definitely plan on using it again in large capacities someday.   Plus, there are some things here and there that I always meant to clean up &#8230; and they might be haunting me some <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdehaan.wordpress.com/2171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdehaan.wordpress.com/2171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdehaan.wordpress.com/2171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdehaan.wordpress.com/2171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mpdehaan.wordpress.com/2171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mpdehaan.wordpress.com/2171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mpdehaan.wordpress.com/2171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mpdehaan.wordpress.com/2171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdehaan.wordpress.com/2171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdehaan.wordpress.com/2171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdehaan.wordpress.com/2171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdehaan.wordpress.com/2171/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdehaan.wordpress.com/2171/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdehaan.wordpress.com/2171/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=michaeldehaan.net&amp;blog=6867609&amp;post=2171&amp;subd=mpdehaan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://michaeldehaan.net/2011/11/26/cobbler-has-moved-to-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c1b7e921632632e11d5d2ee59403f5f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mpdehaan</media:title>
		</media:content>
	</item>
	</channel>
</rss>
