<?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>David&#039;s Raging Nexus</title>
	<atom:link href="http://david.ragingnexus.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://david.ragingnexus.com/blog</link>
	<description>The personal log of one David Ramalho, having his go at life.</description>
	<lastBuildDate>Sun, 20 May 2012 19:05:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Notes: PHP QA Tools + Jenkins PHP Project Template</title>
		<link>http://david.ragingnexus.com/blog/2012/04/26/notes-php-qa-tools-jenkins-php-project-template/</link>
		<comments>http://david.ragingnexus.com/blog/2012/04/26/notes-php-qa-tools-jenkins-php-project-template/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 16:47:59 +0000</pubDate>
		<dc:creator>David Ramalho</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://david.ragingnexus.com/blog/?p=39904</guid>
		<description><![CDATA[So, after catching&#160;Sebastian Bergmann&#8216;s&#160;tweet about the PHP Quality Assurance Tool-chain project I was at last reunited with an old goal of mine, to get some tools to oversee my mess (and there&#8217;s plenty of it to go around). Below are a few notes I took during the global&#160;installation&#160;process, applied to my reality (Ubuntu), it all [...]]]></description>
			<content:encoded><![CDATA[<p>So, after catching&nbsp;<a title="Sebastian Bergmann @s_bergmann" href="https://twitter.com/#!/s_bergmann">Sebastian Bergmann</a>&#8216;s&nbsp;<a href="https://twitter.com/#!/s_bergmann/status/195152706762051584">tweet</a> about the <a title="The PHP Quality Assurance Toolchain " href="http://phpqatools.org/">PHP Quality Assurance Tool-chain project</a> I was at last reunited with an old goal of mine, to get some tools to oversee my mess (and there&#8217;s plenty of it to go around).</p>
<p>Below are a few notes I took during the global&nbsp;installation&nbsp;process, applied to my reality (Ubuntu), it all went about well the first time, I had built setup related issues (they&#8217;re in the notes down there, rookie mistakes and particular conditions) . They&#8217;re straight out of my&nbsp;installation&nbsp;process, so there&#8217;s no QA assurance on this post&nbsp;:) , either way, along with the website you&#8217;ll be&nbsp;fine and on your way with getting the full tool-chain up and running <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Installation notes</h2>
<h2><a href="http://phpqatools.org/">PEAR phpqatools</a></h2>
<pre class="brush:shell">sudo pear config-set auto_discover 1
sudo pear install pear.phpqatools.org/phpqatools
sudo pear channel-discover pear.phpdoc.org
sudo pear install phpdoc/phpDocumentor-alpha
sudo pear install channel://pear.php.net/Text_Highlighter-0.7.3</pre>
<h3><a href="http://jenkins-ci.org/">Jenkins</a></h3>
<h4><a href="http://pkg.jenkins-ci.org/debian/">DEB Install</a></h4>
<pre class="brush:shell">wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo vim /etc/apt/sources.list
# Add the following line
# deb http://pkg.jenkins-ci.org/debian binary/
sudo apt-get update
sudo apt-get install jenkins</pre>
<h4><a href="http://jenkins-php.org/">Template for Jenkins Jobs for PHP Projects</a></h4>
<pre class="brush:shell">sudo pear install pear.phpqatools.org/phpqatools pear.netpirates.net/phpDox
sudo pear install channel://pear.netpirates.net/phpDox-0.4.0</pre>
<h4>Jenkins CLI</h4>
<blockquote><p>Had to manually update the <a href="http://localhost:8080/pluginManager/advanced">Jenkins Plugins DB</a>&nbsp;via the Web interface, the CLI interface doesn&#8217;t seem to have an proper command</p></blockquote>
<pre class="brush:shell"># Get the jenkins-cli jar file
wget http://localhost:8080/jnlpJars/jenkins-cli.jar

# Install the plugins
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin analysis-core checkstyle cloverphp dry htmlpublisher jdepend plot pmd violations xunit git 

# Restart Jenkins
java -jar jenkins-cli.jar -s http://localhost:8080 safe-restart</pre>
<h4>Jenkins PHP Template</h4>
<blockquote><p>My Jenkins Home is: /var/lib/jenkins</p></blockquote>
<pre class="brush:shell">cd $JENKINS_HOME/jobs
sudo git clone git://github.com/sebastianbergmann/php-jenkins-template.git php-template
sudo chown -R jenkins:nogroup php-template/</pre>
<p>Also, make sure you have &#8216;ant&#8217;&nbsp;installer</p>
<pre class="brush:shell">sudo apt-get install ant</pre>
<h3>Running your first Build</h3>
<ul>
<li>Build Failure #1 &#8211; Clone permission denied<br />
Some local .git/objects files hadn&#8217;t READ permissions for everyone, fixed it with</li>
</ul>
<pre class="brush:shell">chmod -R a+r *</pre>
<ul>
<li>Build Failure #2 &#8211; Could not apply tag.&nbsp;Optionally&nbsp;you can do this on the Jenkins Web Interface (job configuration =&gt; git =&gt; repository browser &#8211; advanced button )
<pre class="brush:shell">cd $JENKINS_HOME/jobs/project/workspace
sudo -u jenkins git config user.email "jenkins@localhost"
sudo -u jenkins git config user.name "jenkins"</pre>
</li>
</ul>
<p>At this point, you&#8217;re about ready to go, mind you, you have a pretty empty build right there (unless your project is already configured with build&nbsp;instructions&nbsp;of course), in any case, <strong>do</strong> check out <a title="Commands for installing Jenkins for a PHP project on Ubuntu 11.04 server with automatic pulling of code from private Github repository" href="http://hnygard.no/ubuntu/commands-for-installing-jenkins-for-a-php-project-on-ubuntu-11-04-server-with-automatic-pulling-of-code-from-private-github-repository/">this post</a>&nbsp;since it will absolutely get you going with the proper build steps you need to take.</p>
<p>Now, all we need is quality software <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://david.ragingnexus.com/blog/2012/04/26/notes-php-qa-tools-jenkins-php-project-template/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Low-latency generation</title>
		<link>http://david.ragingnexus.com/blog/2012/03/17/low-latency-generation/</link>
		<comments>http://david.ragingnexus.com/blog/2012/03/17/low-latency-generation/#comments</comments>
		<pubDate>Sat, 17 Mar 2012 21:25:03 +0000</pubDate>
		<dc:creator>David Ramalho</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://david.ragingnexus.com/blog/?p=39269</guid>
		<description><![CDATA[Created by: Online Graduate Programs]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.onlinegraduateprograms.com/instant-america/"><img src="http://images.onlinegraduateprograms.com.s3.amazonaws.com/instant-america.jpg" alt="Instant America" width="500" border="0" /></a><br />
Created by: <a href="http://www.onlinegraduateprograms.com/">Online Graduate Programs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://david.ragingnexus.com/blog/2012/03/17/low-latency-generation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter is Legion &#8211; #softbook</title>
		<link>http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/</link>
		<comments>http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/#comments</comments>
		<pubDate>Sun, 11 Mar 2012 22:01:48 +0000</pubDate>
		<dc:creator>David Ramalho</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[softbook]]></category>

		<guid isPermaLink="false">http://david.ragingnexus.com/blog/?p=38982</guid>
		<description><![CDATA[Update #1: @trodrigues provided #tumblr power -&#62; http://thesoftbook.tumblr.com/ Update #2:  @trodrigues combined the power of @ifttt , you can now use the #softbook hast-tag to feed the tumblr blog &#160; Next time you think of posting a silly picture online, say like this one &#160; Beware of what comes next &#8230;.. &#160; Twitter IS legion my friends [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>Update #1</strong>: @trodrigues provided #tumblr power -&gt; <a href="http://thesoftbook.tumblr.com/">http://thesoftbook.tumblr.com/</a></p>
<p><strong>Update #2</strong>:  @trodrigues combined the power of @ifttt , you can now use the #softbook hast-tag to feed the tumblr blog <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p></blockquote>
<p>&nbsp;</p>
<p>Next time you think of posting a silly picture online, say like this one</p>
<p><a href="http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/2012-03-11-194231/" rel="attachment wp-att-38983"><img class="aligncenter size-full wp-image-38983" title="2012-03-11-194231" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/2012-03-11-194231.jpg" alt="" width="640" height="480" /></a></p>
<p>&nbsp;</p>
<p>Beware of what comes next &#8230;..</p>

<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/2012-03-11-194231/' title='2012-03-11-194231'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/2012-03-11-194231-150x150.jpg" class="attachment-thumbnail" alt="2012-03-11-194231" title="2012-03-11-194231" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/2012-03-11-204819/' title='2012-03-11-204819'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/2012-03-11-204819-150x150.jpg" class="attachment-thumbnail" alt="2012-03-11-204819" title="2012-03-11-204819" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/2012-03-11-210059/' title='2012-03-11-210059'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/2012-03-11-210059-150x150.jpg" class="attachment-thumbnail" alt="2012-03-11-210059" title="2012-03-11-210059" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/2012-03-11-210753/' title='2012-03-11-210753'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/2012-03-11-210753-150x150.jpg" class="attachment-thumbnail" alt="2012-03-11-210753" title="2012-03-11-210753" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/2012-03-11-211935/' title='2012-03-11-211935'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/2012-03-11-211935-150x150.jpg" class="attachment-thumbnail" alt="2012-03-11-211935" title="2012-03-11-211935" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/2012-03-11-212752/' title='2012-03-11-212752'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/2012-03-11-212752-150x150.jpg" class="attachment-thumbnail" alt="2012-03-11-212752" title="2012-03-11-212752" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/2012-03-11-213442/' title='2012-03-11-213442'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/2012-03-11-213442-150x150.jpg" class="attachment-thumbnail" alt="2012-03-11-213442" title="2012-03-11-213442" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/2012-03-11-214455/' title='2012-03-11-214455'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/2012-03-11-214455-150x150.jpg" class="attachment-thumbnail" alt="2012-03-11-214455" title="2012-03-11-214455" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535943592/' title='535943592'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535943592-150x150.jpg" class="attachment-thumbnail" alt="535943592" title="535943592" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535947452/' title='535947452'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535947452-150x150.jpg" class="attachment-thumbnail" alt="535947452" title="535947452" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535948372/' title='535948372'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535948372-150x150.jpg" class="attachment-thumbnail" alt="535948372" title="535948372" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535962768/' title='535962768'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535962768-150x150.jpg" class="attachment-thumbnail" alt="535962768" title="535962768" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535966811/' title='535966811'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535966811-150x150.jpg" class="attachment-thumbnail" alt="535966811" title="535966811" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535970692/' title='535970692'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535970692-150x150.jpg" class="attachment-thumbnail" alt="535970692" title="535970692" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535971542/' title='535971542'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535971542-150x150.jpg" class="attachment-thumbnail" alt="535971542" title="535971542" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535977421/' title='535977421'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535977421-150x150.jpg" class="attachment-thumbnail" alt="535977421" title="535977421" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535980150/' title='535980150'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535980150-150x150.jpg" class="attachment-thumbnail" alt="535980150" title="535980150" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anu2utuciaer6qa/' title='Anu2uTUCIAEr6qA'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/Anu2uTUCIAEr6qA-150x150.jpg" class="attachment-thumbnail" alt="Anu2uTUCIAEr6qA" title="Anu2uTUCIAEr6qA" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anu5ocgceaiv46a/' title='Anu5OCgCEAIV46A'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/Anu5OCgCEAIV46A-150x150.jpg" class="attachment-thumbnail" alt="Anu5OCgCEAIV46A" title="Anu5OCgCEAIV46A" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anu8mswcqaeo1bk/' title='Anu8MSwCQAEo1bk'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/Anu8MSwCQAEo1bk-150x150.jpg" class="attachment-thumbnail" alt="Anu8MSwCQAEo1bk" title="Anu8MSwCQAEo1bk" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anu9z1jcmaeisxo/' title='Anu9Z1jCMAEIsXO'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/Anu9Z1jCMAEIsXO-150x150.jpg" class="attachment-thumbnail" alt="Anu9Z1jCMAEIsXO" title="Anu9Z1jCMAEIsXO" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anu-3fucqaahlwn/' title='Anu-3FUCQAAhlwN'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/Anu-3FUCQAAhlwN-150x150.jpg" class="attachment-thumbnail" alt="Anu-3FUCQAAhlwN" title="Anu-3FUCQAAhlwN" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anu-hibciaaw2qs/' title='Anu-HIBCIAAW2qs'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/Anu-HIBCIAAW2qs-150x150.jpg" class="attachment-thumbnail" alt="Anu-HIBCIAAW2qs" title="Anu-HIBCIAAW2qs" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anu_wzxciaeu0df/' title='Anu_wzXCIAEu0df'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/Anu_wzXCIAEu0df-150x150.jpg" class="attachment-thumbnail" alt="Anu_wzXCIAEu0df" title="Anu_wzXCIAEu0df" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvb-fciaaf1xo/' title='AnvB--FCIAAf1xo'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvB-FCIAAf1xo-150x150.jpg" class="attachment-thumbnail" alt="AnvB--FCIAAf1xo" title="AnvB--FCIAAf1xo" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvbwsbciaanz6l/' title='AnvBWSbCIAANz6L'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvBWSbCIAANz6L-150x150.jpg" class="attachment-thumbnail" alt="AnvBWSbCIAANz6L" title="AnvBWSbCIAANz6L" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvd_jwcaaebzni/' title='AnvD_jwCAAEbzNi'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvD_jwCAAEbzNi-150x150.jpg" class="attachment-thumbnail" alt="AnvD_jwCAAEbzNi" title="AnvD_jwCAAEbzNi" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvdnmacqaezfgt/' title='AnvDnmACQAEZfGt'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvDnmACQAEZfGt-150x150.jpg" class="attachment-thumbnail" alt="AnvDnmACQAEZfGt" title="AnvDnmACQAEZfGt" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvetoscmaid-bw/' title='AnvEtoSCMAID-bw'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvEtoSCMAID-bw-150x150.jpg" class="attachment-thumbnail" alt="AnvEtoSCMAID-bw" title="AnvEtoSCMAID-bw" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvewqhciaaehcp/' title='AnvEWQHCIAAehcP'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvEWQHCIAAehcP-150x150.jpg" class="attachment-thumbnail" alt="AnvEWQHCIAAehcP" title="AnvEWQHCIAAehcP" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvfp6vceaeoeva/' title='AnvFP6vCEAEOeva'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvFP6vCEAEOeva-150x150.jpg" class="attachment-thumbnail" alt="AnvFP6vCEAEOeva" title="AnvFP6vCEAEOeva" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvfy8dciaatnqj/' title='AnvFy8DCIAAtnQJ'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvFy8DCIAAtnQJ-150x150.jpg" class="attachment-thumbnail" alt="AnvFy8DCIAAtnQJ" title="AnvFy8DCIAAtnQJ" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvgafmcqaahxvb/' title='AnvGAFMCQAAHXvB'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvGAFMCQAAHXvB-150x150.jpg" class="attachment-thumbnail" alt="AnvGAFMCQAAHXvB" title="AnvGAFMCQAAHXvB" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvgy4sceaahrqp/' title='AnvGY4SCEAAhRqP'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvGY4SCEAAhRqP-150x150.jpg" class="attachment-thumbnail" alt="AnvGY4SCEAAhRqP" title="AnvGY4SCEAAhRqP" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvgyrfcmaam31m/' title='AnvGyRFCMAAM31M'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvGyRFCMAAM31M-150x150.jpg" class="attachment-thumbnail" alt="AnvGyRFCMAAM31M" title="AnvGyRFCMAAM31M" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvhtqwceaejjuw/' title='AnvHtQWCEAEjjuW'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvHtQWCEAEjjuW-150x150.jpg" class="attachment-thumbnail" alt="AnvHtQWCEAEjjuW" title="AnvHtQWCEAEjjuW" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvib4bcmaabwtf/' title='AnvIB4bCMAAbWTf'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvIB4bCMAAbWTf-150x150.jpg" class="attachment-thumbnail" alt="AnvIB4bCMAAbWTf" title="AnvIB4bCMAAbWTf" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvifgxcaaen8kf/' title='AnvIFGXCAAEn8kF'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvIFGXCAAEn8kF-150x150.jpg" class="attachment-thumbnail" alt="AnvIFGXCAAEn8kF" title="AnvIFGXCAAEn8kF" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvihclciaex4xg/' title='AnvIHClCIAEx4XG'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvIHClCIAEx4XG-150x150.jpg" class="attachment-thumbnail" alt="AnvIHClCIAEx4XG" title="AnvIHClCIAEx4XG" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anviq4lcmaahwsx/' title='AnvIq4LCMAAHwSx'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvIq4LCMAAHwSx-150x150.jpg" class="attachment-thumbnail" alt="AnvIq4LCMAAHwSx" title="AnvIq4LCMAAHwSx" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvj0mucmaa0l-6/' title='AnvJ0muCMAA0l-6'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvJ0muCMAA0l-6-150x150.jpg" class="attachment-thumbnail" alt="AnvJ0muCMAA0l-6" title="AnvJ0muCMAA0l-6" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvjadncmaerpf/' title='AnvJADNCMAERPF-'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvJADNCMAERPF--150x150.jpg" class="attachment-thumbnail" alt="AnvJADNCMAERPF-" title="AnvJADNCMAERPF-" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvjsxbcaaarn14/' title='AnvJsxBCAAArn14'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvJsxBCAAArn14-150x150.jpg" class="attachment-thumbnail" alt="AnvJsxBCAAArn14" title="AnvJsxBCAAArn14" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvjuzlciaatakl/' title='AnvJUzlCIAATAKl'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvJUzlCIAATAKl-150x150.jpg" class="attachment-thumbnail" alt="AnvJUzlCIAATAKl" title="AnvJUzlCIAATAKl" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anvkgywceae2mvb/' title='AnvKGYwCEAE2MVb'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/AnvKGYwCEAE2MVb-150x150.jpg" class="attachment-thumbnail" alt="AnvKGYwCEAE2MVb" title="AnvKGYwCEAE2MVb" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535944429/' title='535944429'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535944429-150x150.jpg" class="attachment-thumbnail" alt="535944429" title="535944429" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535950861/' title='535950861'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535950861-150x150.jpg" class="attachment-thumbnail" alt="535950861" title="535950861" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535969880/' title='535969880'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535969880-150x150.jpg" class="attachment-thumbnail" alt="535969880" title="535969880" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535974301/' title='535974301'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535974301-150x150.jpg" class="attachment-thumbnail" alt="535974301" title="535974301" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535958312/' title='535958312'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535958312-150x150.jpg" class="attachment-thumbnail" alt="535958312" title="535958312" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/attachment/535969065/' title='535969065'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/535969065-150x150.jpg" class="attachment-thumbnail" alt="535969065" title="535969065" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/535980150-2/' title='535980150'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/5359801501-150x150.jpg" class="attachment-thumbnail" alt="535980150" title="535980150" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anu9r57cqaawesk/' title='Anu9r57CQAAwESk'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/Anu9r57CQAAwESk-150x150.jpg" class="attachment-thumbnail" alt="Anu9r57CQAAwESk" title="Anu9r57CQAAwESk" /></a>
<a href='http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/anu9-zzceaeqhb1/' title='Anu9-ZzCEAEqHb1'><img width="150" height="150" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/03/Anu9-ZzCEAEqHb1-150x150.jpg" class="attachment-thumbnail" alt="Anu9-ZzCEAEqHb1" title="Anu9-ZzCEAEqHb1" /></a>

<p>&nbsp;</p>
<p>Twitter IS legion my friends <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote><p>&nbsp;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://david.ragingnexus.com/blog/2012/03/11/twitter-is-legion-softbook/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Doesn&#8217;t get any more Sirius than this</title>
		<link>http://david.ragingnexus.com/blog/2012/02/11/doesnt-get-any-more-sirius-than-this/</link>
		<comments>http://david.ragingnexus.com/blog/2012/02/11/doesnt-get-any-more-sirius-than-this/#comments</comments>
		<pubDate>Sat, 11 Feb 2012 21:43:03 +0000</pubDate>
		<dc:creator>David Ramalho</dc:creator>
				<category><![CDATA[Real Life]]></category>

		<guid isPermaLink="false">http://david.ragingnexus.com/blog/?p=38355</guid>
		<description><![CDATA[I was reading the National Geographic magazine and was blown away with this. If you think your job is though,meet the Sirius Sledge Patrol, a 14 member elite division of the Danish Navy, these guys maintain and patrols the arctic regions of Greenland. They work with two man teams and some patrols take as long as 4 months [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_38357" class="wp-caption aligncenter" style="width: 680px"><a href="http://ngm.nationalgeographic.com/2012/01/sled-dogs/hoffmann-photography"><img class="size-full wp-image-38357" title="Dogsled" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/02/01-dogsled-team-patrols-northeastern-greenland-670.jpg" alt="" width="670" height="484" /></a><p class="wp-caption-text">Sleg-dogs by Fritz Hoffmann</p></div>
<p>I was reading the <a href="http://ngm.nationalgeographic.com/">National Geographic</a> magazine and was blown away with this. If you think your job is though,meet the <a href="http://en.wikipedia.org/wiki/Sl%C3%A6depatruljen_Sirius">Sirius Sledge Patrol</a>, a 14 member elite division of the Danish Navy, these guys maintain and patrols the arctic regions of Greenland. They work with two man teams and some patrols take as long as 4 months &#8211; 4 months in the middle of the Arctic wilderness, alone with a team mate &#8211; and they take dogsleds, because using mechanical devices in the middle of absolutely nowhere for thousands of kilometers is a recipe for, well given the conditions, death, dogs don&#8217;t need spare parts and fuel can be found along the way.</p>
<p>IF you want to join the team, you must be a member of the Danish Navy, have an age between 20-30 years and run a 6 month intensive course basically teaching you how to survive the end of the human race and then some, if you manage to get to the end of the course, maybe you&#8217;ll get picked for the team, maybe not.</p>
<p>Be sure to read the <a href="http://ngm.nationalgeographic.com/2012/01/sled-dogs/finkel-text">NG article</a>, it&#8217;s an eye opener <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Links:</p>
<ul>
<li><a href="http://forsvaret.dk/GLK/Sirius/Pages/default.aspx">Danish navy Sirius information</a> (DK only)</li>
<li><a href="http://en.wikipedia.org/wiki/Sl%C3%A6depatruljen_Sirius">Wikipedia page</a></li>
<li><a href="http://ngm.nationalgeographic.com/2012/01/sled-dogs/finkel-text">National Geographic article</a></li>
<li><a href="http://www.eastgreenland.com/database.asp?lang=eng&amp;num=415">Eastgreenland Sirius information</a></li>
<li><a href="http://www.youtube.com/watch?v=umh6a5XGlXM">Danish Channel documentary intro</a></li>
<li><a href="http://www.fritzhoffmann.com/sled-dogs/">Fritz Hoffman&#8217;s page</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://david.ragingnexus.com/blog/2012/02/11/doesnt-get-any-more-sirius-than-this/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Now for a round of &#8220;Name that Social Network Interface&#8221;</title>
		<link>http://david.ragingnexus.com/blog/2012/02/07/now-for-a-round-of-name-that-social-network-interface/</link>
		<comments>http://david.ragingnexus.com/blog/2012/02/07/now-for-a-round-of-name-that-social-network-interface/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 22:47:04 +0000</pubDate>
		<dc:creator>David Ramalho</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://david.ragingnexus.com/blog/?p=38175</guid>
		<description><![CDATA[Hint, one is black the other is blue and they all look alike]]></description>
			<content:encoded><![CDATA[<p><a href="http://david.ragingnexus.com/blog/2012/02/07/now-for-a-round-of-name-that-social-network-interface/selection_013/" rel="attachment wp-att-38176"><img class="aligncenter size-large wp-image-38176" title="G+ / Facebook - Image viewer" src="http://david.ragingnexus.com/blog/wp-content/uploads/2012/02/Selection_013-1024x643.jpg" alt="" width="800" height="503" /></a></p>
<p>Hint, one is black the other is blue and they all look alike <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://david.ragingnexus.com/blog/2012/02/07/now-for-a-round-of-name-that-social-network-interface/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The search for a new &#8220;Hello World&#8221; – Part #3 / Day #1</title>
		<link>http://david.ragingnexus.com/blog/2012/02/04/the-search-for-a-new-hello-world-part-3-day-1/</link>
		<comments>http://david.ragingnexus.com/blog/2012/02/04/the-search-for-a-new-hello-world-part-3-day-1/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 22:31:46 +0000</pubDate>
		<dc:creator>David Ramalho</dc:creator>
				<category><![CDATA[A new language]]></category>
		<category><![CDATA[Series]]></category>

		<guid isPermaLink="false">http://david.ragingnexus.com/blog/?p=38033</guid>
		<description><![CDATA[So, armed with a sort of checklist from my previous post it&#8217;s time to consider some options, like I said, the goal of this exercise is to learn a new language, not to move away from PHP but to add a new dimension to my though process and widen the available tools scope. Now, the list [...]]]></description>
			<content:encoded><![CDATA[<p>So, armed with a <a href="http://david.ragingnexus.com/blog/2012/02/04/hello-world-by-any-other-name-part-2/">sort of checklist</a> from my previous post it&#8217;s time to consider some options, like I said, the goal of this exercise is to learn a <a href="http://david.ragingnexus.com/blog/2012/02/03/hello-world-by-any-other-name-part-1/">new language</a>, not to move away from PHP but to add a new dimension to my though process and widen the available tools scope.</p>
<p>Now, the <a href="http://en.wikipedia.org/wiki/Timeline_of_programming_languages">list of available options</a> is nothing short of daunting, so I&#8217;ll use some biased judgment, a few recommendations and stroll along gathering information and keeping an open mind.</p>
<p>I also watched (finally) these two Codebits presentations and will be including some information along the way &#8211; at least as target practice <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<ul>
<li><a href="https://codebits.eu/intra/s/session/198">The Future of Programming Languages</a> &#8211; by <a href="https://twitter.com/#!/alcides">Alcides Fonseca</a> (<a href="www.slideshare.net/alcides/future-programming-languages-10153893">slides here</a>)</li>
<li><a href="https://codebits.eu/intra/s/session/178">My language is better than yours</a> - by <a href="https://twitter.com/#!/arturventura">Artur Ventura</a></li>
</ul>
<p>&nbsp;</p>
<p>This will take a while to filter, so I&#8217;m dividing my efforts into iterations and posting them as I go.</p>
<p>&nbsp;</p>
<h1>The Go programming language</h1>
<blockquote><p>The Go programming language is an open source project to make programmers more productive. Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It&#8217;s a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.</p></blockquote>
<p>I gotta say, it complies with the criteria I mentioned and, it&#8217;s <a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html">ranked</a> below NXT-G so it&#8217;s pretty hipster territory right there <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . It needs further investigation, but it made it to the shortlist.</p>
<h2>Go Tips for learners on the road:</h2>
<ul>
<li><a href="http://code.google.com/p/go-tour/">Go-Tour</a> - An interactive in-browser Go tour that you can install and run locally</li>
<li>godoc , it&#8217;s installed with go, just run : godoc &#8211;http=:6060</li>
</ul>
<h2>Resources:</h2>
<ul>
<li><a href="http://golang.org/">The official Go Site</a></li>
<li><a href="https://github.com/languages/Go">GitHub Language Explore for Go</a></li>
<li><a href="http://go-lang.cat-v.org/">Go Programming Language Resources</a></li>
</ul>
<div></div>
<h2>Hello World</h2>
<div>
<pre class="brush:plain">package main

import "fmt"

func main() {
	fmt.Println("Hello, 世界")
}</pre>
</div>
<h2>Installing and taking a stroll</h2>
<p>The official site has a <a href="http://golang.org/doc/install.html">install reference page</a>, I followed it and I was shocked that everything went smoothly the first time, I mean &#8230; there&#8217;s no decency anymore. Not only that, but they have the nerve to have a Go Tour (<a href="http://code.google.com/p/go-tour/">http://code.google.com/p/go-tour/</a>) that you can install locally and run (say when I&#8217;m on the train) , where you are presented with the basic information on starting to code in go and where all the exercises are actually compiled on your machine. Pretty Neat.</p>
<h1>Languages that are out</h1>
<p>Meanwhile, some languages have been looked into and checked against &#8220;The Criteria&#8221; and are now out of the running &#8211; so to speak :</p>
<ul>
<li><a href="http://www.fancy-lang.org/">Fancy</a> - Ruby inter-operable oop language. Benefits from all existing Ruby classes, doesn&#8217;t feel like moving to it instead of Ruby would be beneficial for me. The <a href="http://en.wikipedia.org/wiki/Message_passing">message passing</a> angle I never explored before, but fails criterion #2</li>
<li><a href="http://www.dartlang.org/">Dart</a> - A &#8220;we can fix javascript&#8221; attempt by Google . Interesting, OOP style, fails criterion #2 and #5 (I think) &#8211; might be interesting as a side tool for writing up &#8220;javascript&#8221;</li>
<li><a href="http://coffeescript.org/">Coffeescript</a> &#8211; Doesn&#8217;t have behemoth Google behind it, but for now I&#8217;m putting it in the same category as Dart</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://david.ragingnexus.com/blog/2012/02/04/the-search-for-a-new-hello-world-part-3-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>“Hello World” by any other name – Part #2</title>
		<link>http://david.ragingnexus.com/blog/2012/02/04/hello-world-by-any-other-name-part-2/</link>
		<comments>http://david.ragingnexus.com/blog/2012/02/04/hello-world-by-any-other-name-part-2/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 15:19:52 +0000</pubDate>
		<dc:creator>David Ramalho</dc:creator>
				<category><![CDATA[A new language]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Series]]></category>

		<guid isPermaLink="false">http://david.ragingnexus.com/blog/?p=38022</guid>
		<description><![CDATA[Part #2 of the thinking-out-loud-learn-a-new-language series (Part #1 here) &#160; Ok, so learning a  new language is cool and exciting, but we&#8217;re doing it on the run here, full time job (and then some), 2 kids, 1,5 hour (split between 3 stretches) commute time two .. the works , so time is one problem and focus [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Part #2 of the thinking-out-loud-learn-a-new-language series (<a href="http://david.ragingnexus.com/blog/2012/02/03/hello-world-by-any-other-name-part-1/">Part #1 here</a>)</p></blockquote>
<p>&nbsp;</p>
<p>Ok, so learning a  new language is cool and exciting, but we&#8217;re doing it on the run here, full time job (and then some), 2 kids, 1,5 hour (split between 3 stretches) commute time two .. the works <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  , so time is one problem and focus is another, so sort of getting it right from the start is important here. This means I should get some proper metrics and goals for this to work, that my choice needs to be as practical as possible and that whatever it is, it must add a new dimension to what I already know (syntactic sugar aside) and not simply be an alternative to, in this case, PHP.</p>
<p>So, a short list of things that should influence the choice:</p>
<ol>
<li>I use Linux &#8211; of the Ubuntu flavor - so proprietary or OS limited stuff is, baring alternatives, out of the question (should I consider <a href="http://en.wikipedia.org/wiki/Objective-C">Objective-C</a> ? <a href="http://en.wikipedia.org/wiki/.NET_Framework">.Net</a> based languages despite having <a href="http://en.wikipedia.org/wiki/Mono_(software)">Mono</a>?)</li>
<li>Needs to have a wider or different scope than that of PHP &#8211; i.e. mostly web of the HTTP flavor &#8211; doesn&#8217;t necessarily have to do EVERYTHING out of the box, but flexibility is smiled upon</li>
<li>Obviously needs to have good official documentation and I would appreciate some liveliness on future developments &#8211; stalled &#8220;We&#8217;re fine this way&#8221; languages lose points</li>
<li>It&#8217;s surrounding tools and infrastructure aspects again, should be available and relatively easy to setup &#8211; if the best language in the world requires a <a href="http://en.wikipedia.org/wiki/High-performance_computing">HPC</a> infrastructure to get a &#8220;Hello world&#8221; running, it is most definitely out of the question <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Must provide drivers and ways to connect to loose infrastructure applications (db&#8217;s, web servers, graphic drivers, etc)</li>
<li>while syntax and paradigms are not the complete goal here, it shouldn&#8217;t be a completely brainfck&#8217;ed up language (yes yes a pun there <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</li>
<li>Having Enterprise written up, left, right and generally all over it is *NOT* a good sign , too <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<p>So, yeah, pretty wide criteria here, I might need to narrow the scope a bit, but it will serve me as a sort of checklist that I need to run against. While I will probably return to make the list better, I think I can start shopping around now <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Any words on this? Comments? Have you done a similar process and wish to share your thoughts?</p>
]]></content:encoded>
			<wfw:commentRss>http://david.ragingnexus.com/blog/2012/02/04/hello-world-by-any-other-name-part-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>&#8220;Hello World&#8221; by any other name &#8211; Part #1</title>
		<link>http://david.ragingnexus.com/blog/2012/02/03/hello-world-by-any-other-name-part-1/</link>
		<comments>http://david.ragingnexus.com/blog/2012/02/03/hello-world-by-any-other-name-part-1/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 23:00:46 +0000</pubDate>
		<dc:creator>David Ramalho</dc:creator>
				<category><![CDATA[A new language]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Series]]></category>

		<guid isPermaLink="false">http://david.ragingnexus.com/blog/?p=37976</guid>
		<description><![CDATA[PHP, it wasn&#8217;t the first, oh no,  I did the regular routine, academic for the most part, most long forgotten : Basic (o the Q, QW and Visual types), the Pascal ( the Turbo and the Delphi types), the ASM, the C, the C++ (I could point all the fun we had,but all I have are pointers to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://php.net/">PHP</a>, it wasn&#8217;t the first, oh no,  I did the regular routine, academic for the most part, most long forgotten :</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/BASIC">Basic</a> (o the Q, QW and <a href="http://en.wikipedia.org/wiki/Visual_Basic">Visual</a> types),</li>
<li>the <a href="http://en.wikipedia.org/wiki/Pascal_(programming_language)">Pascal</a> ( the <a href="http://en.wikipedia.org/wiki/Turbo_Pascal">Turbo</a> and the <a href="http://en.wikipedia.org/wiki/Object_Pascal">Delphi</a> types),</li>
<li>the <a href="http://en.wikipedia.org/wiki/Assembly_language">ASM</a>,</li>
<li>the <a href="http://en.wikipedia.org/wiki/C_(programming_language)">C</a>,</li>
<li>the <a href="http://en.wikipedia.org/wiki/C%2B%2B">C++</a> (I could <em>point</em> all the fun we had,but all I have are pointers to pointers and I left my deferring stick in my other pants),</li>
<li>the <a href="http://en.wikipedia.org/wiki/PL/SQL">PL/SQL</a>,</li>
<li>the <a href="http://en.wikipedia.org/wiki/ActionScript">ActionScript</a> (the bleargh, 3 and Flex oriented),</li>
<li><a href="http://en.wikipedia.org/wiki/Ruby_(programming_language)">Ruby</a> (oh my darling),</li>
<li><a href="http://en.wikipedia.org/wiki/Clipper_(programming_language)">Clipper</a>,</li>
<li><a href="http://en.wikipedia.org/wiki/JavaScript">Javascript</a></li>
<li><a href="http://en.wikipedia.org/wiki/Java_(programming_language)">Java</a></li>
</ul>
<p>But PHP as been my traveling companion, for no particular reason, from 3, to 4, to the very much welcomed 5 series. I enjoyed the wide support, the magnificent documentation, the easy entry level, it&#8217;s ubiquity, it&#8217;s presence in hosting services everywhere and having stick with it for so long I saw it evolve over time, bringing new constructs and features to the language (even if never doing away with all of it&#8217;s garbage) and while I can&#8217;t evaluate how fast or how intensively other languages changed, I was never truly let down by new PHP releases and what they brought along, or <a href="https://wiki.php.net/rfc">will continue to</a> bring.</p>
<p>But still, I had other experiences, Ruby still plagues my PHP experience with it&#8217;s 100% oop approach to everything, I love the fact that you can write</p>
<pre class="brush:ruby">"what, a string?".methods.sort</pre>
<p class="brush:ruby">and know exactly what you can do with a string, alphabetically ordered just for my viewing pleasure <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  , I loved how well the mixins worked and how gem&#8217;s coming in from everywhere and anywhere would just immediately mingle and turbocharge existing classes (yes, hello PHP 5.4 traits, I know you&#8217;re coming) . I used RoR &#8211; a bit after the &#8220;OMG It&#8217;s magic&#8221; hype went down, that sort of impossible-to-happen hype really brings out the irrational hate in me &#8211; and liked it a lot &#8211; I mean, when push came to shove, and complexity came into play, upgrading Rails became less and less easy / possible, without major rewrites (ohh 2.0,2.1,2.2 series), and it was always exciting too see Ruby apps panting with 400MB of used RAM while the equivalent PHP app was flying with 50MB .. but those are infra-structural details that have many strategies in how to overcome .</p>
<p class="brush:ruby">Anyway, while PHP will continue to play the lead role in my money making abilities, truth is I need to see what&#8217;s out there again, I have nagging friends who troll away with ease for my PHP choice of language, not that I put much faith into generalist trolling of the friendly kind, all languages have their ups and downs, and they&#8217;re not even bothering to use radically different languages, so I know it&#8217;s just PHP punkin&#8217; around <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  , but still, my synapses need the change, I need to experiment with different approaches and so, I need to learn a new language <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p class="brush:ruby">But what should I choose &#8230;&#8230;&#8230;.</p>
<p class="brush:ruby">(to be continued)</p>
]]></content:encoded>
			<wfw:commentRss>http://david.ragingnexus.com/blog/2012/02/03/hello-world-by-any-other-name-part-1/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Long time no write ..</title>
		<link>http://david.ragingnexus.com/blog/2012/01/22/long-time-no-write/</link>
		<comments>http://david.ragingnexus.com/blog/2012/01/22/long-time-no-write/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 21:45:48 +0000</pubDate>
		<dc:creator>David Ramalho</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://david.ragingnexus.com/blog/?p=37606</guid>
		<description><![CDATA[It&#8217;s not that I was once a writing waterfall, far from it, but the years have been rough on me, and as the roughness endures ( and I get used to it, not that there&#8217;s any low limit for roughness but still .. ) I feel, with growing intensity, that my thoughts when contained become more and more [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s not that I was once a writing waterfall, far from it, but the years have been rough on me, and as the roughness endures ( and I get used to it, not that there&#8217;s any low limit for roughness but still .. ) I feel, with growing intensity, that my thoughts when contained become more and more cryptic, even for myself, and that the not-so-simple act of taking what&#8217;s inside this egg shell of a cranium and normalizing the data for transmission is in fact helpful, because I&#8217;m forced to organize the thoughts, get some external, validating data, make some explicit relationships between groups of thoughts and generally WRITE IT DOWN in less space than two volumes of the <a href="http://en.wikipedia.org/wiki/Encyclopedia_Galactica">Encyclopedia Galactica</a> (but with infinite less information) IS A GOOD THING &#8482; FOR ME TO LEARN AND PRACTICE .</p>
<p>Anyway, my climb out of the hole continues and loose rocks continue to fall on me, forcing me to yet another change in course, so the roughness continues, but my need to bring my brain down to earth and make it more &#8230; productive, is increasing exponentially, it&#8217;s been 14 months since Child #2 came to be, and the time to do this is now.</p>
<p>This is also a post for myself, the information contained herein is close to non-existent, but it&#8217;s 2012, it&#8217;s time I have a blog, if you&#8217;re out there, thank you for being, don&#8217;t shy yourself out of pushing or kicking me in the back of my head, and let&#8217;s get this <a href="http://en.wikipedia.org/wiki/Attention_deficit_hyperactivity_disorder">A.D.D</a>. thing under control and see what kind of a human I am capable of being after all.</p>
<p>Onward, to business, life and community success and/or a big ball of fire <img src='http://david.ragingnexus.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://david.ragingnexus.com/blog/2012/01/22/long-time-no-write/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>On startups, equity and fairness ..</title>
		<link>http://david.ragingnexus.com/blog/2012/01/22/on-startups-equity-and-fairness/</link>
		<comments>http://david.ragingnexus.com/blog/2012/01/22/on-startups-equity-and-fairness/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 21:10:03 +0000</pubDate>
		<dc:creator>David Ramalho</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://david.ragingnexus.com/blog/?p=37601</guid>
		<description><![CDATA[A Joel Spolsky approach (original thread here) &#160; This is such a common question here and elsewhere that I will attempt to write the world&#8217;s most canonical answer to this question. Hopefully in the future when someone on answers.onstartups asks how to split up the ownership of their new company, you can simply point to this [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.joelonsoftware.com/">Joel Spolsky</a> approach (<a href="http://answers.onstartups.com/questions/6949/forming-a-new-software-startup-how-do-i-allocate-ownership-fairly">original thread here</a>)</p>
<p>&nbsp;</p>
<blockquote><p>This is such a common question here and elsewhere that I will attempt to write the world&#8217;s most canonical answer to this question. Hopefully in the future when someone on answers.onstartups asks how to split up the ownership of their new company, you can simply point to this answer.</p>
<p>The most important principle: <strong>Fairness, and the perception of fairness, is much more valuable than owning a large stake.</strong> Almost <em>everything</em> that can go wrong in a startup will go wrong, and one of the biggest things that can go wrong is huge, angry, shouting matches between the founders as to who worked harder, who owns more, whose idea was it anyway, etc. That is why I would always rather split a new company 50-50 with a friend than insist on owning 60% because &#8220;it was my idea,&#8221; or because &#8220;I was more experienced&#8221; or anything else. Why? Because if I split the company 60-40, <em>the company is going to fail when we argue ourselves to death.</em> And if you just say, &#8220;to heck with it, we can NEVER figure out what the correct split is, so let&#8217;s just be pals and go 50-50,&#8221; you&#8217;ll stay friends and the company will survive.</p>
<p>Thus, I present you with <strong>Joel&#8217;s Totally Fair Method to Divide Up The Ownership of Any Startup.</strong></p>
<p>For simplicity sake, I&#8217;m going to start by assuming that you are not going to raise venture capital and you are not going to have outside investors. Later, I&#8217;ll explain how to deal with venture capital, but for now assume no investors.</p>
<p>Also for simplicity sake, let&#8217;s temporarily assume that the founders all quit their jobs and start working on the new company full time at the same time. Later, I&#8217;ll explain how to deal with founders who do not start at the same time.</p>
<p>Here&#8217;s the principle. As your company grows, you tend to add people in &#8220;layers&#8221;.</p>
<ol>
<li>The top layer is the first founder or founders. There may be 1, 2, 3, or more of you, but you all start working about the same time, and you all take the same risk&#8230; quitting your jobs to go work for a new and unproven company.</li>
<li>The second layer is the first real employees. By the time you hire this layer, you&#8217;ve got cash coming in from somewhere (investors or customers&#8211;doesn&#8217;t matter). These people didn&#8217;t take as much risk because they got a salary from day one, and honestly, they didn&#8217;t <em>start</em> the company, they <em>joined</em> it as a job.</li>
<li>The third layer are later employees. By the time they joined the company, it was going pretty well.</li>
</ol>
<p>For many companies, each &#8220;layer&#8221; will be approximately one year long. By the time your company is big enough to sell to Google or go public or whatever, you probably have about 6 layers: the founders and roughly five layers of employees. Each successive layer is larger. There might be two founders, five early employees in layer 2, 25 employees in layer 3, and 200 employees in layer 4. <strong>The later layers took less risk.</strong></p>
<p>OK, now here&#8217;s how you use that information:</p>
<p><strong>The founders should end up with about 50% of the company, total. Each of the next five layers should end up with about 10% of the company, split equally among everyone in the layer.</strong></p>
<p>Example:</p>
<ul>
<li>Two founders start the company. They each take 2500 shares. There are 5000 shares outstanding, so each founder owns half.</li>
<li>They hire four employees in year one. These four employees each take 250 shares. There are 6000 shares outstanding.</li>
<li>They hire another 20 employees in year two. Each one takes 50 shares. They get fewer shares because they took less risk, and they get 50 shares because we&#8217;re giving each layer 1000 shares to divide up.</li>
<li>By the time the company has six layers, you have given out 10,000 shares. Each founder ends up owning 25%. Each employee layer owns 10% collectively. The earliest employees who took the most risk own the most shares.</li>
</ul>
<p>Make sense? You don&#8217;t have to follow this exact formula but the basic idea is that you set up &#8220;stripes&#8221; of seniority, where the top stripe took the most risk and the bottom stripe took the least, and each &#8220;stripe&#8221; shares an equal number of shares, which magically gives employees more shares for joining early.</p>
<p>A slightly different way to use the stripes is for seniority. Your top stripe is the founders, below that you reserve a whole stripe for the fancy CEO that you recruited who insisted on owning 10%, the stripe below that is for the early employees and also the top managers, etc. However you organize the stripes, it should be simple and clear and easy to understand and not prone to arguments.</p>
<p>Now that we have a fair system set out, there is one important principle. <strong>You must have vesting.</strong>Preferably 4 or 5 years. Nobody earns their shares until they&#8217;ve stayed with the company for a year. A good vesting schedule is 25% in the first year, 2% each additional month. Otherwise your co-founder is going to quit after three weeks and show up, 7 years later, claiming he owns 25% of the company. It<strong>never</strong> makes sense to give anyone equity without vesting. This is an extremely common mistake and it&#8217;s terrible when it happens. You have these companies where 3 cofounders have been working day and night for five years, and then you discover there&#8217;s some jerk that quit after two weeks and he still thinks he owns 25% of the company for his two weeks of work.</p>
<p>Now, let me clear up some little things that often complicate the picture.</p>
<p><strong>What happens if you raise an investment?</strong> The investment can come from anywhere&#8230; an angel, a VC, or someone&#8217;s dad. Basically, the answer is simple: the investment just dilutes everyone.</p>
<p>Using the example from above&#8230; we&#8217;re two founders, we gave ourselves 2500 shares each, so we each own 50%, and now we go to a VC and he offers to give us a million dollars in exchange for 1/3rd of the company.</p>
<p>1/3rd of the company is 2500 shares. So you make another 2500 shares and give them to the VC. He owns 1/3rd and you each own 1/3rd. That&#8217;s all there is to it.</p>
<p><strong>What happens if not all the early employees need to take a salary?</strong> A lot of times you have one founder who has a little bit of money saved up, so she decides to go without a salary for a while, while the other founder, who needs the money, takes a salary. It is tempting just to give the founder who went without pay more shares to make up for it. The trouble is that you can never figure out the right amount of shares to give. This is just going to cause conflicts. <strong>Don&#8217;t resolve these problems with shares.</strong>Instead, just keep a ledger of how much you paid each of the founders, and if someone goes without salary, give them an IOU. Later, when you have money, you&#8217;ll pay them back in cash. In a few years when the money comes rolling in, or even after the first VC investment, you can pay back each founder so that each founder has taken exactly the same amount of salary from the company.</p>
<p><strong>Shouldn&#8217;t I get more equity because it was my idea?</strong> No. Ideas are pretty much worthless. It is not worth the arguments it would cause to pay someone in equity for an idea. If one of you had the idea but you both quit your jobs and started working at the same time, you should both get the same amount of equity. Working on the company is what causes value, not thinking up some crazy invention in the shower.</p>
<p><strong>What if one of the founders doesn&#8217;t work full time on the company?</strong> Then they&#8217;re not a founder. In my book nobody who is not working full time counts as a founder. Anyone who holds on to their day job gets a salary or IOUs, but not equity. If they hang onto that day job until the VC puts in funding and then comes to work for the company full time, they didn&#8217;t take nearly as much risk and they deserve to receive equity along with the first layer of employees.</p>
<p><strong>What if someone contributes equipment or other valuable goods (patents, domain names, etc) to the company?</strong> Great. Pay for that in cash or IOUs, not shares. Figure out the right price for that computer they brought with them, or their clever word-processing patent, and give them an IOU to be paid off when you&#8217;re doing well. Trying to buy things with equity at this early stage just creates inequality, arguments, and unfairness.</p>
<p><strong>How much should the investors own vs. the founders and employees?</strong> That depends on market conditions. Realistically, if the investors end up owning more than 50%, the founders are going to feel like sharecroppers and lose motivation, so good investors don&#8217;t get greedy that way. If the company can bootstrap without investors, the founders and employees might end up owning 100% of the company. Interestingly enough, the pressure is pretty strong to keep things balanced between investors and founders/employees; an old rule of thumb was that at IPO time (when you had hired all the employees and raised as much money as you were going to raise) the investors would have 50% and the founders/employees would have 50%, but with hot Internet companies in 2011, investors may end up owning a lot less than 50%.</p>
<p><strong>Conclusion</strong></p>
<p>There is no one-size-fits-all solution to this problem, but anything you can do to make it simple, transparent, straightforward, and, above-all, fair, will make your company much more likely to be successful.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://david.ragingnexus.com/blog/2012/01/22/on-startups-equity-and-fairness/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

