<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Midnight Oil</title>
	
	<link>http://blog.aisleten.com</link>
	<description>Late nights eventually pay off</description>
	<pubDate>Wed, 12 Nov 2008 19:49:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/aisleten/blog" type="application/rss+xml" /><item>
		<title>Atlanta Startup Weekend 2 - Better, but I still quit</title>
		<link>http://feeds.feedburner.com/~r/aisleten/blog/~3/446767815/</link>
		<comments>http://blog.aisleten.com/2008/11/08/atlanta-startup-weekend-2-better-but-i-still-quit/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 19:38:19 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[asw2]]></category>

		<category><![CDATA[givingtime]]></category>

		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://blog.aisleten.com/?p=221</guid>
		<description><![CDATA[I attended ASW2 this Friday, and while I enjoyed it much more than last time, I still decided not to return on Saturday and Sunday.  Consider it a mixture of laziness and desire to work on other stuff.
Update: Just to be 100% clear: I think ASW2 was a good time, I just had a [...]]]></description>
			<content:encoded><![CDATA[<p>I attended <a href="http://atlanta2.startupweekend.com/">ASW2 </a>this Friday, and while I enjoyed it much more than last time, I still decided not to return on Saturday and Sunday.  Consider it a mixture of laziness and desire to work on other stuff.</p>
<p><strong>Update:</strong> Just to be 100% clear: I think ASW2 was a good time, I just had a lot on my plate.  The main reason I quit is because weekends are the only times I can work on my own startup stuff, and it&#8217;s a big investment for me to spend that time on other pursuits.  I&#8217;m glad I went on Friday, and if I had more free time I might have stuck it out.  But, all things equal, the TODO stack for <a href="http://www.obsidianportal.com">Obsidian Portal</a> doesn&#8217;t shrink on its own.</p>
<div style="margin: 0 auto; text-align: center;">
<h3>My Pitch: Get Me A Date</h3>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2226148&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2226148&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><br /><a href="http://vimeo.com/2226148">Atlanta Startup Weekend - Get Me A Date!</a>
</div>
<blockquote><p>
Using <a href="https://www.mturk.com/mturk/welcome">Amazon Mechanical Turk</a>, do human reviews of dating website profiles to help people look their best.</p>
<p>Charge a flat fee of $10 for a review. This gets farmed out to two MTurk workers for a rate of $3 each, leaving a profit of $4 for the service. The MTurk workers review the person&#8217;s profile and give specific, personal criticism of their photo and bio.</p>
<p>Each review is 100% satisfaction guaranteed. If the customer is dissatisfied, they get their money back&#8230;and the MTurk worker doesn&#8217;t get paid! Over time, MTurk workers get better, to the point that they can churn through the reviews and make $30-$40/hr, all the while earning money for us!
</p></blockquote>
<p>Essentially, it&#8217;s an excuse to play with MTurk.  I think MTurk is a fascinating idea, and there are some really cool things that could be done with it, assuming the workforce is steady and high enough quality can be ensured.</p>
<p>Get Me A Date made it to the top 5 (out of about 30 ideas), but when the time came to pledge support for a project, only my new friend John stood up.  So, we disbanded and moved to Giving Time.</p>
<p>I spent a little time with the <a href="http://givingti.me">GivingTi.me</a> team, but eventually decided to quit.  I liked the idea and the opportunity to work with some new people, but there was one person on the team who really rubbed me the wrong way.  Chris wanted to run all the conversations, and seemed to think very highly of himself due to being a CTO of a local startup and having an MS in Software Engineering from Tech.  Well, I&#8217;m also the CTO of a startup (I give myself titles for AisleTen whenever it&#8217;s convenient) and have an MS in Artificial Intelligence from Tech, but I don&#8217;t think that&#8217;s really all that relevant at Startup Weekend.  Skills and personality are important, not titles.</p>
<p>When I was asked if I would be there Saturday morning, and I said no, Chris asked, &#8220;Is it because of me?&#8221;  Rather than play it down and be nice, I was blunt and said yes.  If I&#8217;m going to spend a weekend hacking away on a never-make-money project, it had better be with people I like and respect.  Why spend your free time getting bossed around and talked down to?  At the time, I declined to elaborate, since there were about a dozen people in the room, but I am proud of myself for being straightforward and honest.</p>
<p>Ultimately, I didn&#8217;t find any of the ideas all that compelling.  Plus, I&#8217;ve been tweaking some stuff on <a href="http://www.obsidianportal.com">ObsidianPortal</a>, so that&#8217;s where my heart is at the moment.  It&#8217;s hard to concentrate on something when you wish you were somewhere else.</p>
<p>Anyways, I wish everyone the best, and I hope some good stuff comes from the weekend.  I know I&#8217;ll be working on <a href="http://www.obsidianportal.com">Obsidian Portal</a> most of the time, so it&#8217;s still a startup weekend for me. <img src='http://blog.aisleten.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aisleten.com/2008/11/08/atlanta-startup-weekend-2-better-but-i-still-quit/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.aisleten.com/2008/11/08/atlanta-startup-weekend-2-better-but-i-still-quit/</feedburner:origLink></item>
		<item>
		<title>Generating Buzz Without Being a Scumbag Spammer - Barcamp Atlanta 2008</title>
		<link>http://feeds.feedburner.com/~r/aisleten/blog/~3/425146555/</link>
		<comments>http://blog.aisleten.com/2008/10/18/generating-buzz-without-being-a-scumbag-spammer/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 03:55:52 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
		
		<category><![CDATA[BarCamp Atlanta]]></category>

		<category><![CDATA[BarCamp]]></category>

		<category><![CDATA[barcampatl]]></category>

		<guid isPermaLink="false">http://blog.aisleten.com/?p=211</guid>
		<description><![CDATA[This is the presentation I gave at Barcamp Atlanta, 2008.  These are some of the things I&#8217;ve learned while trying to promote Obsidian Portal.  If you don&#8217;t want to read the slides, here&#8217;s the gist: Get bloggers to talk about you!
Scribd really creamed the slides, so if you want them in their original, [...]]]></description>
			<content:encoded><![CDATA[<p>This is the presentation I gave at Barcamp Atlanta, 2008.  These are some of the things I&#8217;ve learned while trying to promote <a href="http://www.obsidianportal.com">Obsidian Portal</a>.  If you don&#8217;t want to read the slides, here&#8217;s the gist: Get bloggers to talk about you!</p>
<p>Scribd really creamed the slides, so if you want them in their original, glorious PowerPoint 2007 format, here you go: <a href='http://blog.aisleten.com/wp-content/uploads/2008/10/generating-buzz.pptx'>Generating Buzz Without Being a Scumbag Spammer</a></p>
<p><object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" id="doc_89009032631092" name="doc_89009032631092" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" align="middle"	height="500" width="100%"><param name="movie"	value="http://documents.scribd.com/ScribdViewer.swf?document_id=7356413&#038;access_key=key-zunf8ahljt3hj4f338m&#038;page=&#038;version=1&#038;auto_size=true&#038;viewMode="></param><param name="quality" value="high"></param><param name="play" value="true"></param><param name="loop" value="true"></param><param name="scale" value="showall"></param><param name="wmode" value="opaque"></param><param name="devicefont" value="false"></param><param name="bgcolor" value="#ffffff"></param><param name="menu" value="true"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><param name="salign" value=""><embed src="http://documents.scribd.com/ScribdViewer.swf?document_id=7356413&#038;access_key=key-zunf8ahljt3hj4f338m&#038;page=&#038;version=1&#038;auto_size=true&#038;viewMode=" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" play="true" loop="true" scale="showall" wmode="opaque" devicefont="false" bgcolor="#ffffff" name="doc_89009032631092_object" menu="true" allowfullscreen="true" allowscriptaccess="always" salign="" type="application/x-shockwave-flash" align="middle"  height="500" width="100%"></embed></param></object>
<div style="font-size:10px;text-align:center;width:100%"><a href="http://www.scribd.com/doc/7356413/Generating-Buzz-For-Your-Website-Without-Being-a-Scumbag-Spammer">Generating Buzz For Your Website (Without Being a Scumbag Spammer)</a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.aisleten.com/2008/10/18/generating-buzz-without-being-a-scumbag-spammer/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.aisleten.com/2008/10/18/generating-buzz-without-being-a-scumbag-spammer/</feedburner:origLink></item>
		<item>
		<title>Micah’s Mad Skillz at Photoshop</title>
		<link>http://feeds.feedburner.com/~r/aisleten/blog/~3/404288237/</link>
		<comments>http://blog.aisleten.com/2008/09/26/micahs-mad-skillz-at-photoshop/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 01:44:06 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.aisleten.com/?p=193</guid>
		<description><![CDATA[I&#8217;ve never pretended to be good (or even decent) at Photoshop.  I just don&#8217;t have the eye or the patience  for it.  All the fonts look the same to me, the only colors I understand are ROYGBIV, and things just never seem to line up.
That being said, I&#8217;ve always wanted to get [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve never pretended to be good (or even decent) at Photoshop.  I just don&#8217;t have the eye or the patience  for it.  All the fonts look the same to me, the only colors I understand are ROYGBIV, and things just never seem to line up.</p>
<p>That being said, I&#8217;ve always wanted to get better.  Lack of design skill is a major hole in my web developer skillset.  So, whenever I get the chance, I try to grit my teeth and force myself to learn something new.</p>
<p>Behold, my latest creation:</p>
<p><a href="http://www.obsidianportal.com/campaign/goblins-gone-wild"><img src="http://s3.amazonaws.com/obsidianportal/assets/52/goblins_wild.png" style="width:480px;" /></a></p>
<p>Disgusting, huh?  Check out <a href="http://www.obsidianportal.com/campaign/goblins-gone-wild">my new campaign</a>, and follow along with these morally impure creatures.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aisleten.com/2008/09/26/micahs-mad-skillz-at-photoshop/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.aisleten.com/2008/09/26/micahs-mad-skillz-at-photoshop/</feedburner:origLink></item>
		<item>
		<title>Rails, Textile, and javascript WYSIWYG roundup</title>
		<link>http://feeds.feedburner.com/~r/aisleten/blog/~3/389835801/</link>
		<comments>http://blog.aisleten.com/2008/09/11/rails-textile-and-javascript-wysiwyg-roundup/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 17:21:25 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
		
		<category><![CDATA[Plugins]]></category>

		<category><![CDATA[Projects]]></category>

		<category><![CDATA[Ruby on Rails]]></category>

		<category><![CDATA[markdown]]></category>

		<category><![CDATA[markitup]]></category>

		<category><![CDATA[redcloth]]></category>

		<category><![CDATA[ruby]]></category>

		<category><![CDATA[rubyonrails]]></category>

		<category><![CDATA[textile]]></category>

		<guid isPermaLink="false">http://blog.aisleten.com/?p=142</guid>
		<description><![CDATA[If you allow rich text from your users in a Rails app, then you&#8217;re probably familiar with Textile.  Either that or you&#8217;ve chosen the dark side, aka. Markdown.  If that&#8217;s the case, I hate everything you stand for and I&#8217;ll bet you put your curly braces on the wrong line!
Assuming you&#8217;re one of [...]]]></description>
			<content:encoded><![CDATA[<p>If you allow rich text from your users in a Rails app, then you&#8217;re probably familiar with Textile.  Either that or you&#8217;ve chosen the dark side, aka. Markdown.  If that&#8217;s the case, I hate everything you stand for and I&#8217;ll bet you put your curly braces on the wrong line!</p>
<p>Assuming you&#8217;re one of The Chosen who has selected Textile as your input syntax of choice, you&#8217;ve probably got plenty of users who are turned off by the syntax.  It may be easy for your average web developer to pick up yet another new syntax, but there are lots of people on the web who have never clicked the edit tab on Wikipedia, or think that links are specified with [URL=http://bbcode.com].</p>
<p>For these people, some sort of help is necessary.  Quick tip sidebars, tutorials, and help pages only go so far.  To make it truly useful you&#8217;ll probably have to dip into your Javascript bag of tricks.  Luckily for you, a few others have already blazed that trail and created a handful of Textile utilities.</p>
<p><a href="http://slateinfo.blogs.wvu.edu/plugins/textile_editor_helper"><br />
<h3>Textile Editor Helper (TEH)</h3>
<p></a></p>
<blockquote><p>NOTE: We&#8217;ve forked the Textile Editor Helper plugin to have more features and to conform to Rails 2.1 conventions. Our fork is available on github here:<br />
<a href="http://github.com/felttippin/textile-editor-helper/tree/master">http://github.com/felttippin/textile-editor-helper/tree/master</a></p></blockquote>
<p><a href="http://blog.aisleten.com/wp-content/uploads/2008/08/teh2.png"><img src="http://blog.aisleten.com/wp-content/uploads/2008/08/teh2.png" alt="Textile Editor" title="Textile Editor" width="500" class="size-medium wp-image-164" /></a></p>
<p>The <a href="http://slateinfo.blogs.wvu.edu/plugins/textile_editor_helper">Textile Editor Helper</a> is a very simple toolbar that sits at the top of your textareas, much like the Wikipedia toolbar.  It provides many of the most basic Textile options, like bold and italics, plus some text alignment.  Unfortunately, it doesn&#8217;t include linking and image includes, which are really easy to do with Textile.</p>
<p>Supposedly, you can add your own buttons, but I haven&#8217;t confirmed this.  Plus, I think the whole plugin is based around the idea of prefixes/suffixes for text (like * for strong, or _ for em), so anything that requires more than that might not be possible.  So, TEH is a good solution if all you need is some basic formatting help.<br />
<a href="http://jrm.cc/extras/live-textile-preview.php"><br />
<h3>Live Textile Preview</h3>
<p></a><br />
The <a href="http://jrm.cc/extras/live-textile-preview.php">Live Textile Preview</a> (aka SuperTextile) is simply a Javascript implementation of the Textile parser.  So, you can convert Textile to HTML on the client side.  This allows users to experiment with the syntax and quickly see what the changes will look like.</p>
<p>Unfortunately, from my cursory testing, it only implements most of the Textile syntax.  Basic text changes, images, and links are covered.  However, advanced text alignment and CSS styling elements seem to be beyond its capabilities.  So, it&#8217;s not perfect.  Still, if you only need the basics, SuperTextile can make life bearable for your users.<br />
<a href="http://tore.darell.no/sanskrit/"><br />
<h3>Sanskrit WYSIWYG editor</h3>
<p></a></p>
<p><a href="http://blog.aisleten.com/wp-content/uploads/2008/08/sanskrit.png"><img src="http://blog.aisleten.com/wp-content/uploads/2008/08/sanskrit-300x51.png" alt="Sanskrit" title="Sanskrit" width="300" height="51" class="size-medium wp-image-168" /></a></p>
<p><a href="http://tore.darell.no/sanskrit/">Sanskrit</a> is a true WYSIWYG editor, and the only one I&#8217;ve seen for Textile.  However, it only does the absolute basics, so I can&#8217;t recommend it.  Plus, I don&#8217;t think it&#8217;s a great idea to hide the raw Textile from your users.  I&#8217;m a fan of the Wikipedia / Mediawiki way of things, where you provide some editing help, but your users are always looking at the raw text.  Eventually, they&#8217;ll get the hang of things and won&#8217;t need the crutch of the editor buttons anymore.<br />
<a href="http://markitup.jaysalvat.com/home/"><br />
<h3>markItUp!</h3>
<p></a></p>
<p><a href="http://blog.aisleten.com/wp-content/uploads/2008/08/markitup.png"><img src="http://blog.aisleten.com/wp-content/uploads/2008/08/markitup.png" alt="" title="markitup" width="500" class="alignnone size-medium wp-image-170" /></a></p>
<p><a href="http://markitup.jaysalvat.com/home/">markItUp!</a> could be the most promising of all the solutions.  A general purpose syntax parser written on top of jQuery, markItUp! can translate any syntax into HTML, provided you write the correct parser.  Further, someone has already gone through the trouble and created a Textile parser!</p>
<p>I haven&#8217;t installed or tested markItUp!, but I was very impressed after playing around with the Textile demo.  It seemed capable of most of the Textile syntax, and even included a handy-dandy preview feature.  So, it includes the best of all worlds: users work on raw Textile, but can get a live preview at the click of a button.</p>
<h3>More?</h3>
<p>Well, that&#8217;s all the Textile help I&#8217;ve found so far.  Each one has its plusses and minuses, but any of them is probably better than a bare textarea with little or no help.</p>
<p>If I&#8217;ve left anything out, please let me know and I&#8217;ll add it to the list.  With a little help, we can put together a comprehensive list of all the Textile tools available for Rails programmers.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aisleten.com/2008/09/11/rails-textile-and-javascript-wysiwyg-roundup/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.aisleten.com/2008/09/11/rails-textile-and-javascript-wysiwyg-roundup/</feedburner:origLink></item>
		<item>
		<title>The Ontological Argument applied to programming</title>
		<link>http://feeds.feedburner.com/~r/aisleten/blog/~3/381459355/</link>
		<comments>http://blog.aisleten.com/2008/09/02/the-ontological-argument-applied-to-programming/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 15:39:43 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
		
		<category><![CDATA[Programming Theory]]></category>

		<category><![CDATA[ontological]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://blog.aisleten.com/?p=150</guid>
		<description><![CDATA[
For a while, I&#8217;ve been kicking around in my head a version of The Ontological Argument as applied to programming.
The Ontological Argument for the Existence of God is an attempt to prove that God exists by playing around with definitions.  It requires no data and no experimentation, just a little armchair thinking, perfect for [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://upload.wikimedia.org/wikipedia/commons/5/59/Anselm_of_Canterbury.jpg" alt="St. Anselm" title="St. Anselm" style="float:left; margin:20px;" /></p>
<p>For a while, I&#8217;ve been kicking around in my head a version of <a href="http://en.wikipedia.org/wiki/Ontological_argument">The Ontological Argument</a> as applied to programming.</p>
<p><a href="http://en.wikipedia.org/wiki/Ontological_argument">The Ontological Argument for the Existence of God</a> is an attempt to prove that God exists by playing around with definitions.  It requires no data and no experimentation, just a little armchair thinking, perfect for your lazy philosopher.  I&#8217;ll lay it out as specified by Wikipedia:</p>
<ol>
<li>God is, by definition, a being greater than anything that can be imagined.</li>
<li>Existence both in reality and in imagination is greater than existence solely in one&#8217;s imagination.</li>
<li>Therefore, God must exist in reality: if He did not, He would not be a being greater than anything that can be imagined.</li>
</ol>
<p>Besides the definition of God, the whole argument comes down to the second assumption:</p>
<blockquote><p>Existence both in reality and in imagination is greater than existence solely in one&#8217;s imagination.</p></blockquote>
<p>In layman&#8217;s terms, this breaks down as: Something that exists is better than something that does not exist.  Would you rather have a real piece of cake, or an imaginary one?  A real X-Box 360, or an imaginary one?  That&#8217;s the basic idea.</p>
<p>This principle applies remarkably well to computer programming.  A program that runs is simply superior to one that does not.  Program <strong>foo</strong> may be better architected, better designed, more scalable, and more extensible, but as long as <strong>bar</strong> runs and <strong>foo</strong> does not, then <strong>bar</strong> is better.</p>
<p>In other words: No matter what nasty hacks or deals with the devil you had to make, the fact that you have working software trumps everything else.  UML diagrams, n-tiered architectures, and design patterns work well in our minds, but running software is the ultimate goal.  So, do your best to get things right, but do whatever it takes to get things running.  In the end, working software is all that matters.</p>
<p>Am I crazy?  Is St. Anselm (the author of The Ontological Argument) spinning in his grave?  Leave a comment and tell me what <em>you</em> think.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aisleten.com/2008/09/02/the-ontological-argument-applied-to-programming/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.aisleten.com/2008/09/02/the-ontological-argument-applied-to-programming/</feedburner:origLink></item>
		<item>
		<title>Obsidian Portal mentioned on Wired’s Geekdad</title>
		<link>http://feeds.feedburner.com/~r/aisleten/blog/~3/367634157/</link>
		<comments>http://blog.aisleten.com/2008/08/17/obsidian-portal-mentioned-on-wireds-geekdad/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 00:18:20 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
		
		<category><![CDATA[Obsidian Portal]]></category>

		<category><![CDATA[geekdad]]></category>

		<category><![CDATA[obsidianportal]]></category>

		<category><![CDATA[wired]]></category>

		<guid isPermaLink="false">http://blog.aisleten.com/?p=144</guid>
		<description><![CDATA[Obsidian Portal was mentioned today on Wired&#8217;s Geekdad blog as a great place to do worldbuilding.  Well, I would hope so since that&#8217;s one of the main purposes of the site.
A big thanks to the author, Michael Harrison, for the bump!  I can&#8217;t wait for part two!
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.obsidianportal.com">Obsidian Portal</a> was mentioned today on <a href="http://blog.wired.com/geekdad/2008/08/how-to-build--1.html">Wired&#8217;s Geekdad blog</a> as a great place to do worldbuilding.  Well, I would hope so since that&#8217;s one of the main purposes of the site.</p>
<p>A big thanks to the author, Michael Harrison, for the bump!  I can&#8217;t wait for part two!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aisleten.com/2008/08/17/obsidian-portal-mentioned-on-wireds-geekdad/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.aisleten.com/2008/08/17/obsidian-portal-mentioned-on-wireds-geekdad/</feedburner:origLink></item>
		<item>
		<title>Amazon EC2 further thoughts</title>
		<link>http://feeds.feedburner.com/~r/aisleten/blog/~3/365320465/</link>
		<comments>http://blog.aisleten.com/2008/08/14/amazon-ec2-further-thoughts/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 02:50:41 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.aisleten.com/?p=134</guid>
		<description><![CDATA[It took longer than I&#8217;d hoped, but I finally got map tiling moved over to EC2.  For a celebration, I thought I&#8217;d write a follow-up to my EC2 first thoughts.
The Problem of Persistence
I knew that EC2 instances did not maintain state after being shut down, but I didn&#8217;t think it would be a big [...]]]></description>
			<content:encoded><![CDATA[<p>It took longer than I&#8217;d hoped, but I finally got map tiling moved over to EC2.  For a celebration, I thought I&#8217;d write a follow-up to my <a href="http://blog.aisleten.com/2008/07/26/amazon-ec2-first-thoughts/">EC2 first thoughts</a>.</p>
<h3>The Problem of Persistence</h3>
<p>I knew that EC2 instances did not maintain state after being shut down, but I didn&#8217;t think it would be a big deal.  Shows what I know.</p>
<p>Dealing with a machine that forgets itself every time it spins down is very difficult.  Want to add a new apt package?  Install a gem?  All is good until you flip the power switch and then it&#8217;s gone.  The obvious and recommended solution is to persist your data in S3.  In my case, I chose to do this by re-bundling the image every time I made a change.  I had to do this probably 4 times, and while not difficult, it sure was tedious.</p>
<p>Trying to plan ahead, I even added an svn update to our tiler script startup, so as to get the latest code from subversion each time the instance spun up.  A few days later we decided to move to git, meaning I&#8217;ll have to add git-core to our image and then re-bundle it to S3.  Again, more tedium.</p>
<p>The other option is to keep a base image, and re-install all your packages and add-ons on each startup.  This is the philosophy of <a href="http://ec2onrails.rubyforge.org/">ec2onrails</a>.  Each time your instance spins up, you install any number of apt packages and gems via remote ssh script.</p>
<p>Ultimately, I decided against this option for our map tiling.  Considering that I expected each instance to be up for an hour only, and that users were waiting for their maps, I wanted to minimize startup time.  So, it&#8217;s bundle, add something I forgot, and re-bundle.</p>
<h3>Keeping track of it all</h3>
<p>If you&#8217;re planning on lots of starts and stops, you&#8217;re going to need a way to handle it automatically.  The <a href="http://github.com/grempe/amazon-ec2">grempe-amazon-ec2</a> gem makes the actual commands fairly painless, but you&#8217;ll need to store and track the instances you&#8217;re running.</p>
<p>One option is to directly use the EC2 gem.  While fairly easy to use, dealing with the resulting XML each time gets to be a pain.  So, I went ahead and created an <em>ec2_instances</em> table and tracked our instances in the database.  We store the private key, instance id, startup time, current state, and a little extra info as well.  Using all this (and updating it periodically) allows us to track and manage our instances, making sure that we&#8217;re shutting down each one we spin up.  Our nightmare scenario was a runaway startup loop that ends us with 1000s of idle instances, but it looks like I programmed it pretty well.  If I&#8217;m wrong, I&#8217;ll have to sell a kidney when our EC2 bill arrives.</p>
<h3>Who&#8217;s in Charge?</h3>
<p>So once you get your instances spinning up, it&#8217;s time to decide who&#8217;s in charge of starting the work.  In our case we had a tiler daemon we wanted to run.  The obvious choice is to put a script in /etc/init.d and set it to run automatically on startup.</p>
<p>However, since I like to make things hard, I decided to use a script that would ssh in and start the tiler from there.  It gave me a chance to play with the <a href="http://net-ssh.rubyforge.org/">ruby net-ssh library</a> and learn a little about public key authentication.</p>
<p>Theoretically, since we create a private key for each instance we spin up, we should be able to ssh in using this key.  If I use OpenSSH from the command line, everything works great.  Unfortunately, there&#8217;s a bug in net-ssh that requires you have the public key in addition to the private key, making it useless for my purposes.  So, I gave up and went back to using password authentication.</p>
<p>Anyways, we had to decide who would be in charge of determining when to spin down an instance.  Originally, I intended for the tiler daemon to handle this itself. but I got a little spooked.  If the daemon crashed out, the instance would never shut down, and we&#8217;d be dropping $2.40 a day for an idle machine.</p>
<p>To combat this, I added a cron job on our main web server that manages the EC2 instances.  Every 5 minutes it checks if we have a tiler instance running, and shuts it down if it&#8217;s idle and our hour is almost up.  It turned out to be a good choice, although the tiler daemon has yet to error out, so either way would have worked well.</p>
<h3>Estimate, Multiply by 2</h3>
<p>My overall impression of EC2 is very positive.  It&#8217;s much more complicated that S3, and even FPS, but I suppose that&#8217;s to be expected.  Considering the incredible flexibility, a little complexity is unavoidable.</p>
<p>When determining how much time it&#8217;s going to take you to do something new with S3, estimate and multiply by 2.  There are lots of little steps and new things to learn, and tying all the pieces together ended up taking much more time than I expected.  Still, I&#8217;ve come out with a good understanding of EC2, and now I&#8217;m itching to find a project that would allow me to leverage the true power of on-demand cloud computing.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aisleten.com/2008/08/14/amazon-ec2-further-thoughts/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.aisleten.com/2008/08/14/amazon-ec2-further-thoughts/</feedburner:origLink></item>
		<item>
		<title>Contacted by nobility</title>
		<link>http://feeds.feedburner.com/~r/aisleten/blog/~3/354386401/</link>
		<comments>http://blog.aisleten.com/2008/08/03/contacted-by-nobility/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 13:38:12 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
		
		<category><![CDATA[Obsidian Portal]]></category>

		<category><![CDATA[obsidianportal]]></category>

		<category><![CDATA[stirling]]></category>

		<guid isPermaLink="false">http://blog.aisleten.com/?p=132</guid>
		<description><![CDATA[Today, we received a note from the Earl of Stirling regarding what I assume is his appearance on Obsidian Portal. (Search for &#8220;sterling&#8221;)

Please do not use my name in your gaming/whatever.  I am the Earl of Stirling (short form Lord Stirling).
Thank you,
Stirling

Unfortuntely, I think we&#8217;re going to need a little more proof than a [...]]]></description>
			<content:encoded><![CDATA[<p>Today, we received a note from the <a href="http://en.wikipedia.org/wiki/Earl_of_Stirling">Earl of Stirling</a> regarding what I assume is his <a href="http://www.obsidianportal.com/campaign/themountain">appearance on Obsidian Portal</a>. (Search for &#8220;sterling&#8221;)</p>
<blockquote><p>
Please do not use my name in your gaming/whatever.  I am the Earl of Stirling (short form Lord Stirling).</p>
<p>Thank you,<br />
Stirling
</p></blockquote>
<p>Unfortuntely, I think we&#8217;re going to need a little more proof than a yahoo.com email address to verify the identity of a Scottish noble. <img src='http://blog.aisleten.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Update:</strong> This guy might be legit&#8230;or at least he thinks so.  Check out <a href="http://europebusines.blogspot.com/">his blog</a>, where you can buy your very own Scottish Title!  Impress your friends and get girls!  Only US$90,000!  Act within the next 30 minutes and we&#8217;ll throw in a free set of castle blueprints and a 25% off coupon for your next order at <a href="http://www.armor.com/">Arms &#038; Armor</a>!</p>
<p><strong>Update 2:</strong> As always, the true story is on the <a href="http://en.wikipedia.org/wiki/Talk:Earl_of_Stirling">Wikipedia article discussion</a>.  Long story short, a blowhard from Indiana claims to be Scottish nobility through some arcane legal loophole, friendly Wikipedians keep reverting his edits to the Earl of Stirling page, he repeatedly threatens legal action, he gets banned for threatening legal action.  Ain&#8217;t Wikipedia great?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aisleten.com/2008/08/03/contacted-by-nobility/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.aisleten.com/2008/08/03/contacted-by-nobility/</feedburner:origLink></item>
		<item>
		<title>More good press for Obsidian Portal</title>
		<link>http://feeds.feedburner.com/~r/aisleten/blog/~3/351064215/</link>
		<comments>http://blog.aisleten.com/2008/07/30/more-good-press-for-obsidian-portal/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 02:02:21 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
		
		<category><![CDATA[Obsidian Portal]]></category>

		<category><![CDATA[Promotion]]></category>

		<category><![CDATA[d&amp;d]]></category>

		<category><![CDATA[dnd]]></category>

		<category><![CDATA[dungeonmastering]]></category>

		<category><![CDATA[dungeonsanddragons]]></category>

		<category><![CDATA[obsidianportal]]></category>

		<guid isPermaLink="false">http://blog.aisleten.com/?p=131</guid>
		<description><![CDATA[Today, Yax at DungeonMastering put up a good post about energizing your campaign by using a wiki.  I thought this was common knowledge by now, but there were apparently lots of people who hadn&#8217;t thought of it.  I still forget that I&#8217;m not a very good representative sample of the technical savvy of [...]]]></description>
			<content:encoded><![CDATA[<p>Today, Yax at <a href="http://www.dungeonmastering.com">DungeonMastering</a> put up a good post about <a href="http://www.dungeonmastering.com/campaigns-adventures/power-up-your-campaign-with-a-wiki-part-1">energizing your campaign by using a wiki</a>.  I thought this was common knowledge by now, but there were apparently lots of people who hadn&#8217;t thought of it.  I still forget that I&#8217;m not a very good representative sample of the technical savvy of your average Joe.</p>
<p>Yax was an early adopter at <a href="http://www.obsidianportal.com">Obsidian Portal</a>, and was kind enough to give us a nod in his article.  In what I&#8217;m sure is a total coincidence, we got a ton of traffic today and about twice as many new signups as our previous high.</p>
<p>So, thanks Yax and keep the good press coming!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aisleten.com/2008/07/30/more-good-press-for-obsidian-portal/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.aisleten.com/2008/07/30/more-good-press-for-obsidian-portal/</feedburner:origLink></item>
		<item>
		<title>Death Knell for Gleemax</title>
		<link>http://feeds.feedburner.com/~r/aisleten/blog/~3/348974227/</link>
		<comments>http://blog.aisleten.com/2008/07/28/death-knell-for-gleemax/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 01:49:33 +0000</pubDate>
		<dc:creator>Micah</dc:creator>
		
		<category><![CDATA[Obsidian Portal]]></category>

		<category><![CDATA[gleemax]]></category>

		<category><![CDATA[obsidianportal]]></category>

		<category><![CDATA[wizards of the coast]]></category>

		<guid isPermaLink="false">http://blog.aisleten.com/?p=130</guid>
		<description><![CDATA[Wizards of the Coast has announced they are shutting down Gleemax.  Although I was never a big fan (being a teeny-tiny competitor&#8230;), it&#8217;s sad to see an online meeting place for RPG players disappear.  In addition, despite all the bumps and stumbles, they somehow garnered the support of some really great people.
Of course, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wizards.com">Wizards of the Coast</a> has announced they are <a href="http://gleemax.com/Comms/Pages/Communities/BlogPost.aspx?blogpostid=96074&#038;pagemode=2&#038;blogid=2158">shutting down Gleemax</a>.  Although I was never a big fan (being a teeny-tiny competitor&#8230;), it&#8217;s sad to see an online meeting place for RPG players disappear.  In addition, despite all the bumps and stumbles, they somehow garnered the support of some really great people.</p>
<p>Of course, now all those supporters are going to be left out in the cold.  I suggested to the powers-that-be that they allow people to <a href="http://forums.gleemax.com/showpost.php?p=16455994&#038;postcount=9">retrieve their entire blogs as an RSS feed</a>.  It shouldn&#8217;t be that hard to do and would vastly simplify the process of moving a blog to another platform.  We&#8217;ll just have to see if the WizOs have mercy on their loyal followers.</p>
<p>To all you Gleemaxers who need a place to brag about your campaign, <a href="http://www.obsidianportal.com">Obsidian Portal</a> is still open for business&#8230; <img src='http://blog.aisleten.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aisleten.com/2008/07/28/death-knell-for-gleemax/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.aisleten.com/2008/07/28/death-knell-for-gleemax/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 0.907 seconds --><!-- Cached page served by WP-Super-Cache --><!-- Compression = gzip -->
