<?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>Agile Hacking &#187; gabriel</title>
	<atom:link href="http://gabrielfalcao.com/author/gabriel/feed/" rel="self" type="application/rss+xml" />
	<link>http://gabrielfalcao.com</link>
	<description>The GNUs of mine, and its green builds</description>
	<lastBuildDate>Tue, 08 Jun 2010 13:22:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Eclipse + Java + UML + RESTful, the real silver bullet</title>
		<link>http://gabrielfalcao.com/2009/04/01/eclipsejava-much-better-aprils-fool/</link>
		<comments>http://gabrielfalcao.com/2009/04/01/eclipsejava-much-better-aprils-fool/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 11:30:23 +0000</pubDate>
		<dc:creator>gabriel</dc:creator>
				<category><![CDATA[not true]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://gabrielfalcao.com/?p=21</guid>
		<description><![CDATA[Some days ago I was just thinking about all these agile bullshit. I mean, no matter if you do TDD or not, if you do care about continuous integration, this is all a real lose of time. When thinking about shipping good software, the best combination is, indeed, quite simple: Use a powerful IDE. You [...]]]></description>
			<content:encoded><![CDATA[<p>Some days ago I was just thinking about <a href="http://en.wikipedia.org/wiki/Agile_software_development">all</a> <a href="http://en.wikipedia.org/wiki/Scrum_(development)">these</a> <a href="http://en.wikipedia.org/wiki/You_Ain%27t_Gonna_Need_It">agile</a> <a href="http://en.wikipedia.org/wiki/Continuous_Integration">bullshit</a>.</p>
<p>I mean, no matter if you do TDD or not, if you do care about continuous integration, this is all a real lose of time.</p>
<p>When thinking about <a href="http://en.wikipedia.org/wiki/April_Fools%27_Day">shipping</a> good software, the best combination is, indeed, quite simple:</p>
<ol>
<li>Use a powerful IDE. You as developer don&#8217;t even need to now how the things work, let the IDE do everything for you. <a href="http://en.wikipedia.org/wiki/Eclipse_(software)">Eclipse</a> is <a href="http://en.wikipedia.org/wiki/Disgust">the one you really need</a>.</li>
<li>Use a well known, certified and reliable language. Why using dynamic languages ? You don&#8217;t need to be agile, you need to ship something with trust value, so build it with java.</li>
<li>Don&#8217;t code, use wizards and boilerplate generators. Once again, what is better, easy money or thousands of hours hacking things from scratch ? You can use UML-based code generators, and super-duper eclipse plugins to generate your code. Forget all stress and make your project manager happy.</li>
<li>Prepare yourself for possible future needs. To build a real scallable application you must ALWAYS use a complex <a href="http://en.wikipedia.org/wiki/Service-oriented_architecture">SOA</a> approach, so you can separate business-rules in each module and distribute in many servers. A RESTful approach is even better. <a href="http://en.wikipedia.org/wiki/April_Fools%27_Day">Forget everything</a> about agile software development, your customer doesn&#8217;t need a term, he needs a full-featured project.</li>
</ol>
<p>To but it bluntly, <a href="http://en.wikipedia.org/wiki/Fred_Brooks">Fred Brooks</a> was totally wrong in his book <a href="http://en.wikipedia.org/wiki/The_Mythical_Man-Month">&#8220;The Mythical Man-Month&#8221;</a>, about &#8220;no silver bullet&#8221;, the steps below are, indeed, a silver bullet and you can see proofs of this sentence in the &#8220;Martin Flawler&#8217;s&#8221; <a href="http://en.wikipedia.org/wiki/April_Fools%27_Day">article.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielfalcao.com/2009/04/01/eclipsejava-much-better-aprils-fool/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Geeks from venus eat geeks from mars at breakfast</title>
		<link>http://gabrielfalcao.com/2009/01/31/geeks-from-venus-eat-geeks-from-mars-at-breakfast/</link>
		<comments>http://gabrielfalcao.com/2009/01/31/geeks-from-venus-eat-geeks-from-mars-at-breakfast/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 20:36:45 +0000</pubDate>
		<dc:creator>gabriel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gabrielfalcao.com/?p=17</guid>
		<description><![CDATA[Many of my friends (maybe, so many) are geeks, but i&#8217;ve recently noticed that they are forked in two kinds thus I found completely fair to name as &#8220;Hedonistic Geeks&#8221; and &#8220;Parnasian Geeks&#8221;. Therefore, the hedonistic ones can also be labeled as &#8220;geeks from mars&#8221;, thus makes the parnasian ones from &#8220;venus&#8221;. The hedonistic geeks [...]]]></description>
			<content:encoded><![CDATA[<p>Many of my friends (maybe, so many) are geeks, but i&#8217;ve recently noticed that they are forked in two kinds thus I found completely fair to name as &#8220;Hedonistic Geeks&#8221; and &#8220;Parnasian Geeks&#8221;. Therefore, the hedonistic ones can also be labeled as &#8220;geeks from mars&#8221;, thus makes the parnasian ones from &#8220;venus&#8221;.</p>
<h1>The hedonistic geeks</h1>
<p>They keep doing computing stuff every single day of their lives, but it&#8217;s kinda enough for them. The rest of the days (vacation and weekends), are free day in which they feel the <strong>social duty</strong> of keeping at least a bit away from their computers.</p>
<p>Most of them have videogames such as Wii and XBOX, and it works like a &#8220;more social life&#8221;, they use Macbooks, and do use softwares such as iPhoto, Safari, Quicksilver and so on. Oh&#8230; yeah, I almost forgot, they use to have an iphone too.</p>
<p>Putting bluntly, hedonistic geeks can define themselves as geeks or not, because they don&#8217;t always accept their geekness to everybody. They are too cool for doing programming, hacking and stuff through the free days.</p>
<h1>The parnasian geeks</h1>
<p>Parnasian geeks love what they do, love what they are good when doing. They do programming and hacking for work, and keep doing it at the free time for fun.</p>
<p>They prefer Thinkpad as macbook, EMACS or VIM instead of Coda or Textmate. They dont have videogames, because they just can&#8217;t waste their hacking time playing videogames.</p>
<p>Instead, they create softwares suck as linux kernel, GNOME apps, python <strong>true stuff</strong> and so on.</p>
<p>Parnasian geeks are romantic with their geekness, and if they decide to don&#8217;t geeking in the free time, will not be playing videogames, but looking for people to have a real social life, to dance, to make the difference. And even to look for a partner to get married and keep their specimen in this world.</p>
<p>To be continued &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielfalcao.com/2009/01/31/geeks-from-venus-eat-geeks-from-mars-at-breakfast/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Hosting and deploying django apps on Dreamhost</title>
		<link>http://gabrielfalcao.com/2008/12/02/hosting-and-deploying-django-apps-on-dreamhost/</link>
		<comments>http://gabrielfalcao.com/2008/12/02/hosting-and-deploying-django-apps-on-dreamhost/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 12:12:00 +0000</pubDate>
		<dc:creator>gabriel</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://gabrielfalcao.com/?p=10</guid>
		<description><![CDATA[About two years ago, I&#8217;ve signed up to Dreamhost. My goals were and still being to host my personal projects, websites and so on. Once I am a Django web developer, one of my first actions were to create a django deployment setup, good and flexible enough. The time passed on and have been got [...]]]></description>
			<content:encoded><![CDATA[<p>About two years ago, I&#8217;ve signed up to Dreamhost. My goals were and still being to host my personal projects, websites and so on.</p>
<p>Once I am a <a href="http://www.djangoproject.com/">Django</a> web developer, one of my first actions were to create a django deployment setup, good and flexible enough. The time passed on and have been got new experiences, and the best desision, i think, was to create a new python sandbox, i mean, a customized python environment.</p>
<h2>How is it possible ?</h2>
<p>Simple! Just compiling python from scratch, with a fake root path (a prefix)</p>
<p>Anyway, the deployment process involves more variables, like setting both htaccess and dispatch files for each project, installing some basic modules such <a href="http://www.pythonware.com/products/pil/">PIL</a> and <a href="http://sourceforge.net/projects/mysql-python/">MySQL</a> and so on&#8230;</p>
<p>So, i ever wanted to create a super duper script to do all that &#8220;dirty&#8221; work. And i did it last weekend!</p>
<p>I were working ia a freelance job and decided to create a subdomain to host test instance of them.</p>
<p>A new sandbox, ready to make my tests to create the super script.</p>
<p>So folks, i present you the brand new: <strong>django_dreamhost.sh</strong> <img src='http://gabrielfalcao.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>It&#8217;s composed by 4 files:</p>
<ul>
<li><strong>django_dreamhost.sh</strong> itself</li>
<li><strong>djangify.template</strong> &#8211; a template with will become a script to setup new projects (htaccess and dipatch files, for instance)</li>
<li><strong>htaccess.template</strong> &#8211; a template that will become the .htaccess of each project of yours</li>
<li><strong>dispatch.template</strong> &#8211; will become the dispatch.fcgi for your projects as well</li>
</ul>
<p>&#8220;But do i need to download all them ?&#8221;, of course NO!</p>
<p>You just download the main script, and he will do all do hard work!</p>
<p>&#8220;I wanna contribute, modify or do anything with that script, can I ?&#8221;, of course yes! All parts of the script are GPLv2 +</p>
<p>You can also always get the development version through <a href="http://git.or.cz/">git</a> repository:</p>
<p><strong>git clone http://git.nacaolivre.org/django_dreamhost</strong></p>
<p>Don&#8217;t want to get all code, just the script ?</p>
<p>Download it at: <a href="http://gnu.gabrielfalcao.com/django_dreamhost/django_dreamhost.sh"><strong>http://gnu.gabrielfalcao.com/django_dreamhost/django_dreamhost.sh</strong></a></p>
<h2><strong>What does that script do ?</strong></h2>
<p>He will do the following steps:</p>
<ol>
<li>Download Python, Django, Python-setuptools, Python-fastcgi to a directory called downloads</li>
<li>Extract all</li>
<li>Create a local root at $HOME/.myroot and the subdirs etc and usr</li>
<li>Set the new bin path to you global path through bashrc and bash_profile</li>
<li>Compile and install python to the new prefix: $HOME/.myroot/usr</li>
<li>Install Django, rename django-admin.py to django-admin</li>
<li>Setup your bash-completion to support django scripts</li>
<li>Install the python modules above with the new python</li>
<li>Install PIL and MYSQL modules through easy_install (setuptools)</li>
<li>Download the template scripts to $HOME/projects/script_templates</li>
<li>Replace the custom tags in templates</li>
<li>Move the djangify.template to the new bin PATH: $HOME/usr/bin and give it execution permission</li>
</ol>
<p>I thinks it&#8217;s all.</p>
<p>I currently use <a href="http://www.nongnu.org/fab/">Fabric</a> to help on deployment, and i have a quite smart basic setup for it to work with this dreamhost django environment, but it will be approached in the next blog post <img src='http://gabrielfalcao.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>See you, folks!</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielfalcao.com/2008/12/02/hosting-and-deploying-django-apps-on-dreamhost/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Graduation done!</title>
		<link>http://gabrielfalcao.com/2008/07/12/graduation-done/</link>
		<comments>http://gabrielfalcao.com/2008/07/12/graduation-done/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 22:19:51 +0000</pubDate>
		<dc:creator>gabriel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gabrielfalcao.com/?p=7</guid>
		<description><![CDATA[Today i&#8217;ve reached my first graduation. It&#8217;s funny to think that i&#8217;ve made a friend during the course, but he wasn&#8217;t from my class, actually, he done another course, but our classes joined to some lessons. The funny fact is a long history&#8230;. The government of Brazil have a project who support students with &#8220;high [...]]]></description>
			<content:encoded><![CDATA[<p>Today i&#8217;ve reached my first graduation.</p>
<p>It&#8217;s funny to think that i&#8217;ve made a friend during the course, but he wasn&#8217;t from my class, actually, he done another course, but our classes joined to some lessons. The funny fact is a long history&#8230;.</p>
<p>The government of Brazil have a project who support students with &#8220;high scores&#8221;, paying private universities, this is really awesome and give great oportunities to people who could not get it by themself.</p>
<p>The thing work like this: You make a test, based on your score, you can choose a range of different courses and universities.</p>
<p>So, this dude, Glauco, choose as first option the course of &#8220;Free Software Technology&#8221; and as second option he choose &#8220;Web development technology&#8221;,  and I choose the inverse: Web developement as first and Free Software as second option.</p>
<p>The funny fact in all this is because we got the inverse of first options. So if nowadays i know, develop and give my blood trying to help free softwares, maybe Glauco should be in my place, and I in yours, but i am so happy to this haven&#8217;t happened <img src='http://gabrielfalcao.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielfalcao.com/2008/07/12/graduation-done/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MOSV</title>
		<link>http://gabrielfalcao.com/2008/07/08/mosv/</link>
		<comments>http://gabrielfalcao.com/2008/07/08/mosv/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 21:08:32 +0000</pubDate>
		<dc:creator>gabriel</dc:creator>
				<category><![CDATA[Hacking]]></category>

		<guid isPermaLink="false">http://gabrielfalcao.com/?p=6</guid>
		<description><![CDATA[There is a group of free software here in Belo Horizonte/MG named Minas Livre in which we often made hack parties. Last weekend we done a 48h hack party, with pit stops to sleep (only). During the conversations, a subject was brought: CSV. A dude said that CSV must be considerated only when using commas, [...]]]></description>
			<content:encoded><![CDATA[<p>There is a group of free software here in Belo Horizo<span style="color: #000000;"><span style="font-family: ">nte/MG named Minas Livre in which we often made hack parties.</span></span> Last weekend we done a 48h hack party, with pit stops to sleep (only). During the conversations, a subject was brought: CSV.</p>
<p>A dude said that CSV must be considerated only when using commas, so if you use a semi-colon would be SCSV (semi-colon separated values).</p>
<p>It was going too boring when i thought: Off course, don&#8217;t fight for little stuff. Use MOSV (<a href="http://en.wikipedia.org/wiki/C_memory_model">Memory offset </a>separated values).It is simple!</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielfalcao.com/2008/07/08/mosv/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New blog!</title>
		<link>http://gabrielfalcao.com/2008/06/29/new-blog/</link>
		<comments>http://gabrielfalcao.com/2008/06/29/new-blog/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 20:41:00 +0000</pubDate>
		<dc:creator>gabriel</dc:creator>
				<category><![CDATA[GNU]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GObject]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://gabrielfalcao.com/?p=3</guid>
		<description><![CDATA[i&#8217;m proud to present my brand new blog! It&#8217;s awesome to be able to publish hackerish stuff like GObject, Python, GNOME, and anything else related to coding and freedom. For now that is all!]]></description>
			<content:encoded><![CDATA[<p>i&#8217;m proud to present my brand new blog!</p>
<p>It&#8217;s awesome to be able to publish hackerish stuff like GObject, Python, GNOME, and anything else related to coding and freedom.</p>
<p>For now that is all!</p>
]]></content:encoded>
			<wfw:commentRss>http://gabrielfalcao.com/2008/06/29/new-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

