<?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>Dérico Filho &#187; Dérico Filho</title>
	<atom:link href="http://blog.cirello.org/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.cirello.org</link>
	<description>Future - Technology - Programming</description>
	<lastBuildDate>Fri, 30 Jul 2010 05:25:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Web Development Team Process HOWTO</title>
		<link>http://blog.cirello.org/2010/07/29/web-development-team-process-howto/</link>
		<comments>http://blog.cirello.org/2010/07/29/web-development-team-process-howto/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 05:23:09 +0000</pubDate>
		<dc:creator>Dérico Filho</dc:creator>
				<category><![CDATA[Chronicles]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[centralised]]></category>
		<category><![CDATA[conway]]></category>
		<category><![CDATA[decentralised]]></category>
		<category><![CDATA[distributed]]></category>
		<category><![CDATA[man-month]]></category>
		<category><![CDATA[mythical]]></category>
		<category><![CDATA[structure]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://blog.cirello.org/?p=177</guid>
		<description><![CDATA[Foreword This document aims to help you understand how technologies, process and people are integrated in an effective web development team. I will not cover motivational techniques, or leaders teachings among the whole history that could help you to manager &#8230; <a href="http://blog.cirello.org/2010/07/29/web-development-team-process-howto/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
<h1>Foreword</h1>
<p>This document aims to help you understand how technologies, process and people are integrated in an effective web development team. I will not cover motivational techniques, or leaders teachings among the whole history that could help you to manager your team better.</p>
<p>Here I am more interested in structures, workflows, tools and concepts. A naïve try to merge many sparse modern concepts and tools.</p>
<p>This is an amateur work, the first try of many &#8211; and I am very open to criticism, suggestions and commentaries.</p>
<p>In the first part, I will cover some theoretical concepts.</p>
<p>In the second part, I will use these concepts and build practical ideas.</p>
<p><span id="more-177"></span></p>
<p>
</p>
<h1>Section I &#8211; Sorting Professionals.</h1>
<p>Whatever the workflow adopted, whatever the tools chosen and whatever the environment is set &#8211; people are the entities that make the team machine work.</p>
<p>As a machine, there are different parts which are capable of doing each thing needed in the whole scenario.</p>
<p>Choosing and incorporating the appropriate professionals is fundamental to make this team work, and although it is obvious yet this is often neglected due to budget constraints or some sort of Cowboy Coding privileges.</p>
<p>Two basics types of sorting immediately arises: by competence and by expertise. Let us see each one of them.</p>
<p>By competence, in all branches of softwarecraft:</p>
<p>- <em>Apprentices</em> &#8211;  has begun in the craft, usually is learning the first language and tries to solve the problems through brute-force only with no understanding of choices and consequences. Demands a lot of attention and support in order to be productive. May turn out to be productivity suckers of another people, a Journeyman or Master who would be coaching and supervising him on the task being developed.</p>
<p>- <em>Journeyman </em>- is experienced and demands little supervision. When one achieves this point usually has begun to specialise in some segment of the craft. One&#8217;s skills set are robust and getting bigger. They are not yet able to cross really complicated problems among several different segments of the craft. For instance, one team of solely journeymen would have great difficulties to develop an Image server integrated into a HTTP server, storing files in a tailor-made filesystem on the top of a XFS partition. And yes, this has been done, in Facebook. (<a href="http://www.facebook.com/note.php?note_id=76191543919">http://www.facebook.com/note.php?note_id=76191543919</a>)</p>
<p>- <em>Master </em>- I borrow the description of <em>The Pragmatic Programmer: From Journeyman to Master:</em></p>
<ul>
<li>Early Adopter / Fast Adapter</li>
<li>Inquisitive</li>
<li>Critical Thinker</li>
<li>Realistic</li>
<li>Jack-of-all-trades &#8211; in my words, consummated cross-skills thinker and inventor.</li>
</ul>
<p><br class="spacer_" /></p>
<p>By expertise, in Website Development:</p>
<ul>
<li>Web Designers </li>
<li>Usability Engineers</li>
<li>Interface Coders</li>
<li>Business Logic Engineers</li>
<li>Database Developers</li>
<li>Testers</li>
</ul>
<p>I will not explain these roles, but their names are quite self-explanatory and the most important concept of all is: the maturity of your team and project will expose the need for each kind of these people.</p>
<p>The most common composition I&#8217;ve seen is: Web Designer, Interface Coder and Business Logic Engineer. Coincidently, it fits in the MVC structure, which shall be approached later.</p>
<p>I shall name this composition <em>Standard Web Development Team.</em></p>
<p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cirello.org/2010/07/29/web-development-team-process-howto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SysAdm Suicidal Letter</title>
		<link>http://blog.cirello.org/2010/07/23/sysadm-suicidal-letter/</link>
		<comments>http://blog.cirello.org/2010/07/23/sysadm-suicidal-letter/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 22:38:42 +0000</pubDate>
		<dc:creator>Dérico Filho</dc:creator>
				<category><![CDATA[Chronicles]]></category>

		<guid isPermaLink="false">http://blog.cirello.org/2010/07/23/sysadm-suicidal-letter/</guid>
		<description><![CDATA[# !/bin/bash echo &#8220;&#8221; &#038;> /dev/null make no-sense life; exit 1;]]></description>
			<content:encoded><![CDATA[<p>#	!/bin/bash<br />
echo &#8220;&#8221; &#038;> /dev/null<br />
make no-sense life;<br />
exit 1;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cirello.org/2010/07/23/sysadm-suicidal-letter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hijacked</title>
		<link>http://blog.cirello.org/2010/07/12/hijacked/</link>
		<comments>http://blog.cirello.org/2010/07/12/hijacked/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 05:42:01 +0000</pubDate>
		<dc:creator>Dérico Filho</dc:creator>
				<category><![CDATA[Chronicles]]></category>

		<guid isPermaLink="false">http://blog.cirello.org/2010/07/12/hijacked/</guid>
		<description><![CDATA[Hijacked &#8211; but just has been released.]]></description>
			<content:encoded><![CDATA[<p>Hijacked &#8211; but just has been released.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cirello.org/2010/07/12/hijacked/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Se você quer saber&#8230;</title>
		<link>http://blog.cirello.org/2010/06/24/se-voce-quer-saber/</link>
		<comments>http://blog.cirello.org/2010/06/24/se-voce-quer-saber/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 05:23:55 +0000</pubDate>
		<dc:creator>Dérico Filho</dc:creator>
				<category><![CDATA[Chronicles]]></category>

		<guid isPermaLink="false">http://blog.cirello.org/2010/06/24/se-voce-quer-saber/</guid>
		<description><![CDATA[Eu sou quântico, no sentido de Heisenberg da palavra. Caso se determine o que quero dizer, não é possível saber o que estou pensando. Caso se determine o que estou pensando, não é possível saber pelas palavras. Por via de &#8230; <a href="http://blog.cirello.org/2010/06/24/se-voce-quer-saber/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Eu sou quântico, no sentido de Heisenberg da palavra. Caso se determine o que quero dizer, não é possível saber o que estou pensando. Caso se determine o que estou pensando, não é possível saber pelas palavras.</p>
<p>Por via de regra &#8220;don&#8217;t take anything for granted&#8221; comigo.</p>
<p>Assim, é muitíssimo provável que esteja interessado, que queira viajar, que vá para o Rock ou que vá atrair você. Mas ao observar estes eventos você nunca terá certeza.</p>
<p>Se você perceber bom humor e brincadeira, não estranhe se de repente desaparecer. É quântico, quando você observa o bom humor, ele não está lá.</p>
<p>Será que eu escrevi para você de verdade? Ou quando você me perguntar, eu não estarei lá para responder?</p>
<p>Humn&#8230; Adoro física quântica. Sinto-me uma partícula de Higgs&#8230;</p>
<p>P.S.: e por falar em partícula de Higgs, estou com Richard Dawkins, embora não duvide de sua sinceridade, você está halucinando!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cirello.org/2010/06/24/se-voce-quer-saber/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The sweetness role in women&#8217;s beauty</title>
		<link>http://blog.cirello.org/2010/06/03/the-sweetness-role-in-womens-beauty/</link>
		<comments>http://blog.cirello.org/2010/06/03/the-sweetness-role-in-womens-beauty/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 03:47:58 +0000</pubDate>
		<dc:creator>Dérico Filho</dc:creator>
				<category><![CDATA[Chronicles]]></category>

		<guid isPermaLink="false">http://blog.cirello.org/2010/06/03/the-sweetness-role-in-womens-beauty/</guid>
		<description><![CDATA[Kind, gentle, sweet, affable, joyful &#8211; these are all traits of personality, yet they play an important role in a woman&#8217;s beauty. Should you see two girls with equal physical traits of beauty, the sweeter one will be prettier. Although &#8230; <a href="http://blog.cirello.org/2010/06/03/the-sweetness-role-in-womens-beauty/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Kind, gentle, sweet, affable, joyful &#8211; these are all traits of personality, yet they play an important role in a woman&#8217;s beauty.</p>
<p>Should you see two girls with equal physical traits of beauty, the sweeter one will be prettier. Although I would not be any expert in such affairs, I do have one possible and likely explanation.</p>
<p>Sweet people are more relaxed, in almost every aspect of life. They are less bounded by imposed standards of dress code, behaviour, or social life style.</p>
<p>Should they feel to dress funnier one day, they will do &#8211; and if they mess up, they just do not care, and their faces, expressing happiness, are going  make you to stare in the face, pretty and relaxed instead of looking the wrong dressing.</p>
<p>The sweetness is capable of neutralising such defects.</p>
<p>These personality traits above described are admirable shades of outer beauty. They are of very special kind: the only-nice-people-may-have kind. </p>
<p>I have had the opportunity to meet such a girl. So sweet and lovely.</p>
<p>She is beautiful, and her kindness makes her better. </p>
<p>One day, I  asked her: &#8220;Why are you so beautiful?&#8221;</p>
<p>She paused and answered she was not beautiful, and argued that her friends were perfect, bodily speaking.</p>
<p>They may have better bodies, yes&#8230; Would this make them more beautiful than her? No.</p>
<p>It is a crazy opinion, but it is my honest opinion. </p>
<p>Kammy Te Kanawa, you are beautiful. And you should know that.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cirello.org/2010/06/03/the-sweetness-role-in-womens-beauty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aula de IPBD de 6a. na 2a. Aula</title>
		<link>http://blog.cirello.org/2009/04/17/aula-de-ipbd-de-6a-na-2a-aula/</link>
		<comments>http://blog.cirello.org/2009/04/17/aula-de-ipbd-de-6a-na-2a-aula/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 01:03:00 +0000</pubDate>
		<dc:creator>Dérico Filho</dc:creator>
				<category><![CDATA[Chronicles]]></category>
		<category><![CDATA[IBTA]]></category>

		<guid isPermaLink="false">http://blog.cirello.org/2009/04/17/aula-de-ipbd-de-6a-na-2a-aula/</guid>
		<description><![CDATA[Aula em português, slides em inglês. Peças de hardware para mostrar como funciona um SGBDR (RDBMS). Métodos poucos ortodoxos de aula. Mas não é exatamente da aula que eu quero falar. Quero falar sobre a turma. Veja, eu só assisto &#8230; <a href="http://blog.cirello.org/2009/04/17/aula-de-ipbd-de-6a-na-2a-aula/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Aula em português, slides em inglês.<br />
Peças de hardware para mostrar como funciona um SGBDR (RDBMS).</p>
<p>Métodos poucos ortodoxos de aula.</p>
<p>Mas não é exatamente da aula que eu quero falar. Quero falar sobre a turma.</p>
<p>Veja, eu só assisto aula com a turma de IPBD uma vez por semana, as demais aulas é com outra turma. Tenho pouco tempo para me integrar com eles&#8230;</p>
<p>Eu já comecei faculdade algumas vezes, por via de regra as turmas de 1o. Ano/Semestre são bem bagunceiras.</p>
<p>Curiosamente esta turma de IPBD, que é de 1o. Semestre, é quieta, calminha, interessada&#8230;</p>
<p>Mas acho que tem mais a ver com o professor, que é de dar sono, que dá uma materia mobral e chata, não tem como se empolgar e fazer algazarra&#8230;</p>
<p>Minha soneca de sexta a noite agradece.</p>
<p>A matéria é ótima, pena que já tive antes&#8230; Se o professor desse algo mais divertido como Conceitos Fundamentais de Tuning de BD, aposto que o clima seria outro.</p>
<p>Bom, a aula já tá acabando, e o &#8220;feriadão&#8221; está aí.</p>
<p>Meta de amanhã: zerar 123i.com.br</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cirello.org/2009/04/17/aula-de-ipbd-de-6a-na-2a-aula/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dez coisas para se fazer no feriado da consciência negra.</title>
		<link>http://blog.cirello.org/2008/11/20/dez-coisas-para-se-fazer-no-feriado-da-consciencia-negra/</link>
		<comments>http://blog.cirello.org/2008/11/20/dez-coisas-para-se-fazer-no-feriado-da-consciencia-negra/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 16:13:03 +0000</pubDate>
		<dc:creator>Dérico Filho</dc:creator>
				<category><![CDATA[Chronicles]]></category>

		<guid isPermaLink="false">http://blog.cirello.org/2008/11/20/dez-coisas-para-se-fazer-no-feriado-da-consciencia-negra/</guid>
		<description><![CDATA[Eu particularmente não gosto de feriados de terça-feira e quinta-feira, pois eu não emendo no final de semana, e não consigo aproveitar o descanso a mais. Como o dia é feriado, e sempre bate um bode de trabalhar no feriado, &#8230; <a href="http://blog.cirello.org/2008/11/20/dez-coisas-para-se-fazer-no-feriado-da-consciencia-negra/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p> Eu particularmente não gosto de feriados de terça-feira e quinta-feira, pois eu não emendo no final de semana, e não consigo aproveitar o descanso a mais.</p>
<p>Como o dia é feriado, e sempre bate um bode de trabalhar no feriado, fiz uma lista de cinco coisas para se fazer nestes feriados de um dia.</p>
<p>  1. Visitar ou ligar para um amigo que você não vê faz tempo.<br />
  2. Passear no parque ou na praia (se você mora na praia).<br />
  3. Assistir a um DVD que você esqueceu no fundo da gaveta ou na estante.<br />
  4. Ficar algumas horas no StumbleUpon<br />
  5. Jogar algum jogo de tabuleiro, não video-game.</p>
<p>Agora com certeza algumas coisas para não se fazer no feriado</p>
<p>  1. Óbvio, trabalhar, mesmo que você tenha trabalho atrasado.<br />
     Aproveite a folga para recarregar as baterias.<br />
  2. Jogar video-game.<br />
  3. Ir ao shopping (coisa típica de paulistano)<br />
  4. Fazer compras<br />
  5. Ir almoçar fora num lugar bem gordo.</p>
<p>Bom, parece que o meu feriado vai ser parado mesmo&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cirello.org/2008/11/20/dez-coisas-para-se-fazer-no-feriado-da-consciencia-negra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nó de gravata</title>
		<link>http://blog.cirello.org/2008/11/20/no-de-gravata/</link>
		<comments>http://blog.cirello.org/2008/11/20/no-de-gravata/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 05:24:51 +0000</pubDate>
		<dc:creator>Dérico Filho</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.cirello.org/?p=49</guid>
		<description><![CDATA[Diretamente de Instructables: http://www.instructables.com/id/The-Fastest-Way-to-Tie-a-Tie---How-to-Tie-a-Tie-in/ How To Tie A Tie Under 10 Seconds - Unbelievable!! - video powered by Metacafe]]></description>
			<content:encoded><![CDATA[<p><code><br />
Diretamente de Instructables:</p>
<p>http://www.instructables.com/id/The-Fastest-Way-to-Tie-a-Tie---How-to-Tie-a-Tie-in/</p>
<p><embed src="http://www.metacafe.com/fplayer/894133/how_to_tie_a_tie_under_10_seconds_unbelievable.swf" width="400" height="345" wmode="transparent"  pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed><br/><font size="1"><br />
               <a href="http://www.metacafe.com/watch/894133/how_to_tie_a_tie_under_10_seconds_unbelievable/">How To Tie A Tie Under 10 Seconds - Unbelievable!! - video powered by Metacafe</a></font> </code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cirello.org/2008/11/20/no-de-gravata/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perfectly Idiot PHP Programmer Handbook &#8211; Introduction and Chapter 1</title>
		<link>http://blog.cirello.org/2008/04/10/perfectly-idiot-php-programmer-handbook-introduction-and-chapter-1/</link>
		<comments>http://blog.cirello.org/2008/04/10/perfectly-idiot-php-programmer-handbook-introduction-and-chapter-1/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 03:09:53 +0000</pubDate>
		<dc:creator>Dérico Filho</dc:creator>
				<category><![CDATA[The Perfectly Idiot PHP Programmer Handbook]]></category>

		<guid isPermaLink="false">http://blog.cirello.org/2008/04/10/perfectly-idiot-php-programmer-handbook-introduction-and-chapter-1/</guid>
		<description><![CDATA[Introduction Everybody is aware of the important role PHP has been playing in the formation of young programmers. But I do believe few people really understand the dimension of the imminent disaster in course relating to the quality of the &#8230; <a href="http://blog.cirello.org/2008/04/10/perfectly-idiot-php-programmer-handbook-introduction-and-chapter-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'"></span></strong><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'"><o:p></o:p></span><strong><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">Introduction<o:p></o:p></span></strong></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'"><o:p> </o:p></span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">Everybody is aware of the important role PHP has been playing in the formation of young programmers. But I do believe few people really understand the dimension of the imminent disaster in course relating to the quality of the programmers that adopts it, and, curiously, never let it go &#8211; even when other languages are better suited to the goal of an application.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">This book shall serve as funny consolation to those who see the mistakes made by unprepared PHP programmers. The critic is not against PHP. Indeed, I am myself a proud PHP programmer and I like it very much. The critic is about the  programmer that  write a true  letter-soup on his resume so as to fool  the recruiter, it happens the he or she is successful because often the recruiter is a psychologist proudly ignorant on computer sciences,  therefore incapable to sort out the good candidate from the bad one.  </span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">It can be proved. Examples of this manual can be perfectly swapped from PHP to any language of choice. Yet you shall notice the pattern persists. The PHP, and perhaps Ruby nowadays, is a language powered by a very easy syntax and it enables the beginner achieve encouraging result very quickly.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">Is it a demerit of this language? No. The point is if the programmer were someone with a good formation, surely would take advantage of the simplicity that each one of these languages bring. Please, before filling up my mailbox with enraged messages about my critics to PHP, keep in mind that this book is about the programmer in first place.<o:p></o:p></span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'"><o:p> </o:p></span></p>
<p><span style="font-size: 12pt; line-height: 115%; font-family: 'Calibri','sans-serif'"><br style="page-break-before: always" clear="all" /> </span></p>
<p class="MsoNormal" style="text-indent: 35.45pt"><span style="font-size: 12pt; line-height: 115%"><o:p> </o:p></span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'"><o:p> </o:p></span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><strong><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">Family Portrait.<o:p></o:p></span></strong></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'"><o:p> </o:p></span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">The perfectly idiot PHP programmer begins his bright career by the age of 15, when, by seeing website and portals, he is yet incapable to understand the difference between HTML and PHP. He starts googling and suddenly find two kinds of text: tutorials and forums.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">These couple of results are perfect match: in one he effectively learns to create a web page &#8211; which, obviously does not tell one thing from another &#8211; and the other one, he is capable to talk about his doubts to other people who walked the path he is on.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">Then, eventually he publishes his Home Page. He has access too to his first anti-pattern: Spaghetti Code.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">By the age of 18, the idiot is not satisfied, he wants more. He come up with the idea to create a web site using some sort of database. Again he googles and finds out that 99% of PHP programmers use MySQL.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">He promptedly creates applications using database, and also he learns to use the join command in tables. He join tables loudly and proudly, with no concern about such things as index or normalization. He puts in the database everything he wishes, text, numbers, images, files, well&#8230; almost everything in the Database. He discovers his second anti-pattern: In Database we trust.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">The idiot, so far, only uses functions and, vaguely, very very vaguely some concepts of structured programming. Yet he doesn&#8217;t understand, and perhaps he will never understand, what is parameter passing by reference or by copy. When he needs to insert the content of a file into another, he uses the include command. When he needs access the Database, he includes the connection file in all other files. The idiot, notwithstanding the fact he has been using PHP for a long time, did not read the manual yet, and the idea set up PHP to include the files for him has not passed through his mind.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">By the age of 25, he has accumulated a &#8220;large experience&#8221; and &#8220;knows a lot&#8221; about PHP, in his resume he mentions PHP and MySQL as advanced knowledge of his and highlights them. Actually, after few years programming, he is able to  do things quicker than before,  because  he has now a library of code templates that he reuses in almost everything he does. He discovers  then his third anti-pattern: Copy&#8217;n'Paste programming.<o:p></o:p></span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'"><o:p> </o:p></span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">In this moment he is either graduated or graduation from Computer Science college. He might have studied IT systems or Web development. Anyway, he did not study in them advanced knowledge in programming logic, a mathematics base or network knowledge that enables him understand better how things functions within the computer.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">By the age of 30, the perfect idiot is aiming for a low or medium management role. Perhaps he has heard of eXtremme Programming, Bazaar and Cathedral or Scrum.  As programmer he discover  the marvellous world of  Object-Oriented Programming and DRY (Do not Repeat Yourself). He might have had contact  with a more hostile programming language like C or Java. He also has had access to Rail-like frameworks. His life changes completely after this discovery.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">At some point, the idiot thinks seriously about move in to RubyOnRails, which is much more practical and dynamic than PHP, he is not worried about scalable applications yet.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'"><o:p> </o:p></span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">But he has feelings, and misses a lot the PHP way of doing things. He googles for something like RoR but written in PHP. He encounters a plethora of frameworks: Zend Framework, Code Igniter, PHPonTrax and CakePHP. &#8220;How great!&#8221;, he thinks, &#8220;The best of both world available to me!&#8221;. When the idiot goes to the circus he always enjoys the One Trick Pony.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">However he is not familiarised with the theoretical foundations of these frameworks, and soon he feels limited on some aspects. For the first time he has contact with some of these patterns, for instance: MVC or Active Record.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">By the age of 35, he is promoted to &#8220;Chief Programmer&#8221;. He is studying the Master degree. Already have a vast knowledge in programming and software engineering. At this point he decided to leap ahead in his career, and the role he has been aiming for 5 years is his at last. Depending upon his personality he might or might not be willing to pass his knowledge ahead. Oh yes, in the forums he read or asked, but the possibility to answer few questions appears only recently.</span></p>
<p class="MsoPlainText" style="text-align: justify; text-indent: 35.45pt"><span style="font-size: 12pt; font-family: 'Calibri','sans-serif'">Although the idiot should prosper after his age of 35, I should stop here, because the main point of this family portrait is: the idiot is not concerned about good programming, he is concerned about getting things done, no matter how. Reinventing the wheel is not a problem to him. Is it good? I don&#8217;t know, great hackers usually studies the wheel, even reinvent it in order to better understand it. The idiot reinvent the wheels because  simply never he has imagined that such a thing as a wheel could be invented before. Or even worse, he reinvents the wheel and on some perverted way he concluded that the best wheel is squared. <span></span><o:p></o:p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cirello.org/2008/04/10/perfectly-idiot-php-programmer-handbook-introduction-and-chapter-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dbdesigner2cake : DBDesigner 4 Scaffold Tools for CakePHP &#8211; 1.0.6 &#8211; Minor Release</title>
		<link>http://blog.cirello.org/2008/04/05/dbdesigner2cake-dbdesigner-4-scaffold-tools-for-cakephp-106-minor-release/</link>
		<comments>http://blog.cirello.org/2008/04/05/dbdesigner2cake-dbdesigner-4-scaffold-tools-for-cakephp-106-minor-release/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 16:26:41 +0000</pubDate>
		<dc:creator>Dérico Filho</dc:creator>
				<category><![CDATA[DBDesigner2CakePHP]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.cirello.org/2008/04/05/dbdesigner2cake-dbdesigner-4-scaffold-tools-for-cakephp-106-minor-release/</guid>
		<description><![CDATA[Hello All, A minor release of dbdesigner2cake is available. Those who are using the release 1.0.5 or previous are recommended to upgrade to 1.0.6. These issues were addressed: - Changed the website on the license text from cirello.org/dbdesigner2cake to dbdesigner2cake.cirello.org &#8230; <a href="http://blog.cirello.org/2008/04/05/dbdesigner2cake-dbdesigner-4-scaffold-tools-for-cakephp-106-minor-release/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hello All,</p>
<p>A minor release of dbdesigner2cake is available. Those who are using the release 1.0.5 or previous are recommended to upgrade to 1.0.6.</p>
<p>These issues were addressed:<br />
- Changed the website on the license text from cirello.org/dbdesigner2cake to dbdesigner2cake.cirello.org<br />
- Now it forces the PrimaryKey according to the XML<br />
- strtolower&#8217;d table&#8217;s names.<br />
- avoid a special condition on which a hasMany/belongsTo table would be somehow linked to a HABTM table. (workaround)<br />
- Corrected few typos.</p>
<p>Well, as I usually finish such release notes:</p>
<p>You are welcome to download the 1.0.6 version at<br />
<a href="http://dbdesigner2cake.cirello.org/download.html">http://dbdesigner2cake.cirello.org/download.html</a></p>
<p>Bye</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cirello.org/2008/04/05/dbdesigner2cake-dbdesigner-4-scaffold-tools-for-cakephp-106-minor-release/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
