<?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>Sam Aparicio &#187; Programming</title>
	<atom:link href="http://blog.aparicio.org/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.aparicio.org</link>
	<description>Confessions of a SAAS entrepreneur</description>
	<lastBuildDate>Fri, 16 Dec 2011 21:13:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>How I moved my blog from WordPress.com to EC2</title>
		<link>http://blog.aparicio.org/2010/10/20/how-i-moved-my-blog-from-wordpress-com-to-ec2/</link>
		<comments>http://blog.aparicio.org/2010/10/20/how-i-moved-my-blog-from-wordpress-com-to-ec2/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 18:26:21 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress.com]]></category>

		<guid isPermaLink="false">http://aparicio.org/?p=366</guid>
		<description><![CDATA[Last weekend I moved my long-standing blog from Wordpress.com, the commercial blog hosting of Automattic to my own hosting at Amazon EC2. Here's a guide for anybody interested in doing the same.]]></description>
			<content:encoded><![CDATA[<p>Last weekend I moved my long-standing blog from WordPress.com, the commercial blog hosting of Automattic to my own hosting at Amazon EC2. Here&#8217;s a guide for anybody interested in doing the same:</p>
<p><strong>Why would you want to move your blog out of WordPress.com?</strong></p>
<ul>
<li><em>You want to use your own theme</em> &#8211; I was unhappy with the theme I was using, in particular, how cluttered it made my blog, more on this below.</li>
<li><em>You want to get Google Analytics</em> &#8211; after diving deep on Ringio&#8217;s analytics I was craving some basic information that WordPress stats doesn&#8217;t give you: bounce rate per blog post, time on site, geographic location</li>
<li><em>You want to install your own plugins</em> &#8211; I&#8217;m very interested in implementing a commenting system that allows visitors to comment with their Twitter / Facebook credentials and WordPress.com really insists on creating its own user network.</li>
</ul>
<p><strong>How about cost?</strong></p>
<p>I am using a t1.micro reserved EC2 instance. I paid $83 to reserve the instance for 3 years of hosting, less than $3/mo. With the usage charges it works out to $7.50/mo. (<em>Update 10/26/2010: With the <a href="http://aws.amazon.com/free/">new AWS Free tier</a> you could save all this money for the first year.</em>)</p>
<div id="attachment_368" class="wp-caption aligncenter" style="width: 337px"><a href="http://aparicio.org/wp-content/uploads/2010/10/old_wordpress.jpg"><img class="size-full wp-image-368 " title="Bye bye WordPress.com" src="http://aparicio.org/wp-content/uploads/2010/10/old_wordpress.jpg" alt="Bye bye WordPress.com" width="327" height="213" /></a><p class="wp-caption-text">Bye bye WordPress.com</p></div>
<p><strong>Quick instructions:</strong></p>
<ol>
<li>My <a href="http://www.evernote.com/shard/s16/sh/3df5f553-62e8-435b-b08f-26b0354edef0/becbb36b35b57cc4fafbc0d7f0db9cca">detailed instructions are here</a></li>
<li>Create/Login to your Amazon Web Services account and buy a reserved t1.micro instance</li>
<li>Launch a Community AMI with WordPress installed. I used the <a href="http://bitnami.org/stack/wordpress">Bitnami WordPress stack</a> . I picked the AMI that has EBS backing, so I don&#8217;t have to worry about backups so much.</li>
<li>Get an Elastic IP and assign it to the running instance</li>
<li>Configure Apache &#8211; mainly make the wordpress directory the DocumentRoot and allow mod_rewrite so WordPress can support pretty URLs</li>
<li>Log in to your EC2 wordpress installation and create an admin account.</li>
<li>Export your WP.com blog to XML</li>
<li>Install the blog importer plugin on your EC2 blog and import the XML file</li>
<li>Repoint your DNS.. (oh&#8230; you were doing blogging on the wordpress.com URL? <a href="http://en.blog.wordpress.com/2010/10/04/offsite-redirect/">Use this paid upgrade instead</a>)</li>
</ol>
<p>Presto! This should take you about 1hr if you&#8217;re a bit familiar with the technologies, or a few hours if it&#8217;s the first time you fiddle with Amazon or WordPress.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aparicio.org/2010/10/20/how-i-moved-my-blog-from-wordpress-com-to-ec2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Can open source engineering work in a commercial project?</title>
		<link>http://blog.aparicio.org/2010/01/05/open-source-engineering-commercially/</link>
		<comments>http://blog.aparicio.org/2010/01/05/open-source-engineering-commercially/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 14:47:49 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[distributedengineering]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[r&d]]></category>

		<guid isPermaLink="false">http://blog.aparicio.org/?p=155</guid>
		<description><![CDATA[Today, in a discussion with some engineers,  we wondered if it is possible to replicate some of the attributes that make some open source projects so incredibly powerful in a more commercial setting. We&#8217;re not talking about making money off of open source; instead, we&#8217;re interested in cataloguing what can be learnt from the open [...]]]></description>
			<content:encoded><![CDATA[<p>Today, in a discussion with some engineers,  we wondered if it is possible to replicate some of the attributes that make some open source projects so incredibly powerful in a more commercial setting. We&#8217;re not talking about making money off of open source; instead, we&#8217;re interested in cataloguing what can be learnt from the open source engineering approach and seeing how it could be leveraged for businesses that have a commercial R&amp;D function.</p>
<p>Successful open source projects:</p>
<ul>
<li>Produce very high quality software</li>
<li>Have generally very motivated developers</li>
<li>Get some of the best talent in the world</li>
<li>Are highly distributed, enabling individuals who participate the ultimate in lifestyle flexibility. You live where you want, you work however much you want, whenever you want.</li>
</ul>
<p>Some of their observations were:</p>
<ul>
<li>All successful open source projects have a benevolent dictator in charge. Companies are afraid to confer so much power to one person and instead tend to decide by committe</li>
<li>The lack of commercial pressure allows engineers to progress towards goals at their own pace, many open source projects produce &#8220;progress&#8221; very slowly.</li>
<li>The natural selection among open source projects is brutal. For every successful project with the right idea, the right people, the right market, there are hundreds which fail, either because of the wrong dictator, the wrong idea or the wrong timing</li>
</ul>
<p>Some of my counters:</p>
<ul>
<li>Companies, especially startups, should excel at empowering one individual to steer a project. A company can eliminate all barriers for one individual to lead without having to worry about perception, mundane tasks, or financial worries.</li>
<li>Product companies, especially those that are targetting thousands of users, have to progress very slowly anyways, giving a lot of consideration to quality, operations, code health, etc.</li>
<li>The natural slection of commercial endeavours is just as brutal. But if you just could get top notch software out of an engineering team in a reliably manner, then you&#8217;ve eliminated one more source of risk.</li>
</ul>
<p>Wondering what other people&#8217;s experiences are in building highly distributed software engineering teams made of highly talented, highly motivated engineers. My gut feeling is that this kind of approach hinges on the quality of the process. The distributed approach forces a degree of formality that correlates with good engineering practices. This raises two interesting questions: a) is it really the process that makes the success, or is there something inherently different when you take money out of the equation that makes it possible for these open source projects to succeed (to me, open source looks like an aberration, it shouldn&#8217;t work yet it works beautifully sometimes) b) if it is the process, what comes first, the distribution forcing the practices or developers who wouldn&#8217;t work any other way self-organizing around those practices?</p>
<p>In any case, I don&#8217;t think that the central motivation of pursuing open source engineering approaches in commercial settings should be the lowering of R&amp;D costs. It makes more sense if the goal is the raising of engineering standards and what that can enable for a certain kind of business.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aparicio.org/2010/01/05/open-source-engineering-commercially/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Master, The Expert, The Programmer</title>
		<link>http://blog.aparicio.org/2009/12/28/the-master-the-expert-the-programmer/</link>
		<comments>http://blog.aparicio.org/2009/12/28/the-master-the-expert-the-programmer/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 14:23:37 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://samaparicio.wordpress.com/2009/12/28/the-master-the-expert-the-programmer/</guid>
		<description><![CDATA[Zed Shaw has a nice essay on the state of programming, drawing analogies from the attainment of mastery from martial arts. Here&#8217;s an excerpt: Programming is a very new discipline, so there’s not too many master programmers out there. What’s worse is that the few people I would consider masters aren’t very exemplary of the [...]]]></description>
			<content:encoded><![CDATA[<p>Zed Shaw has a nice essay on the state of programming, drawing analogies from the attainment of mastery from martial arts. Here&#8217;s an excerpt:</p>
<blockquote cite="http://zedshaw.com/essays/master_and_expert.html">
<p>Programming is a very new discipline, so there’s not too many master programmers out there. What’s worse is that the few people I would consider masters aren’t very exemplary of the software profession and art. They are typically professors who never write anything under a deadline and are given complete artistic freedom to develop whatever they want. Take Donald Knuth, who was able to take three years off from teaching in order to complete TeX. There’s no way I could get away with telling my employer that it’ll take me three years to finish their product. Knuth is basically a “master amateur”. A guy who worked in a complete utopia and was able to hone his skills without interference. I would compare him with a man who became a master by studying at a monastery for for his entire life.</p>
<p>[From <a href="http://zedshaw.com/essays/master_and_expert.html"><cite>The Master, The Expert, The Programmer</cite></a>]
</p></blockquote>
<p>Very nice thoughts overall. I think, though, that the analogy is flawed. At least as it pertains to commercial development. Comparing programming to an art form, and the process of maturing as a developer to the process of becoming a master, comes from the mindset of somebody who is trying to create something intrinsically beautiful.</p>
<p>And while beauty is a powerful concept, most software projects are trying to make something functional. Just like a building needs an inner structure, a piece of software needs code. What one demands of a building structure, above all, is that it be sound. Not beautiful. Structural engineers are not pursuing an art. Nor a science. They&#8217;re pursuing to apply a body of systematically gathered engineering knowledge to a problem, and maybe, in the process, advance the state of engineering.</p>
<p>A lot of programmers, especially in the US, are oblivious to the fact that their profession is 10 years away from disappearing as we know it today. What is causing development to move to lower cost of employment locations is precisely the underlying fact that programming is an engineering discipline, not an art form.</p>
<p>There are some businesses with obscenely rewarding markets which can afford the artists, but there are fewer of those every day. For the rest of programmers, the choices are: to milk the good pay while it lasts, to become an artist and find a patron, to retrain in another profession, or to disintermediate, become entrepreneurs and hope that they come across one of those obscenely rewarding markets.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aparicio.org/2009/12/28/the-master-the-expert-the-programmer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The mankind went nuts &#8211; some disadvantages of AJAX</title>
		<link>http://blog.aparicio.org/2009/04/09/the-mankind-went-nuts-some-disadvantages-of-ajax/</link>
		<comments>http://blog.aparicio.org/2009/04/09/the-mankind-went-nuts-some-disadvantages-of-ajax/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 15:48:11 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[yakovfain]]></category>

		<guid isPermaLink="false">http://samaparicio.wordpress.com/2009/04/09/the-mankind-went-nuts-some-disadvantages-of-ajax/</guid>
		<description><![CDATA[I met Yakov Fain a couple of years ago during a blustery NJ weekend at a Flex bootcamp course he was giving. He is damn smart, and is publishing his second Flex book on OReilly soon. He&#8217;s also funny, in a non-self-aware way. Hope you meet him at some conference soon. One of his russian-english [...]]]></description>
			<content:encoded><![CDATA[<p>I met <a href="http://yakovfain.javadevelopersjournal.com/">Yakov Fain</a> a couple of years ago during a blustery NJ weekend at a Flex bootcamp course he was giving. He is damn smart, and is publishing his second Flex book on OReilly soon. He&#8217;s also funny, in a non-self-aware way. Hope you meet him at some conference soon.</p>
<p>One of his russian-english signature sentences: &#8220;The mankind went nuts&#8221;. Which he used when speaking about the web development community when AJAX was published.</p>
<p>When talking about Flex vs AJAX, he made a really good analysis, and somehow, the bad parts of AJAX stuck with me:</p>
<ul>
<li>Code is in the clear</li>
<li>A refresh forces a reload</li>
<li>Need to write code to check that all the Javascript code has arrived before app can correctly execute</li>
<li>AJAX is a different kind of lock-in. (Flex is big-guy lockin and Ajax small guy lockin.)</li>
<li>Cannot jump out of the browser</li>
<li>Need to check cross-browser compatibility</li>
<li>No data bindings and no closures.</li>
</ul>
<p>So there you go.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aparicio.org/2009/04/09/the-mankind-went-nuts-some-disadvantages-of-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

