<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kyle Cordes &#187; talks</title>
	<atom:link href="http://kylecordes.com/category/talks/feed/" rel="self" type="application/rss+xml" />
	<link>http://kylecordes.com</link>
	<description>Kyle Cordes's Software Site</description>
	<lastBuildDate>Sat, 06 Mar 2010 00:27:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SaaS: The Business Model &#8211; Slides, Audio, Transcript</title>
		<link>http://kylecordes.com/2010/03/02/saas-slides-audio/</link>
		<comments>http://kylecordes.com/2010/03/02/saas-slides-audio/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 04:45:05 +0000</pubDate>
		<dc:creator>Kyle Cordes</dc:creator>
				<category><![CDATA[audio]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[money]]></category>
		<category><![CDATA[saas]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://kylecordes.com/?p=463</guid>
		<description><![CDATA[On Feb. 27 at St. Louis Innovation Camp 2010, I gave a talk on the SaaS business model. If you missed it, you might be interested in:

The SaaS talk handout as a PDF
The SaaS talk slides as a PDF (also shown below)
Transcript of the Talk, with slides, as a PDF
Audio recording of the SaaS talk

There [...]]]></description>
			<content:encoded><![CDATA[<p>On Feb. 27 at St. Louis Innovation Camp 2010, I gave a talk on the SaaS business model. If you missed it, you might be interested in:</p>
<ul>
<li>The <a href="http://kylecordes.com/files/Cordes-2010-Inno-SaaS-handout.pdf">SaaS talk handout as a PDF</a></li>
<li>The <a href="http://kylecordes.com/files/Cordes-2010-Inno-SaaS-slides.pdf">SaaS talk slides as a PDF</a> (also shown below)</li>
<li><a href="/files/Cordes-2010-Inno-SaaS-Transcript.pdf">Transcript of the Talk, with slides, as a PDF</a></li>
<li><a href="http://kylecordes.com/files/Cordes-2010-Inno-SaaS.mp3">Audio recording of the SaaS talk</a></li>
</ul>
<p>There is also a video recording, which I&#8217;ll add here if it come out well.</p>
<div id="__ss_3299688" style="width: 425px;"><strong><a title="Software as a Service:  The Business Model" href="http://www.slideshare.net/kylecordes/software-as-a-service-the-business-model">Software as a Service:  The Business Model</a></strong><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=saasinnocamp2010-100228102033-phpapp01&amp;rel=0&amp;stripped_title=software-as-a-service-the-business-model" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=saasinnocamp2010-100228102033-phpapp01&amp;rel=0&amp;stripped_title=software-as-a-service-the-business-model" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/kylecordes">Kyle Cordes</a>.</div>
</div>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=SaaS%3A+The+Business+Model+%E2%80%93+Slides%2C+Audio%2C+Transcript+http://7nc5e.th8.us" title="Post to Twitter"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2010/03/02/saas-slides-audio/&amp;title=SaaS%3A+The+Business+Model+%E2%80%93+Slides%2C+Audio%2C+Transcript" title="Post to Reddit"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-reddit-micro3.png" alt="Post to Reddit" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2010/03/02/saas-slides-audio/&amp;title=SaaS%3A+The+Business+Model+%E2%80%93+Slides%2C+Audio%2C+Transcript" title="Post to Reddit">Reddit</a></p>]]></content:encoded>
			<wfw:commentRss>http://kylecordes.com/2010/03/02/saas-slides-audio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://kylecordes.com/files/Cordes-2010-Inno-SaaS.mp3" length="46577370" type="audio/mpeg" />
		</item>
		<item>
		<title>Upcoming Talk: How to SaaS, Revisited</title>
		<link>http://kylecordes.com/2010/02/15/how-to-saas-revisited/</link>
		<comments>http://kylecordes.com/2010/02/15/how-to-saas-revisited/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 22:52:32 +0000</pubDate>
		<dc:creator>Kyle Cordes</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[saas]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://kylecordes.com/?p=432</guid>
		<description><![CDATA[Back in 2007 I gave a talk on Selling your Software as a Service. The room was quite small but tightly packed, and several people have asked since then if I plan to repeat it. (I went back and listened to the recording of that talk, on the linked page; it holds up quite well. [...]]]></description>
			<content:encoded><![CDATA[<p>Back in 2007 I <a href="http://kylecordes.com/2007/05/10/software-service/">gave a talk on Selling your Software as a Service</a>. The room was quite small but tightly packed, and several people have asked since then if I plan to repeat it. (I went back and <strong>listened</strong> <strong>to the recording</strong> of that talk, on the linked page; it holds up quite well. I recommend it if you interested in the topic!)</p>
<p>I finally have the right opportunity to do so; later this month at the <a href="http://stlinnovationcamp.com/">St. Louis Innovation Camp mini-conference</a> I’ll give an updated talk on the same topic, on Friday, Feb 26, in a time-slot to-be-determined. The talk:</p>
<h2>The Software as a Service Business Model</h2>
<p>In this talk, I will share some “lessons learned” from five years operating a Software as a Service business. Topics will include:</p>
<ul>
<li>What is SaaS?</li>
<li>Starting a SaaS business</li>
<li>SaaS Product Management</li>
<li>Cash Flow</li>
<li>Customer Retention</li>
<li>Infrastructure and Operations</li>
</ul>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Upcoming+Talk%3A+How+to+SaaS%2C+Revisited+http://de7xq.th8.us" title="Post to Twitter"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2010/02/15/how-to-saas-revisited/&amp;title=Upcoming+Talk%3A+How+to+SaaS%2C+Revisited" title="Post to Reddit"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-reddit-micro3.png" alt="Post to Reddit" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2010/02/15/how-to-saas-revisited/&amp;title=Upcoming+Talk%3A+How+to+SaaS%2C+Revisited" title="Post to Reddit">Reddit</a></p>]]></content:encoded>
			<wfw:commentRss>http://kylecordes.com/2010/02/15/how-to-saas-revisited/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>To the Clouds and Back (Cloud User Group talk)</title>
		<link>http://kylecordes.com/2010/01/29/to-the-clouds-and-back/</link>
		<comments>http://kylecordes.com/2010/01/29/to-the-clouds-and-back/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 23:05:45 +0000</pubDate>
		<dc:creator>Kyle Cordes</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[commentary]]></category>
		<category><![CDATA[saas]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://kylecordes.com/?p=409</guid>
		<description><![CDATA[On Jan. 21, I gave one of the talks at the inaugural St. Louis Cloud Computing User Group meeting. I don&#8217;t think there is any video or audio (I forgot my audio recorder), but the slides are on SlideShare:
To the Clouds and Back

or for download as a PDF.
  Reddit]]></description>
			<content:encoded><![CDATA[<p>On Jan. 21, I gave one of the talks at the inaugural <a href="http://stlcloudusers.org/">St. Louis Cloud Computing User Group</a> meeting. I don&#8217;t think there is any video or audio (I forgot my audio recorder), but the slides are on SlideShare:</p>
<div id="__ss_3026414" style="width: 425px; text-align: left;"><a style="font: 14px Helvetica,Arial,Sans-serif; display: block; margin: 12px 0 3px 0; text-decoration: underline;" title="To the Clouds and Back" href="http://www.slideshare.net/kylecordes/to-the-clouds-and-back">To the Clouds and Back</a><object style="margin: 0px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=kylecloudexperiences-100129165309-phpapp02&amp;stripped_title=to-the-clouds-and-back" /><param name="allowfullscreen" value="true" /><embed style="margin: 0px;" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=kylecloudexperiences-100129165309-phpapp02&amp;stripped_title=to-the-clouds-and-back" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
</div>
<p>or for <a href="http://kylecordes.com/files/KyleCloudExperiences.pdf">download as a PDF</a>.</p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=To+the+Clouds+and+Back+%28Cloud+User+Group+talk%29+http://5wdo8.th8.us" title="Post to Twitter"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2010/01/29/to-the-clouds-and-back/&amp;title=To+the+Clouds+and+Back+%28Cloud+User+Group+talk%29" title="Post to Reddit"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-reddit-micro3.png" alt="Post to Reddit" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2010/01/29/to-the-clouds-and-back/&amp;title=To+the+Clouds+and+Back+%28Cloud+User+Group+talk%29" title="Post to Reddit">Reddit</a></p>]]></content:encoded>
			<wfw:commentRss>http://kylecordes.com/2010/01/29/to-the-clouds-and-back/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upcoming talk: Cloud Computing User Group</title>
		<link>http://kylecordes.com/2010/01/08/upcoming-talk-cloud/</link>
		<comments>http://kylecordes.com/2010/01/08/upcoming-talk-cloud/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 21:15:39 +0000</pubDate>
		<dc:creator>Kyle Cordes</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://kylecordes.com/?p=399</guid>
		<description><![CDATA[The St. Louis Cloud Computing User Group launches on Jan. 21st at Appistry. Sam Charrington over there kicked it off, but I suspect it will shortly grow far past its Appistry roots.
I’m giving a talk (one of two) at the first meeting. Contrary to the initial description floating around, I won’t be speaking (in detail) [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://stlcloudusers.org/">St. Louis Cloud Computing User Group</a> launches on Jan. 21st at Appistry. Sam Charrington over there kicked it off, but I suspect it will shortly grow far past its Appistry roots.</p>
<p>I’m giving a talk (one of two) at the first meeting. Contrary to the initial description floating around, I won’t be speaking (in detail) about &#8220;Amazon Web Services from a Developer Perspective&#8221;. Rather, my talk will be broader, and from a developer+business perspective:</p>
<h3>To the Cloud(s) and Back</h3>
<p>Over the last few years, I’ve been to the Amazon cloud and back; on a real project I started with inhouse file storage, moved to Amazon S3, then moved back. I’ve likewise used EC2 and tried a couple of competitors. I think this qualifies me to raise key questions:</p>
<ul>
<li>Should you use (public) cloud storage? Why and why not?</li>
<li>Should you use (public) cloud CPUs? Why and why not?</li>
<li>How do you manage an elastic set of servers?</li>
<li>Can you trust someone else’s servers? Can you trust your own?</li>
<li>Can you trust someone else’s sysadmins? Can you trust your own?</li>
<li>What about backups?</li>
</ul>
<p>This talk will mostly raise the questions, then offer some insights on the some of the answers.</p>
<p>Update: Slides are online <a href="http://kylecordes.com/2010/01/29/to-the-clouds-and-back/">here</a>.</p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Upcoming+talk%3A+Cloud+Computing+User+Group+http://i78d8.th8.us" title="Post to Twitter"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2010/01/08/upcoming-talk-cloud/&amp;title=Upcoming+talk%3A+Cloud+Computing+User+Group" title="Post to Reddit"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-reddit-micro3.png" alt="Post to Reddit" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2010/01/08/upcoming-talk-cloud/&amp;title=Upcoming+talk%3A+Cloud+Computing+User+Group" title="Post to Reddit">Reddit</a></p>]]></content:encoded>
			<wfw:commentRss>http://kylecordes.com/2010/01/08/upcoming-talk-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Factor Talk at the Lambda Lounge</title>
		<link>http://kylecordes.com/2009/04/03/factor-ll-talk/</link>
		<comments>http://kylecordes.com/2009/04/03/factor-ll-talk/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 14:39:29 +0000</pubDate>
		<dc:creator>Kyle Cordes</dc:creator>
				<category><![CDATA[factor]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://kylecordes.com/?p=255</guid>
		<description><![CDATA[Last night (April 2, 2009) at the St. Louis Lambda Lounge I gave a 45-minute talk on the Factor programming language. I&#8217;ve uploaded the handout and example code here. I apologize in advance to anyone in the Factor community who reads it and laughs at my &#8220;newbie&#8221; mistakes and misstatements.
Appistry again provided space and pizza &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Last night (April 2, 2009) at the St. Louis <a href="http://lambdalounge.org/">Lambda Lounge</a> I gave a 45-minute talk on the <a href="http://factorcode.org/">Factor programming language</a>. I&#8217;ve uploaded the <a href="http://kylecordes.com/files/FactorHandout.pdf">handout and example code here</a>. I apologize in advance to anyone in the Factor community who reads it and laughs at my &#8220;newbie&#8221; mistakes and misstatements.</p>
<p><a href="http://www.appistry.com/">Appistry</a> again provided space and pizza &#8211; thanks guys! (Appistry is our locally-grown but widely-known cloud infrastructure software maker &#8211; they&#8217;d been cloudy for years before the term entered wide use.)</p>
<p>The talk appeared to go over well. There were many important things about factor that I&#8217;d love to talk about but didn&#8217;t have time. Nonetheless, I think 45 minutes is a good talk length, and I think the format (short talks) is a key part to the Lambda Lounge&#8217;s success so far.</p>
<p>Speaking of the Lambda Lounge,  next month there is a &#8220;language shootout&#8221; &#8211; if you want to participate, be sure to join the <a href="http://groups.google.com/group/lambda-lounge/">mailing list</a> and <a href="http://groups.google.com/group/lambda-lounge/web/language-shootout">look over the participants</a>. (You need to join the list, to be able to get to the wiki with that page.) I might submit an entry myself, using Factor or another language.</p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Factor+Talk+at+the+Lambda+Lounge+http://d4ksi.th8.us" title="Post to Twitter"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2009/04/03/factor-ll-talk/&amp;title=Factor+Talk+at+the+Lambda+Lounge" title="Post to Reddit"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-reddit-micro3.png" alt="Post to Reddit" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2009/04/03/factor-ll-talk/&amp;title=Factor+Talk+at+the+Lambda+Lounge" title="Post to Reddit">Reddit</a></p>]]></content:encoded>
			<wfw:commentRss>http://kylecordes.com/2009/04/03/factor-ll-talk/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Git Talk at the STL JUG</title>
		<link>http://kylecordes.com/2008/10/10/jug-git-talk/</link>
		<comments>http://kylecordes.com/2008/10/10/jug-git-talk/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 21:56:59 +0000</pubDate>
		<dc:creator>Kyle Cordes</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[source-control]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://kylecordes.com/2008/10/10/jug-git-talk/</guid>
		<description><![CDATA[Yesterday (Oct. 9, 2008), I gave a talk on Git at the St. Louis Java User Group. Rather than a typical &#8220;intro&#8221; talk, instead I showed a dozen or so common usage scenarios, then answered questions with additional ad-hoc demos. As with some other recent talks, I eschewed PowerPoint in favor of a printed handout. [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday (Oct. 9, 2008), I gave a talk on Git at the St. Louis Java User Group. Rather than a typical &#8220;intro&#8221; talk, instead I showed a dozen or so common usage scenarios, then answered questions with additional ad-hoc demos. As with some other recent talks, I eschewed PowerPoint in favor of a printed handout. The text of the handout follows below, or you can <a href="/files/Kyle-Cordes-Git-Tour-Talk.pdf">download the PDF</a>. I also recorded the <a href="/files/2008-10-10-git-JUG-talk.wma">audio of the talk</a>, but without video, so the general discussion portions are worthwhile but the demo portions are not.<br />
<span id="more-184"></span></p>
<h4>Introduction and Agenda</h4>
<p>Linus Torvalds wanted a replacement for BitKeeper. He wrote the first version of Git in a few weeks. A few years later, Git is now the leading contender among distributed source control tools: <a href="http://kylecordes.com/%3Ehttp://git.or.cz/">http://git.or.cz/</a></p>
<p>This will not be a typical “introduction” talk; there are ample introductions to Git on the WWW. Instead, I’ll wander through some source control use cases, pointing out Git features, strengths, and weaknesses along the way.</p>
<p>I use Git on both Linux and Windows, and I use both the command line and GUI tools. For this presentation, I will show how it works on Windows, and mostly use the included GUI tools.</p>
<p>We’ll end a bit early, to leave time for questions and ah doc demos.</p>
<h4>Why Git?</h4>
<p>Git promises to keep your files exactly as they are, and uses hashes to make it happen.</p>
<p>Git is very fast; speed matters a lot more than you might think.</p>
<p>Git is distributed and local, it works very well offline as well as online.</p>
<p>Git handles the realities of branching and merging.</p>
<p>Git has an enormous set of very useful features.</p>
<p>Git is clearly a tool made by people who love great tools.</p>
<h4>Get Git</h4>
<p>Deb/Ubuntu:   apt-get install git-core</p>
<p>Windows:        http://code.google.com/p/msysgit/</p>
<h4>Version Some Files, Look at Them</h4>
<p>git init                      git add                    git-gui</p>
<p>git commit                .gitignore                                gitk</p>
<h4>Use Git with Eclipse</h4>
<p>There is a git-Eclipse project in development:</p>
<p>http://repo.or.cz/w/egit.git</p>
<p>However, I will show how to use Git and Eclipse without any integration. This turns out to be much less problematic than you might initially guess, and has advantages:</p>
<p>If you use git with multiple IDEs, you only need to learn one interface.</p>
<p>You can use the tool in ways that the IDE does not anticipate, such as by versioning a whole workspace as a unit.</p>
<h4>Branch and Merge</h4>
<p>git branch                                git checkout -b newbranch</p>
<p>git diff                                     git merge</p>
<h4>Rebase</h4>
<p>The <strong>best</strong> thing in the world, a <strong>great</strong> capability.</p>
<p>The <strong>world</strong> thing in the world, <strong>never</strong> do this.</p>
<p>My advice: Have it in your toolbox, but be careful.</p>
<h4>Review and Search History</h4>
<p>The sample repos from tonight’s demo don’t have much history to show; but with git, and without relying on a network connection, we can see git’s review and search capabilities on projects “in the wild”.</p>
<h4>Rearranging Files</h4>
<p>Git tracks content, and will follow that content as it moves around, without you telling it about the moves. This is extremely helpful if you have a pile of files to rearrange.</p>
<p>http://kylecordes.com/2008/07/18/rearrange-file-svn-git/</p>
<h4>Blame!</h4>
<p>Poll: <strong>Do you use Blame</strong>? How often? Does it help?</p>
<p>Blaming is a terrible way to interact with other people… but get over the name, because “blame” is a <strong>fantastic</strong> source control feature.</p>
<h4>Host Your Repo on Your Server</h4>
<p>Git has a built in ability to host repos, and also includes gitweb.</p>
<p>Gitosis is also a great tool: http://eagain.net/gitweb/?p=gitosis.git</p>
<h4>GitHub</h4>
<p>Don’t want to mess with hosting?  http://github.com/</p>
<h4>Enterpriseynessility</h4>
<p>Git does not have all the same feature as whatever enterprisey tool you may be using. It has a different set of features. YMMV, but in my opinion it is a “disruptive innovation”.</p>
<h4>Git-SVN</h4>
<p>Git makes a great front end for SVN; I use it this way regularly on Linux. Msysgit does not currently include git-svn, so no demo.</p>
<h4>Tips</h4>
<p>Initial Setup:</p>
<p>git config &#8211;global color.diff auto</p>
<p>git config &#8211;global color.status auto</p>
<p>git config &#8211;global color.branch auto</p>
<p>export PS1=&#8221;\u@\h \W\$(git-branch 2&gt; /dev/null | grep -e &#8216;\* &#8216; | sed &#8217;s/^..\(.*\)/ {\1}/&#8217;)\$ &#8221;</p>
<p>Remove from source control, the files you have removed from the file system:</p>
<p>git ls-files -z &#8211;deleted | git update-index -z &#8211;remove &#8211;stdin</p>
<h4>Using Git in a Closed Team</h4>
<p>There are many ways to use Git; you can think of it as mostly a superset of what other systems do. You can use Git to achieve many possible workflows. Here is one way to use it effectively:</p>
<p>Set up a server everyone can pull from and push to.</p>
<p>Use Gitosis or similar.</p>
<p>Have one(+) repo per developer, and one(+) for leads to all push to.</p>
<p>Everyone pushes to their repo.</p>
<p>Leads pull from others’ repos, and push to the main repo.</p>
<p>Server performance is not important, a slow machine can serve many users.</p>
<p>Backup is not all that important, you will not actually lose anything if the machine dies.</p>
<p>Make your initial repo fork for each person, on the server, for speed and space sharing.</p>
<h4>Using Git for Open Source</h4>
<p>Clone the project’s repo.</p>
<p>Hack.</p>
<p>Push your changes to your public repo (perhaps on Github)</p>
<p>Get someone to pull them.</p>
<p>git format-patch, if you want to send them.</p>
<h4>Problems in the Git World</h4>
<p>On Linux, things are going very well. But on Windows, not so well: the Windows port itself  is advancing nicely, but it appears to suffer somewhat badly from the “I am just doing this for fun, if you want it fix, make a patch” problem.</p>
<p>My opinion: to really thrive on Windows, Git needs a firm to create a commercial offering around it, and feed lots of core fixes back to the project.</p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Git+Talk+at+the+STL+JUG+http://xpnmh.th8.us" title="Post to Twitter"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2008/10/10/jug-git-talk/&amp;title=Git+Talk+at+the+STL+JUG" title="Post to Reddit"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-reddit-micro3.png" alt="Post to Reddit" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2008/10/10/jug-git-talk/&amp;title=Git+Talk+at+the+STL+JUG" title="Post to Reddit">Reddit</a></p>]]></content:encoded>
			<wfw:commentRss>http://kylecordes.com/2008/10/10/jug-git-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Become a Better Speaker for $100</title>
		<link>http://kylecordes.com/2007/11/03/better-speaker-100-dollars/</link>
		<comments>http://kylecordes.com/2007/11/03/better-speaker-100-dollars/#comments</comments>
		<pubDate>Sat, 03 Nov 2007 16:50:21 +0000</pubDate>
		<dc:creator>Kyle Cordes</dc:creator>
				<category><![CDATA[audio]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://kylecordes.com/2007/11/03/better-speaker-100-dollars/</guid>
		<description><![CDATA[The title of this post is a lie. It costs $70 or less, but takes a lot of work. I&#8217;ve offered this advice person-to-person many times, and finally got around to posting it.
How well you speak can have a great impact on  your ability to get customers, to attract employees, to persuade others to adopt [...]]]></description>
			<content:encoded><![CDATA[<p>The title of this post is a lie. It costs $70 or less, but takes a lot of work. I&#8217;ve offered this advice person-to-person many times, and finally got around to posting it.</p>
<p>How well you speak can have a great impact on  your ability to get customers, to attract employees, to persuade others to adopt your ideas, and much more. But how do you know how well you speak? You can&#8217;t tell as you are speaking; and if you&#8217;ve never heard yourself speak but simply assume you do well, there is a great risk that you are very, very wrong.</p>
<p>To become a better speaker, you need to review your own &#8220;performances&#8221;. For the last few years I&#8217;ve been recording my talks (at user groups etc.) with a hand-held voice recorder. I use an Olympus WS-100 (probably obsolete by now) and you can readily find an adequate device for $70 or less.</p>
<p><strong>Make the Recording</strong></p>
<p>Don&#8217;t actually hold the recorder on your hand. Sit it on the podium if you use one (I don&#8217;t care for podiums, I use one only if I am presenting with my computer and the podium is the only place to put the computer); but not to close to your noisy computer. Put it on a table or unused chair in the first row, but not too close to any noisy people or equipment.</p>
<p>Start it at the very beginning, and stop it at the very end. It is easy to edit out extra recording later.</p>
<p>Put in a fresh battery, so it doesn&#8217;t run out partway through.</p>
<p><strong>Listen to the Recording</strong></p>
<p>Take the recorder/player in your car, copy it to  your iPod, burn to CD, whatever&#8230; but listen to it, end to end. Experience your talk as a member of the audience. Make notes about any bad habits you exhibit, such as &#8220;umm&#8221;, &#8220;ahh&#8221;, &#8220;like&#8221;, &#8220;ya-know&#8221;, long (unintentional) pauses, pointless extra words, etc. This is your first opportunity to become a better speaker by means of the recording. WARNING! The first few times this might be very, very painful.</p>
<p><strong>Edit the Recording</strong></p>
<p>If you plan to post this audio online (as I usually do),  clean up the recording to trim off any extra starting and ending time; the audio you post should start immediately with your talk content and end crisply. Download Audacity (or another audio editing) and use it for this initial trim.</p>
<p>If you can spare the time (approximately 2x the length of the talk), listen through the whole recording in Audacity, trimming out the &#8220;umms&#8221;, &#8220;ahs&#8221;, overly long pauses, etc. This is your second opportunity to become a better speaker&#8230; but only for the offline listeners, and in an artificial, one-off way. Still, for an occasional important talk it is worthwhile.</p>
<p><strong>Get a Transcript</strong></p>
<p>Finally, be aware that your (now-pristine) audio is completely unsearchable and invisible to Google. To make it findable, have a transcript made and post that also. You can pay <a href="http://castingwords.com/">CastingWords</a> or other similar service to create a transcript for around a dollar per minute, or perhaps much more cheaply with some searching. The resulting text can be readily posted online, making your talk both more findable, and more accessible.</p>
<p>An example of a recorded, lightly edited, and posted talk (with transcript) is my <a href="http://kylecordes.com/2007/03/31/ruby-gui-toolkits/">Ruby GUI talk</a> earlier this year.</p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Become+a+Better+Speaker+for+%24100+http://398gm.th8.us" title="Post to Twitter"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2007/11/03/better-speaker-100-dollars/&amp;title=Become+a+Better+Speaker+for+%24100" title="Post to Reddit"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-reddit-micro3.png" alt="Post to Reddit" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2007/11/03/better-speaker-100-dollars/&amp;title=Become+a+Better+Speaker+for+%24100" title="Post to Reddit">Reddit</a></p>]]></content:encoded>
			<wfw:commentRss>http://kylecordes.com/2007/11/03/better-speaker-100-dollars/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Brief Introduction to Distributed Version Control</title>
		<link>http://kylecordes.com/2007/10/11/intro-dvcs/</link>
		<comments>http://kylecordes.com/2007/10/11/intro-dvcs/#comments</comments>
		<pubDate>Fri, 12 Oct 2007 00:16:14 +0000</pubDate>
		<dc:creator>Kyle Cordes</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[source-control]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://kylecordes.com/2007/10/11/intro-dvcs/</guid>
		<description><![CDATA[Last night at SLUUG, I have a talk on distributed source control tools. It was quite introductory, but the notes (below) may still be helpful. These notes were on a handout at the talk, as usual I didn&#8217;t use slides.
Unfortunately I didn&#8217;t get an audio recording of this talk, so no transcript either.
About 30 people [...]]]></description>
			<content:encoded><![CDATA[<p>Last night at <a href="http://www.sluug.org/">SLUUG</a>, I have a talk on distributed source control tools. It was quite introductory, but the notes (below) may still be helpful. These notes were on a handout at the talk, as usual I didn&#8217;t use slides.</p>
<p>Unfortunately I didn&#8217;t get an audio recording of this talk, so no transcript either.</p>
<p>About 30 people were in attendance. Nearly 100% were familiar with CVS and SVN, and perhaps 20% with other tools (ClearCase, SourceSafe, and others). <strong>Only 4 had ever used branch/merge in any project or tool</strong>!</p>
<p><strong>A Brief Introduction to Distributed Version Control</strong></p>
<h2>You Branch and Merge.</h2>
<p>A fundamental truth: every time you edit a file you are branching, and every time you reconcile with another developer you are merging. In most tools you get one easy branch and merge locus: your local working directory. All other branching is a Big Deal.</p>
<p>It does not have to be this way.</p>
<h2>A Short Tour of 3 tools</h2>
<p>bzr: <a href="http://bazaar-vcs.org/">http://bazaar-vcs.org/</a></p>
<p>hg: <a href="http://www.selenic.com/mercurial/">http://www.selenic.com/mercurial/</a></p>
<p>git: <a href="http://git.or.cz/">http://git.or.cz/</a></p>
<p>Also, check your distro&#8217;s package system.</p>
<p>(At this point in the talk I demonstrated the basic features of each)</p>
<h2>What is a DVCS? Why Use a DVCS?</h2>
<p>Peer-to-peer design</p>
<p>Everyone gets all the features, rather than the interesting features limited to a high priest class.</p>
<p>Make use of the massive CPU and disk capacity on dev machines.</p>
<p>No central server needed, though many projects nominate a machine for this purpose.</p>
<p>Use a &#8220;dumb&#8221; storage location for a repository, if desired. Or a &#8220;smart server&#8221; for performance and security.</p>
<p>Work offline, with full history, branches, merges.</p>
<p>No central administrator is needed, potentially a cost savings.</p>
<p>Very cheap branching, in some cases immediate, even for large projects.</p>
<p>Very good merging, because you merge all the time.</p>
<p>Commit-then-merge, not merge-then-commit.</p>
<p>Repeated merge without havoc.</p>
<p>Merge keeps both sides of history, which is important because you merge a lot. This varies by tools, for example apparently bzr keeps this history less effectively than some others.</p>
<p>Depending on what you are coming from and which tool you choose, the speed gain can be so remarkable that it help every developer every day.</p>
<h2>Some SVN Nitpicks</h2>
<p>It is easy and tempting to pick on SVN. Linus does so vigorously in his online talk. I don&#8217;t hate it as much as he does but, these things bother me:</p>
<p>SVN is slow for large projects.</p>
<p>Branching in SVN sounds clever as you read its cheap copy story. It&#8217;s a great story. But actually using it is ridiculous; both in the URL-crazy syntax and utter lack of merge history.</p>
<p>We don&#8217;t need a better CVS, we need something much better than CVS.</p>
<p>.svn directories scattered all over are a pointless pain.</p>
<p>.svn directories are enormous, sometimes larger than the entire project history in git or hg!</p>
<h2>Security</h2>
<p>Security is a weak area in terms of out-of-the-box features and tutorials, because these tools come from the open source world where the default is for everyone to be able to see all code. However, with a little effort you can set up whatever security you like:</p>
<p>If you&#8217;re serving over HTTP, you can use Apache mod_whatever to control access.</p>
<p>Tunnel over SSH (in the box, in most cases) to avoid ever sending code in the clear.</p>
<p>Even a &#8220;dumb&#8221; storage location can be secured with SFTP.</p>
<p>Scripts can be used for per-branch and other fine grained access control, akin to what you can do with svn-access.conf. There are examples online.</p>
<h2>I Can&#8217;t Use a DVCS Because:</h2>
<p><em>SOX/HIPPA/CMM/etc. requires a centralized tool.</em></p>
<p>SOX/HIPPA/CMM/etc, is the standard reason why anyone can&#8217;t do anything. Some of these tools facilitate much stronger guarantees about the provenance of the source code than you get from a centralized tool, because they have credible and straightforward ways to verify that centralized store has not been compromized.</p>
<p><em>We are all in one place, therefore a DVCS makes no sense.</em></p>
<p>Actually many of the features in these tools are as useful in the same building as in a worldwide team.</p>
<p><em>Tool ZZZ is our corporate standard.</em></p>
<p>Then you should use it, don&#8217;t get fired. However, many people are using a DVCS in front of their corporate standard tool.</p>
<h2>DVCS vs DVCS:</h2>
<p>Many DVCS tools treat each repo/workspace as a branch and vice versa, so if you use many branches you will have many workspaces.</p>
<p>bzr can use shared files to reduce the bloat from this.</p>
<p>git handles many branches much better, with arbitrarily many per repo/workspace.</p>
<p>My feeling is that hg and git are more mature than bzr.</p>
<p>git does not work well on windows yet.</p>
<h2>Other DVCS to Consider</h2>
<p><strong>Monotone</strong> – has some slick features, but does not appear to scale well to large projects. It stores information in a SQLite DB. Monotone, unlike any others I&#8217;ve seen, replicates all branches by default, which is nice.</p>
<p style="margin-left: 9pt">An aside &#8212; there are fascinating thoughts on how to a data synchronization system can work, in the Monotone docs / presentations.</p>
<p><strong>arch</strong> / tla &#8212; one of the early DVCSs that started all this. I have heard it is mystifying to use.</p>
<p><strong>darcs</strong> &#8212; everyone loves its &#8220;cherry picking&#8221;, but I have not triedit.</p>
<p><strong>SVK</strong> &#8212; optimized for being a better svn client, with offline history and merging that works. Stores merge history in SVN attribute.</p>
<h2>More git Merging</h2>
<p>Depending on time, I will show more of the branch / merge facilities in git, as well as its gitk GUI.</p>
<h2>Other Resources</h2>
<p>http://wiki.sourcemage.org/Git_Guide</p>
<p>http://www.adeal.eu/</p>
<p><strong>Update:</strong> the following appeared a few days after my talk, it is very good, aside from slightly bogus listings in the &#8220;disadvantages&#8221; section:<br />
<a href="http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/">http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/</a></p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=A+Brief+Introduction+to+Distributed+Version+Control+http://ixi75.th8.us" title="Post to Twitter"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2007/10/11/intro-dvcs/&amp;title=A+Brief+Introduction+to+Distributed+Version+Control" title="Post to Reddit"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-reddit-micro3.png" alt="Post to Reddit" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2007/10/11/intro-dvcs/&amp;title=A+Brief+Introduction+to+Distributed+Version+Control" title="Post to Reddit">Reddit</a></p>]]></content:encoded>
			<wfw:commentRss>http://kylecordes.com/2007/10/11/intro-dvcs/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Upcoming talk: Intro to Distributed Source Control</title>
		<link>http://kylecordes.com/2007/10/01/distributed-talk/</link>
		<comments>http://kylecordes.com/2007/10/01/distributed-talk/#comments</comments>
		<pubDate>Mon, 01 Oct 2007 16:01:26 +0000</pubDate>
		<dc:creator>Kyle Cordes</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[source-control]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://kylecordes.com/2007/10/01/distributed-talk/</guid>
		<description><![CDATA[Where: SLUUG (though my talk is not listed on the site yet)
When: October 10th, meeting starts at 6:30 PM
I&#8217;ll introduce distributed source control tools:

A short tour of the basic use of git, bzr, and hg (Mercurial)
Thoughts on why you&#8217;d want to use a distributed source control tool at all, vs. a centralized system like SVN [...]]]></description>
			<content:encoded><![CDATA[<p>Where: <a href="http://www.sluug.org/">SLUUG</a> (though my talk is not listed on the site yet)</p>
<p>When: October 10th, meeting starts at 6:30 PM</p>
<p>I&#8217;ll introduce distributed source control tools:</p>
<ul>
<li>A short tour of the basic use of <a href="http://git.or.cz/">git</a>, <a href="http://bazaar-vcs.org/">bzr</a>, and <a href="http://www.selenic.com/mercurial/wiki/">hg</a> (Mercurial)</li>
<li>Thoughts on why you&#8217;d want to use a distributed source control tool at all, vs. a centralized system like SVN or CVS.</li>
<li>Some differences between these tools (and a few others), with thoughts on how to choose</li>
</ul>
<p>In response to a question below about slides&#8230; most likely there will be no slides. Rather there will be a handout (which will be posted on my site).</p>
<p><strong>Update</strong>: The handout notes are <a href="http://kylecordes.com/2007/10/11/intro-dvcs/">here</a>. Sorry, no audio/video/transcript this time.</p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Upcoming+talk%3A+Intro+to+Distributed+Source+Control+http://aoizz.th8.us" title="Post to Twitter"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2007/10/01/distributed-talk/&amp;title=Upcoming+talk%3A+Intro+to+Distributed+Source+Control" title="Post to Reddit"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-reddit-micro3.png" alt="Post to Reddit" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2007/10/01/distributed-talk/&amp;title=Upcoming+talk%3A+Intro+to+Distributed+Source+Control" title="Post to Reddit">Reddit</a></p>]]></content:encoded>
			<wfw:commentRss>http://kylecordes.com/2007/10/01/distributed-talk/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Selling your Software as a Service: Notes and Audio</title>
		<link>http://kylecordes.com/2007/05/10/software-service/</link>
		<comments>http://kylecordes.com/2007/05/10/software-service/#comments</comments>
		<pubDate>Fri, 11 May 2007 01:30:20 +0000</pubDate>
		<dc:creator>Kyle Cordes</dc:creator>
				<category><![CDATA[audio]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[saas]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://kylecordes.com/2007/05/10/software-hosted-service/</guid>
		<description><![CDATA[At the St. Louis Code Camp on May 5, 2007, I gave a talk on Selling Your Software as a Service, in which I discussed our experiences selling a complex (Java) &#8220;enterprise&#8221; application in that manner. The room was much more crowded than I expected, it was exciting to have an eager group. As with [...]]]></description>
			<content:encoded><![CDATA[<p>At the <a href="http://stlcodecamp.org/">St. Louis Code Camp on May 5, 2007</a>, I gave a talk on Selling Your Software as a Service, in which I discussed our experiences selling a complex (Java) &#8220;enterprise&#8221; application in that manner. The room was much more crowded than I expected, it was exciting to have an eager group. As with all my recent talks, I used a handout instead of slides. You can download a <a href="http://kylecordes.com/files/SAASTalkHandout.pdf">PDF of the handout</a> (one page, one side), or read the contents below.</p>
<p>The 1 hour audio recording (Olympus WS-100 digital voice recorder, Audacity cleanup) is available here: <a href="http://kylecordes.com/files/SAASTalk.mp3">SAASTalk.mp3<br />
</a></p>
<p><a href="http://kylecordes.com/files/SAASTalk.html">A transcript of the talk is available</a>. In the talk I mentioned Paul Graham&#8217;s <a href="http://paulgraham.com/road.html">The Other Road Ahead</a>, which is shorter and easier to read the my talk transcript.</p>
<p>A couple of people at Code Camp asked if I could come give a similar talk in-house at their firms. Yes &#8211; please contact me with the contact form to arrange a date.</p>
<p>The handout contents follow.</p>
<p><span id="more-141"></span></p>
<h2>Selling your Software as a Service</h2>
<p>Kyle Cordes<br />
May 5, 2007</p>
<h2 class="western">An Encouraging Idea</h2>
<p>When you open up an IDE/editor at home, on your own time, you have a remarkable power in your hands: you can create something that you own (modulo some employment agreements). It is yours to sell, to give away, or to decline to do either, on your own terms. Likewise a company has this on a larger scale.</p>
<p>For the last few years my firm has been selling access to an application we wrote (and continue to write) as a service, charging a monthly fee for use, hosting, and support. I won&#8217;t name names or describe our product in detail (this talk is not spam), but I will share some things we&#8217;ve learned along the way.</p>
<h2 class="western">What is SAAS?</h2>
<p style="margin-bottom: 0in;">Delivering a software product (especially a complex “enterprise” system, less so with consumer products) involves more than just bits in a file / on a CD-ROM:</p>
<ol>
<li>
<p style="margin-bottom: 0.02in;">Delivery of the deployable code</p>
</li>
<li>
<p style="margin-bottom: 0.02in;">License (legal right to use it)</p>
</li>
<li>
<p style="margin-bottom: 0.02in;">Hosting: hardware, deployment, 	and management thereof</p>
</li>
<li>
<p style="margin-bottom: 0.02in;">Support for the server(s) / 	software on the servers</p>
</li>
<li>
<p style="margin-bottom: 0.02in;">Support for the end users / 	software on their PCs or other devices</p>
</li>
</ol>
<p>In a consulting or in-house project, the most common type of project for the audience here at Code Camp, you sell hours of labor to do the things above.</p>
<p>In a commercial software product company, you bundle #1 and #2 for a price, then perhaps sell a service contract for #4 and possibly #5.</p>
<p>With Software as a Service (<strong>SAAS</strong>) you bundle #1, #2, #3, #4, and possibly #5, then sell the result for a yearly / monthly fee times some measure of volume (per computer, per user, per transaction, per site, etc.). A company selling their software in this way is sometimes called an Application Service Provider.</p>
<h2 class="western">The Business Model</h2>
<p style="margin-bottom: 0in;">From a business perspective, SAAS offers a recurring revenue stream rather than “spiky” up front sales. In the short term this can make higher investment demands (since the revenue arrives more slowly). In the long term, though, recurring revenues are very amenable to a sustainable ongoing business.</p>
<p>On the downside, as a SAAS vendor you are at greater risk of ongoing payments stopping, vs. up-front payments in full when the sale is made.</p>
<p>Collections are typically much less of a problem with SAAS: you will generally be paid by customers in a timely way (as they would pay for electricity, bandwidth, and other ongoing utility services).</p>
<p>This gradual arrive of revenues will shape your company&#8217;s financial decisions: you need to meter expenses to match.</p>
<h2 class="western">Hosting</h2>
<p>With SAAS, your customer stays out of the “hosting business”, but you get in to it. One way to offer reliable hosting is to put your servers in a colo facility; you can typically get a full rack (with power and bandwidth) for less than $1000 per month. This will provide redundancy in the power, air conditioning, and connectivity, which would be much more costly to provide in-house.</p>
<p>You will become experts in hosting, by experience. You will host more instances of your software than any one customer would, so you are in a better position to do a good job doing so.</p>
<p>Another route, for a smaller operation, is to rent a single dedicated server or even a “virtual” dedicated server. Or, go utterly virtual and use Amazon EC2 and S3 as your infrastructure.</p>
<h2 class="western">Support / Operations</h2>
<p>As an SAAS firm you can offer much more hands-on support than a traditional software vendor, because you have direct and immediate access to the production systems serving your customers.</p>
<p>At the same time, this access will expose your team to the customer&#8217;s pain points, making it more likely those problems are fixed soon.</p>
<p>With SAAS you can readily deploy updates regularly (weekly / monthly) at low cost, enable end-to-end agility. Paul Graham wrote about this in “The Other Road Ahead”.</p>
<h2 class="western">What do customers like about SAAS?</h2>
<p>Customer <strong>love</strong> not paying for unproven software up front, even if they have abundant cash and even if the software is in use elsewhere. They avoid making an unrecoverable investment in case their needs change or the software turns out to be inadequate.</p>
<p>Customers generally like not running a hosting operation: not operating a data center, not hiring employees for it, etc.</p>
<p>Customers benefit with SAAS&#8217;s easy scaling up or down as their needs grow and shrink. Financial decision makers often prefer costs that scale smoothly with business volume.</p>
<h2 class="western">What do customers not like about SAAS?</h2>
<p>Customer may be concerned that they have less direct control over an application supplied SAAS, than one hosted in-house, with less ability to persuade an operator/developer to drop everything and fix it now.</p>
<p>Eventually a customer may spend more with SAAS (at least in terms of the checks written to the software vendor, though perhaps not in total cost) than they would have spent buying a license up-front; thus they are prone to regret that they didn&#8217;t buy an up front license.</p>
<p>A customer may want to customize the software in a way the vendor does not offer.</p>
<h2 class="western">Start Fast</h2>
<p>SAAS provides considerable flexibility in delaying software work past the product launch; “admin” features can be less complete and more rough, if they are used primarily by the vendor&#8217;s staff instead of by the customer, and can require deeper system knowledge.</p>
<p>There is also a risk that the ability to get by with rough edges will too easily allow you to never truly finish the product.</p>
<h2 class="western">What&#8217;s it like to sell software this way?</h2>
<p>The biggest difference in selling SAAS is a more substantial long term relationship with the customer, both operationally and financially. This can be a great advantage – with a close customer relationship you will be in a position to understand their needs more fully, and innovate in your software to meet those needs better.</p>
<h2 class="western">Customizations</h2>
<p>The purest SAAS way to offer customizations is to not charge hourly / project fees for the changes, but rather to invest in the desired enhancements then charge a higher ongoing price for the enhanced system. Hybrid customization payments are also possible, combinations of customization fees and monthly costs. Be sure your customer understands that paying for a customization, does not grant ownership of the underlying system.</p>
<h2 class="western">Intellectual Property</h2>
<p>While an SAAS firm usually owns (or licenses) its software, customers should own their data (and have access to a copy of the raw data, if they ask for it). Hire a lawyer to work out the details.</p>
<p>Go to great lengths to keep customer data separate: you must make sure to never, even briefly or accidentally, give one customer access to another customer&#8217;s data. For small, cheap services, WHERE clauses are OK for this, but for large expensive services, use (at minimum) separate databases and server code instances, and perhaps even separate  hardware.</p>
<p align="right"><a class="tt" href="http://twitter.com/home/?status=Selling+your+Software+as+a+Service%3A+Notes+and+Audio+http://dk8eq.th8.us" title="Post to Twitter"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2007/05/10/software-service/&amp;title=Selling+your+Software+as+a+Service%3A+Notes+and+Audio" title="Post to Reddit"><img class="nothumb" src="http://kylecordes.com/blog/wp-content/plugins/tweet-this/icons/tt-reddit-micro3.png" alt="Post to Reddit" /></a> <a class="tt" href="http://reddit.com/submit?url=http://kylecordes.com/2007/05/10/software-service/&amp;title=Selling+your+Software+as+a+Service%3A+Notes+and+Audio" title="Post to Reddit">Reddit</a></p>]]></content:encoded>
			<wfw:commentRss>http://kylecordes.com/2007/05/10/software-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://kylecordes.com/files/SAASTalk.mp3" length="35758325" type="audio/mpeg" />
		</item>
	</channel>
</rss>
