<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Planeta Perl Brasil</title>
	<!--<link rel="self" type="text/atom" href=""/>-->
	<link rel="alternate" type="text/html" href="http://planeta.perl.org.br/"/>
	<id></id>
	<updated>2011-10-25T07:01:14+00:00</updated>
	<generator uri="http://www.planetplanet.org/">Planet/2.0 +http://www.planetplanet.org</generator>

	<entry>
		<title>Lorn: Lá E Devolta Outra Vez</title>
		<link rel="alternate" type="text/html" href="http://lornlab.org/blog/2011/09/26/la-e-devolta-outra-vez/"/>
		<id>http://lornlab.org/blog/2011/09/26/la-e-devolta-outra-vez</id>
		<updated>2011-09-26T18:05:00+00:00</updated>
		<content type="html">&lt;p&gt;Depois de muito pensar, e a preguiça dominar, resolvi continuar no bom e velho wordpress até fiz o tão
prometido blog em catalyst, mas a parte de design css/html e afins deu um trabalhinho e não está do jeito que eu quero e
o wordpress tem tantos temas legais. Pelo menos aprendi bastante fazendo o blog, inclusive tem um branch ativo agora porque
estou migrando a parte de persistencia para CouchDB.&lt;/p&gt;

&lt;p&gt;Update: Mudei para o tumblr e meu blog agora fica no &lt;a href=&quot;http://blog.lornlab.or&quot;&gt;http://blog.lornlab.org&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Update 2: Agora estou migrando para o &lt;a href=&quot;http://octopress.org&quot;&gt;Octopress&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>Lorn</name>
			<uri>http://lornlab.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Donato: Cell Phone Interface for PBX use</title>
		<link rel="alternate" type="text/html" href="http://donatoaz.blogspot.com/2011/05/cell-phone-interface-for-pbx-use.html"/>
		<id>tag:blogger.com,1999:blog-5828628185220859202.post-8112351661641333864</id>
		<updated>2011-05-30T15:28:32+00:00</updated>
		<content type="html">&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-xP1fB9y07_0/TeQKyrCMimI/AAAAAAAAAQ8/9OkreVY_O9c/s1600/cellphone.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;http://2.bp.blogspot.com/-xP1fB9y07_0/TeQKyrCMimI/AAAAAAAAAQ8/9OkreVY_O9c/s200/cellphone.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Cellphone interfaces for PBX are&lt;br /&gt;a good way to reduce costs&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;After realizing that over 50% of the company's cell phone bill is due to local to mobile calls I decided to investigate the possibility of using a Cell Phone Interface for our PBX (generaly called PABX in Brazil).&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;We have a Digital Telephone Central model Intelbras 141. Which, according to the companies website, supports the ITC 4000 Cellphone Interface.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;However, this model is priced nearly twice as much as a model from a different manufacturer (Naccell, ITS, Plugcell).&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;These are said to be compatible with *any* PBX on the market, however I fear they might only be compatible with Analogic or Hybrid Telephone Centrals.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Another issue involved is the selection of the carrier plan: one major catch here: STATIC USE CLAUSE.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Most carriers, on their general purpuse plans, have a clause on their contract stating the following (extracted from TIM contract for a Liberty plan) that is said to void the contract and cause loss of benefits:&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;3.3.1.3. Uso estático (sem mobilidade) do aparelho celular em cerca de 60% do tráfego originado pelo CLIENTE e recebimento de ligações em proporção inferior a 33% do volume originado, por&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;mês.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Meaning:&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;3.3.1.3. Static Use (no mobility) of the celular device in around 60% of traffic originated by the client and receival of calls in proportion inferior than 33% of the originated volume, each month.&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;With that in mind, I have to find a plan that does not forbid you from having a staticaly allocated sim card carrying calls for my PBX.&lt;/span&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/5828628185220859202-8112351661641333864?l=donatoaz.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Donato Azevedo (noreply@blogger.com)</name>
			<uri>http://donatoaz.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Lorn: A Biblioteca Pessoal De Neil Gaiman</title>
		<link rel="alternate" type="text/html" href="http://lornlab.org/blog/2011/05/19/a-biblioteca-pessoal-de-neil-gaiman/"/>
		<id>http://lornlab.org/blog/2011/05/19/a-biblioteca-pessoal-de-neil-gaiman</id>
		<updated>2011-05-19T03:03:00+00:00</updated>
		<content type="html">&lt;p&gt;Quando vi esse site pela primeira vez, e como eu já tinha lido alguma entrevista do Donald Knuth em que ele falava que tinha
a mesma poltrona desde 1960 e só trocava o forro externo, eu percebi que precisava comprar uma poltrona para ler livros  :)&lt;/p&gt;

&lt;p&gt;Ainda estou a procura, aquelas que tem na Starbucks é tudo importada :/ estou procurando algum clone brasileiro delas, mas acho que não vai ser fácil achar.&lt;/p&gt;

&lt;p&gt;Bom, voltando ao título olha como é a biblioteca pessoal do Neil Gaiman! para quem não conhece Neil Gaiman é o criador do Sandman e
outras livros/quadrinhos famosos, mas o que eu mais gosto e li foi Sandman, e só pelo Sandman ele já merece algum respeito.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.shelfari.com/my_weblog/2009/09/neil.html&quot;&gt;http://blog.shelfari.com/my_weblog/2009/09/neil.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;&quot; /&gt;&lt;/p&gt;</content>
		<author>
			<name>Lorn</name>
			<uri>http://lornlab.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Lorn: Hackers Que Você Deveria Conhecer (1): Brad Fitzpatrick</title>
		<link rel="alternate" type="text/html" href="http://lornlab.org/blog/2011/05/17/hackers-que-voce-deveria-conhecer-1-brad-fitzpatrick/"/>
		<id>http://lornlab.org/blog/2011/05/17/hackers-que-voce-deveria-conhecer-1-brad-fitzpatrick</id>
		<updated>2011-05-18T01:45:00+00:00</updated>
		<content type="html">&lt;p&gt;Esta série de posts é baseada na idéia do site  &lt;a href=&quot;http://papodehomem.com.br/homens-que-voce-deveria-conhecer-homem-da-capa-preta-tenorio-cavalcante/&quot;&gt;Papodehomem&lt;/a&gt;
que tem uma série parecida chamada &amp;#8220;Homens que você devia conhecer&amp;#8221;.&lt;/p&gt;

&lt;p&gt;A ideia é falar de hackers em geral, tipo algum dia pode ter uma história de um cortador de lenha que fez uma mesa só com seu machado
por exemplo :) Esse é um exemplo clássico de hacker.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Brad Fitzpatrick é um dos muitos hackers programadores que você deveria conhecer ou ao menos saber o que ele já fez.&lt;/p&gt;

&lt;p&gt;Ele é o criador do Memcached e do OpenID.&lt;/p&gt;

&lt;p&gt;Lá nos meados de 1999 ele começou um projeto pessoal para manter o pessoal do colegio informado, algo parecido com o
que fazemos na lista de discussões da faculdade ele chamou esse projetinho de Live Journal, que até pouco tempo [citation needed] era o maior serviço de blogs do mundo.&lt;/p&gt;

&lt;p&gt;Essa empresa não foi só importante para o Brad Fitzpatrick mas também para a internet como um todo pois, com o sucesso dela,
foi necessário criar coisas como Memcached e OpenID, dentre outros excelentes &lt;a href=&quot;http://www.danga.com/&quot;&gt;Software&lt;/a&gt; Livres que foram criados baseados na demanda do LiveJornal.&lt;/p&gt;

&lt;p&gt;No evento &lt;a href=&quot;http://www.perlworkshop.com.br/&quot;&gt;Perl Workshop&lt;/a&gt; , ele contou que teve a ideia do Memcached quando o LiveJornal estava crescendo e ia demorar 2 semanas para chegar
os novos servidores, em 12h ele fez a primeira versão do Memcached.&lt;/p&gt;

&lt;p&gt;Outra coisa engraçada que ele contou no evento foi dizer que &lt;a href=&quot;http://www.danga.com/mogilefs/&quot;&gt;MogileFS&lt;/a&gt;  é um anagrama para OMG files :)&lt;/p&gt;

&lt;p&gt;Em 2005 o &lt;a href=&quot;http://news.livejournal.com/82926.html&quot;&gt;LiveJornal foi comprado pela Sixapart&lt;/a&gt;, e em 2008 ele foi trabalhar no Google.&lt;/p&gt;

&lt;p&gt;Ele também é contribuidor ativo no &lt;a href=&quot;http://search.cpan.org/~bradfitz/&quot;&gt;CPAN&lt;/a&gt; , apesar de estar trabalhando no Google focando na linguagem de programação Go, o ultimo projeto que ele
está trabalhando é o &lt;a href=&quot;http://camlistore.org/&quot;&gt;Camlistore&lt;/a&gt; - escrito em Go, que vale um post só pra ele porque é um proejto bem interessante.&lt;/p&gt;</content>
		<author>
			<name>Lorn</name>
			<uri>http://lornlab.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Donato: Hiring a webdesign company and giving straightforward intelligible guidelines</title>
		<link rel="alternate" type="text/html" href="http://donatoaz.blogspot.com/2011/05/hiring-webdesign-company-and-giving.html"/>
		<id>tag:blogger.com,1999:blog-5828628185220859202.post-8695124962612244554</id>
		<updated>2011-05-16T07:31:19+00:00</updated>
		<content type="html">&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-XxKgFFNyUdQ/TdEmCOrzD5I/AAAAAAAAAQ0/FvXlHpQcrrk/s1600/website-design.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;http://1.bp.blogspot.com/-XxKgFFNyUdQ/TdEmCOrzD5I/AAAAAAAAAQ0/FvXlHpQcrrk/s200/website-design.jpg&quot; width=&quot;198&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Gathering successful examples is&lt;br /&gt;a great way to start&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Being an ordinary software developer involves knowing your deficiencies and not being a wiseass who thinks he knows about everything.&lt;br /&gt;&lt;br /&gt;And that means, sometimes, you will hire someone to do a better job than you would. Or maybe you just don't have the time and need it done fast. Or even further, sometimes it needs to be cute, and let's face it, it is yet to be born a software developer who grasps the concepts of cuteness.&lt;br /&gt;&lt;br /&gt;That said, we're in the process of hiring a web designing company to refurbish our web site.&lt;br /&gt;&lt;br /&gt;The Marketing and Creative Director (MCD) has scheduled a meeting between me and the designer, because, from their conversations, some technical details surfaced, and I am supposed to interface them in this matter.&lt;br /&gt;&lt;br /&gt;I recognize that criticizing design is one of my weaknesses, however, I might as well meander in the usability issues given that, to the least, I am a well experienced &quot;user&quot; of websites.&lt;br /&gt;&lt;br /&gt;I gathered, in a short time, a couple of references that are quite good and that I summarize below.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://mashable.com/2011/04/10/5-web-design-mistakes/&quot;&gt;Top Five Web Design Mistakes Small Businesses Make&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1) Poor navigation: p&lt;span class=&quot;Apple-style-span&quot;&gt;eople visit your site for specific information, and if they cannot find it they will quickly go elsewhere, leaving with the impression that your business is disorganized in more than just its website.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2) No clear calls to action: i&lt;span class=&quot;Apple-style-span&quot;&gt;f you aren’t leading users to commit to an action (buy a product, contact you or subscribe, for example), then you are losing them.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-A-fUwnKUjKI/TdEmIM6OVEI/AAAAAAAAAQ4/L3o2ctD_GYU/s1600/recruitment_website_design.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;http://3.bp.blogspot.com/-A-fUwnKUjKI/TdEmIM6OVEI/AAAAAAAAAQ4/L3o2ctD_GYU/s200/recruitment_website_design.jpg&quot; width=&quot;187&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Choosing colours may be&lt;br /&gt;the most dificult task&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;3) Color and contrast: i&lt;span class=&quot;Apple-style-span&quot;&gt;f your website text does not have sufficient contrast compared to its background, people will have difficulty reading your content.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4) Content: p&lt;span class=&quot;Apple-style-span&quot;&gt;eople visit your website for its content, and how that is structured is a huge factor in its success or failure.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5) Clutter: c&lt;span class=&quot;Apple-style-span&quot;&gt;hallenge every item on each page and ask, “Does it really need to be there? Does it serve a specific purpose? Can I live without it?”.&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Even the greatest content can become lost in a mess of words and graphics, so de-cluttering is essential.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://developer.apple.com/library/safari/#technotes/tn2010/tn2262/_index.html&quot;&gt;Preparing Your Web Content for iPad&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1) Test your web site in iPad, iPhone and desktop. Update user agent detection code if necessary&lt;br /&gt;&lt;br /&gt;2) Use W3C standards instead of plugins. Prefer HTML5. (and by plugins, yes, we mean Flash and Java)&lt;br /&gt;&lt;br /&gt;3) Check viewport settings. Do not hardcode width elements&lt;br /&gt;&lt;br /&gt;4) Modify code that relies on CSS fixed positioning. These do not work *as expected* on iPhone and iPad, because the viewport is the window and window size is set to the size of the physical screen and is, therefore, not resizable on these devices.&lt;br /&gt;&lt;br /&gt;5) Prepare for touch interface. Most importantly: avoid hovering actions or any other *typical mouse* related features.&lt;br /&gt;&lt;br /&gt;6) Use textareas instead of contenteditable elements.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/5828628185220859202-8695124962612244554?l=donatoaz.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Donato Azevedo (noreply@blogger.com)</name>
			<uri>http://donatoaz.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Donato: Implementing complex pricing schemes using a Nested Set Model</title>
		<link rel="alternate" type="text/html" href="http://donatoaz.blogspot.com/2011/05/implementing-complex-pricing-schemes.html"/>
		<id>tag:blogger.com,1999:blog-5828628185220859202.post-5181861267505017768</id>
		<updated>2011-05-10T13:04:41+00:00</updated>
		<content type="html">&lt;div class=&quot;separator&quot;&gt;&lt;/div&gt;To accomplish the &lt;a href=&quot;http://donatoaz.blogspot.com/2011/05/estudo-sobre-modelos-para-composicao-de.html&quot;&gt;proposed pricing scheme&lt;/a&gt;&amp;nbsp;which would allow for arbitrary multiplication of any given factor by a detirmined index, the model has to be adjusted accordingly.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;m&lt;span class=&quot;Apple-style-span&quot;&gt;ysql&amp;gt; describe nested_set;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;+----------------+---------+------+-----+---------+&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;----------------+&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;| Field &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| Type &amp;nbsp; &amp;nbsp;| Null | Key | Default | Extra &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;+----------------+---------+------+-----+---------+----------------+&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;| id &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | int(11) | NO &amp;nbsp; | PRI | NULL &amp;nbsp; &amp;nbsp;| auto_increment |&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;| name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | text &amp;nbsp; &amp;nbsp;| YES &amp;nbsp;| &amp;nbsp; &amp;nbsp; | NULL &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;| additive &amp;nbsp; &amp;nbsp; &amp;nbsp; | int(11) | YES &amp;nbsp;| &amp;nbsp; &amp;nbsp; | 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;| multiplicative | int(11) | YES &amp;nbsp;| &amp;nbsp; &amp;nbsp; | 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;| lft &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| int(11) | NO &amp;nbsp; | &amp;nbsp; &amp;nbsp; | NULL &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;| rgt &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| int(11) | NO &amp;nbsp; | &amp;nbsp; &amp;nbsp; | NULL &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;+----------------+---------+------+-----+---------+----------------+&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As evidenced, I droped the value field and added a couple more, namely: additive and multiplicative. This way, the pricing view is now described as follows:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-8qHjnyKb9is/TclF7dvGJ1I/AAAAAAAAAQo/4KX7yB7Nofc/s1600/mixed_coin_stack_2lrg.jpg&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-8qHjnyKb9is/TclF7dvGJ1I/AAAAAAAAAQo/4KX7yB7Nofc/s1600/mixed_coin_stack_2lrg.jpg&quot; /&gt;&lt;/a&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;CREATE VIEW `pricing` AS select `node`.`id` AS `id`,`node`.`name` AS `name`,sum((`children`.`multiplicative` * `children`.`additive`)) AS `price` from (`nested_set` `node` join `nested_set` `children`) where (`children`.`lft` between `node`.`lft` and `node`.`rgt`) group by `node`.`name` order by `node`.`id`&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, it makes sense to have an independent factor entity given that one single factor may apply to several diferent node values. The following modifications make this feasible:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;mysql&amp;gt; describe factor;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;+-------+---------+------+-----+---------+----------------+&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;| Field | Type &amp;nbsp; &amp;nbsp;| Null | Key | Default | Extra &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;+-------+---------+------+-----+---------+----------------+&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;| id &amp;nbsp; &amp;nbsp;| int(11) | NO &amp;nbsp; | PRI | NULL &amp;nbsp; &amp;nbsp;| auto_increment |&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;| name &amp;nbsp;| text &amp;nbsp; &amp;nbsp;| YES &amp;nbsp;| &amp;nbsp; &amp;nbsp; | NULL &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;| value | int(11) | NO &amp;nbsp; | &amp;nbsp; &amp;nbsp; | 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;+-------+---------+------+-----+---------+----------------+&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-Ou2ohPd1obo/TclXnwV0O0I/AAAAAAAAAQw/Uf3VGV-x330/s1600/coin_stack.jpg&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-Ou2ohPd1obo/TclXnwV0O0I/AAAAAAAAAQw/Uf3VGV-x330/s1600/coin_stack.jpg&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Add caption&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;and the new view as follows:&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;CREATE VIEW `pricing` AS select `node`.`id` AS `id`,`node`.`name` AS `name`,sum((`factor`.`value` * `children`.`additive`)) AS `price` from (`nested_set` `node` join (`nested_set` `children` join `factor` on((`factor`.`id` = `children`.`multiplicative`)))) where (`children`.`lft` between `node`.`lft` and `node`.`rgt`) group by `node`.`name` order by `node`.`id`&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;With this, I am able to have this sort of formulas implemented on a tree structure:&lt;br /&gt;&lt;br /&gt;Node_Price = Sum(1,N) [ Child1 * Factor_for_child1 + Child2 * Factor_for_Child2 + ... ChildN * Factor_for_ChildN)&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/5828628185220859202-5181861267505017768?l=donatoaz.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Donato Azevedo (noreply@blogger.com)</name>
			<uri>http://donatoaz.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Donato: Estudo sobre modelos para composição de preço de produtos manufaturados</title>
		<link rel="alternate" type="text/html" href="http://donatoaz.blogspot.com/2011/05/estudo-sobre-modelos-para-composicao-de.html"/>
		<id>tag:blogger.com,1999:blog-5828628185220859202.post-159520529471408266</id>
		<updated>2011-05-10T07:19:17+00:00</updated>
		<content type="html">&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-EWV2O7qhvNA/Tcf6orYYxHI/AAAAAAAAAQc/F9h5XdTsZOw/s1600/various-tree-designs-vector-illustraion.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;318&quot; src=&quot;http://2.bp.blogspot.com/-EWV2O7qhvNA/Tcf6orYYxHI/AAAAAAAAAQc/F9h5XdTsZOw/s320/various-tree-designs-vector-illustraion.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;[Fonte:&amp;nbsp;http://www.revistamedievo.com]&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Hoje vou tentar criar um modelo simples para composição de preços para produtos manufaturados com múltiplas matérias primas e mútiplas etapas de trabalho. E que suporte historiamento de precificação, ou seja, parâmetros variáveis com o tempo afetam a determinação de um preço e a cada determinação de preço deve ser mantido um histórico.&lt;br /&gt;&lt;br /&gt;Ademais, cada precificação é composta, além da matéria e do trabalho, de outros fatores mercadológicos, que incidem sobre o preço final ou sobre cada elemento da composição sob forma de um índice de correção. Cada aplicação de índice deve também também ser historiada e rastreável, ou seja, a aplicação de um desconto sobre uma determinada matéria por razão X deve ser armazenada para futura auditoria.&lt;br /&gt;&lt;br /&gt;Estou estudando os modelos de relacionamento em árvore e se eles serão capazes de implementar este modelo, e sobretudo, se serão escaláveis para futuras adições de complexidade.&lt;br /&gt;&lt;br /&gt;A questão é se seria possível modelar em uma entidade só &quot;coisas&quot; que são diversas (mão de obra VS matéria prima).&lt;br /&gt;&lt;br /&gt;From now on, it's about to get technical, so I decided to write in plain english.&lt;br /&gt;&lt;br /&gt;1st attempt: simple hierarchical tree model:&lt;br /&gt;&lt;br /&gt;Every tree has a root, roots might have zero or more nodes and nodes might have zero or more nodes. Each node has only one parent node.&lt;br /&gt;&lt;br /&gt;In this model, the price composition is as follows:&lt;br /&gt;&lt;br /&gt;Given a node, its price is the sum of the price of each individual children multiplied by a factor inherent and unique to this node.&lt;br /&gt;&lt;br /&gt;The exception being for those nodes that *do not* have children, in which case, their price is explicitly assigned and multiplied by a factor inherent and unique to itself.&lt;br /&gt;&lt;br /&gt;The simplest representation for this model would require a single entitie: Node.&lt;br /&gt;&lt;br /&gt;Node&lt;br /&gt;--------------------&lt;br /&gt;id&lt;br /&gt;parent_id&lt;br /&gt;price&lt;br /&gt;factor&lt;br /&gt;&lt;br /&gt;This model may, howerver, be further normalized, considering several nodes might share the same factor and would benefit from depending on a single entry of a different entity. Thus:&lt;br /&gt;&lt;br /&gt;Node&lt;br /&gt;&lt;br /&gt;&lt;div&gt;--------------------&lt;/div&gt;&lt;div&gt;id&lt;/div&gt;&lt;div&gt;parent_id&lt;/div&gt;&lt;div&gt;price&amp;nbsp;&lt;/div&gt;&lt;div&gt;factor_id&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Factor&lt;/div&gt;&lt;div&gt;--------------------&lt;/div&gt;&lt;div&gt;id&lt;/div&gt;&lt;div&gt;factor&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Howerver, it gets misty as to how the price property behaves given that there is no easy awareness of the tree's depth, and the aggregate calculations might get nasty.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2nd Attempt: Nested Set Model&lt;br /&gt;&lt;br /&gt;Nested set models use two properties, lft and rgt, to localize each node in its set hierarchy. This localizations makes for an easier querying when dealing with unlimited depth sets (and thus, trees).&lt;br /&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-8Y8hctG1wqY/Tck53DeOVRI/AAAAAAAAAQg/NgHAKLpGbU4/s1600/hierarchical-data-3.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;120&quot; src=&quot;http://2.bp.blogspot.com/-8Y8hctG1wqY/Tck53DeOVRI/AAAAAAAAAQg/NgHAKLpGbU4/s400/hierarchical-data-3.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;Graphical representation of Nested Set Model, with lft and rgt properties depicted. [source:&amp;nbsp;dev.mysql.com]&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;MySQL has a good descritption of &lt;a href=&quot;http://dev.mysql.com/tech-resources/articles/hierarchical-data.html&quot;&gt;Nested Set Models&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;With this Model, I am able to easily query prices as aggregate functions using one single entity:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CREATE TABLE `nested_set` (&lt;br /&gt;&amp;nbsp;&amp;nbsp;`id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;&amp;nbsp;&amp;nbsp;`name` text,&lt;br /&gt;&amp;nbsp;&amp;nbsp;`value` int(11) DEFAULT NULL,&lt;br /&gt;&amp;nbsp;&amp;nbsp;`lft` int(11) NOT NULL,&lt;br /&gt;&amp;nbsp;&amp;nbsp;`rgt` int(11) NOT NULL,&lt;br /&gt;&amp;nbsp;&amp;nbsp;PRIMARY KEY (`id`)&lt;br /&gt;) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Querying a price is as simple as creating the following view:&lt;br /&gt;&lt;br /&gt;CREATE VIEW `pricing` AS select `node`.`id` AS `id`,`node`.`name` AS `name`,sum(`children`.`value`) AS `price` from (`nested_set` `node` join `nested_set` `children`) where (`children`.`lft` between `node`.`lft` and `node`.`rgt`) group by `node`.`name` order by `node`.`id`&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/5828628185220859202-159520529471408266?l=donatoaz.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Donato Azevedo (noreply@blogger.com)</name>
			<uri>http://donatoaz.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Lorn: Como Funciona a Escala Pentatonica</title>
		<link rel="alternate" type="text/html" href="http://lornlab.org/blog/2011/04/15/como-funciona-a-escala-pentatonica/"/>
		<id>http://lornlab.org/blog/2011/04/15/como-funciona-a-escala-pentatonica</id>
		<updated>2011-04-16T02:59:00+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://vimeo.com/5732745&quot;&gt;World Science Festival 2009: Bobby McFerrin Demonstrates the Power of the Pentatonic Scale&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/user1103909&quot;&gt;World Science Festival&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Como funciona a escala pentatonica e sua ligação com o cérebro&lt;/p&gt;</content>
		<author>
			<name>Lorn</name>
			<uri>http://lornlab.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Lorn: Meu Ambiente De Trabalho Em N Itens</title>
		<link rel="alternate" type="text/html" href="http://lornlab.org/blog/2011/04/12/meu-ambiente-de-trabalho-em-n-itens/"/>
		<id>http://lornlab.org/blog/2011/04/12/meu-ambiente-de-trabalho-em-n-itens</id>
		<updated>2011-04-12T17:59:00+00:00</updated>
		<content type="html">&lt;p&gt;O peka me convidou para a correntinha do bem, e ainda me intimou pelo twitter :/ aqui está como é meu ambiente de trabalho.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://lornlab.org/blog/2011/04/12/usando-zsh/&quot;&gt;ZSH&lt;/a&gt;, o cara é tão bom que tem um post só para ele :)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://code.google.com/p/iterm2/&quot;&gt;iTerm2&lt;/a&gt; - Eu sempre usei o Terminal.App padrão do MacOSX, há um tempo atrás ouvi falar do iTerm, mas
dado a minha pessima organização, acabei me esquecendo. Por causa dessa foto no twitter/facebook recebi a dica do
iTerm2 e vou dizer, deixa o Terminal.App no chinelo tem fullscreen, 256 cores, busca, histórico propia, só instalando para
você ver o que eu estou falando pena que está em alpha, mas estou atualizando a cada relase.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Git - No trabalho apenas o git, em casa git e github.com/lorn onde faço minhas brincadeiras&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.virtualbox.org/&quot;&gt;Virtualbox&lt;/a&gt; - Para emular um Linux ou Windows quando preciso&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.irssi.org/&quot;&gt;Irssi&lt;/a&gt; - irc remoto ( via ssh ) 24/7 na irc.freenode.net e irc.perl.org :)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://sites.google.com/site/yorufukurou/&quot;&gt;Yorufukoru&lt;/a&gt; - Cliente de twitter, vejo pouco o twitter, mas quando vejo é com ele.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Musica - Tudo o que eu preciso/quero ouvir está no iPhone então ligo o fone de ouvido nele e já era, de vez em quando ouço uma
coisa ou outra do youtube.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.vim.org/&quot;&gt;Vim&lt;/a&gt; - Por ultimo, mas não menos importante &amp;#8220;O Editor&amp;#8221;, minhas configurações estão &lt;a href=&quot;https://github.com/lorn/vim_confs&quot;&gt;aqui&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Passo a bola agora para o &lt;a href=&quot;http://bitforest.org/&quot;&gt;@dsouza&lt;/a&gt;, @pahagon, @ldaugusto e 2 hit combo no @wendelscardua&lt;/p&gt;</content>
		<author>
			<name>Lorn</name>
			<uri>http://lornlab.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Lorn: Usando ZSH</title>
		<link rel="alternate" type="text/html" href="http://lornlab.org/blog/2011/04/12/usando-zsh/"/>
		<id>http://lornlab.org/blog/2011/04/12/usando-zsh</id>
		<updated>2011-04-12T16:31:00+00:00</updated>
		<content type="html">&lt;p&gt;Esses dias re-descobri o zsh, já havia testado a um tempo atrás mas agora foi pra valer :)&lt;/p&gt;

&lt;p&gt;E vou dizer, não há shell melhor :) muito melhor que o Bash&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;O historico do ZSH é compartilhado por &lt;em&gt;TODAS&lt;/em&gt; sessões dele, diferente do bash que cada sessão tem seu histórico
( e você tem que ficar procurando onde foi que digitou aquele comando para recuperar ele do histórico ).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ZSH tem autocomplete para tudo, ok bash também, mas o ZSH é bem mágico ele tem autocomplete para o kill, listando os
processos que estão rolando e você digita o nome ele já tras o pid para você, ps -aux? nunca mais.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Autocomplete do ssh baseado no seu ~/.ssh/know_hosts ou seja, acessou a maquina, ssh ma autocomplete :D&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Continuando o autocomplete, no MacOSX temos um instalado de pacote chamado brew para instalar pacotes nele é
mais ou menos como no apt-get, busca e depois install então: brew seach xyz, brew install xyz. Com o zsh ele irá fazer
a busca no install então brew install x pronto, já mostra para você todos os pacotes que casam com aquela string.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;E bem compativell com o bash, eu não tive nenhum problema em fazer: cat ~/.bashrc &gt;&gt; ~/.zshrc e tudo que eu tinha configurado no bash funciona no zsh&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Comece usando agora é só seguir a receita de bolo desse repositorio &lt;a href=&quot;https://github.com/robbyrussell/oh-my-zsh/&quot;&gt;https://github.com/robbyrussell/oh-my-zsh/&lt;/a&gt; ele deixou
 o zsh bem bonito, com suporte a temas e plugins ( e você verá como é facil fazer temas e plugins ) o meu fork desse repositorio você acha aqui.&lt;/p&gt;

&lt;p&gt;Esse são os motivos básicos, caso eu lembro de mais algum matador eu coloco aqui. Mas fica a dica, use zsh e &lt;a href=&quot;http://www.youtube.com/watch?v=3oB2rMaY0ho&amp;feature=related&quot;&gt;filtro solar&lt;/a&gt;.&lt;/p&gt;</content>
		<author>
			<name>Lorn</name>
			<uri>http://lornlab.org/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: Fun with "go routines" in Perl 6</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/40310?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/40310?from=rss</id>
		<updated>2010-04-12T19:32:05+00:00</updated>
		<content type="html">&lt;p&gt;I've just added experimental support to &quot;go routines&quot; to Perlito's Go backend:&lt;/p&gt;&lt;p&gt;$ perl mp6.pl -Bgo -e ' go sub { say 123; say &quot;aaa&quot; }; go sub { say 456; say &quot;bbb&quot; }; say &quot;here&quot;; say &quot;now&quot;; '&lt;/p&gt;&lt;p&gt;here123456&lt;/p&gt;&lt;p&gt;nowaaabbb&lt;/p&gt;&lt;p&gt;Go &quot;Channels&quot; are not supported yet.&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: "Perlito" MiniPerl6 4.0 - string-eval, more bootstraps</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/40255?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/40255?from=rss</id>
		<updated>2010-03-20T09:38:22+00:00</updated>
		<content type="html">Perlito is a subset of Perl 6, which was designed as a light bootstrapping language.
&lt;p&gt;Changelog for version 4.0:
&lt;/p&gt;&lt;p&gt;- Go backend bootstrap.
&lt;/p&gt;&lt;p&gt;  The Go backend was updated to the latest Go language spec.
&lt;/p&gt;&lt;p&gt;- Perl5 backend optimized; 30% faster
&lt;/p&gt;&lt;p&gt;- More library functions, added to all backends
&lt;/p&gt;&lt;p&gt;- New 'Eval.pm' module - implements a MiniPerl6 interpreter in MiniPerl6.
&lt;/p&gt;&lt;p&gt;  This should add some debugging capabilities later on.
&lt;/p&gt;&lt;p&gt;- New test suite. See README on how to use 'prove' for each backend.
&lt;/p&gt;&lt;p&gt;- New compiler options to create binary executables
&lt;/p&gt;&lt;p&gt;- Currently the stable backends are: Perl5, Javascript, JVM, Lisp, Go.
&lt;/p&gt;&lt;p&gt;  See README for bootstrapping instructions for all backends.
&lt;/p&gt;&lt;p&gt;- Removed support for features that are not standard Perl6.
&lt;/p&gt;&lt;p&gt;Thanks to pmurias++ for helping test this release.
&lt;/p&gt;&lt;p&gt;Version 4.0 can be downloaded from
&lt;/p&gt;&lt;p&gt; &lt;a href=&quot;http://github.com/fglock/Perlito/tree/7f0ac392dfcf04d390ebefe5f4274bb37cbd7b6e&quot;&gt;http://github.com/fglock/Perlito/tree/7f0ac392dfcf04d390ebefe5f4274bb37cbd7b6e&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;Enjoy!
&lt;/p&gt;&lt;p&gt;- Fl&amp;#225;vio S. Glock (fglock)&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: MiniPerl6 3.0 "Perlito" - Go lang, JVM backends</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/40117?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/40117?from=rss</id>
		<updated>2010-01-21T15:11:42+00:00</updated>
		<content type="html">&lt;p&gt;
MiniPerl6 (mp6) is a subset of Perl 6, which was designed as a light
bootstrapping language. &lt;/p&gt;&lt;p&gt;
Changelog for version 3.0:
&lt;/p&gt;&lt;p&gt;
- Go language backend; using Go: &lt;a href=&quot;http://golang.org/&quot;&gt;http://golang.org/&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;
- Java-class backend; using Rhino: &lt;a href=&quot;http://www.mozilla.org/rhino&quot;&gt;http://www.mozilla.org/rhino&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;
- util/mp6.pl - compiler command line script written in MiniPerl6
&lt;/p&gt;&lt;p&gt;
- new repository at &lt;a href=&quot;http://github.com/fglock/Perlito&quot;&gt;http://github.com/fglock/Perlito&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;
- new web page at &lt;a href=&quot;http://www.perlito.org/&quot;&gt;http://www.perlito.org/&lt;/a&gt; created by nferraz (Nelson Ferraz)


&lt;/p&gt;&lt;p&gt;Enjoy!
&lt;/p&gt;&lt;p&gt;
- Fl&amp;#225;vio S. Glock (fglock)&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: MiniPerl6 "Perlito" to Go language</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/39971?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/39971?from=rss</id>
		<updated>2009-12-03T21:23:15+00:00</updated>
		<content type="html">&lt;p&gt;I've been working on the &quot;Go language&quot; backend for Perlito miniperl6 for about 2 weeks now.&lt;/p&gt;&lt;p&gt;Yesterday I implemented functions and namespaces, and today I've got methods working. With some more work, Perlito should bootstrap in Go.&lt;/p&gt;&lt;p&gt;There is no command line script yet - I'm using this ugly line for tests (this compiles and runs the method tests):&lt;/p&gt;&lt;p&gt;$ perl mp6-go.pl &amp;lt; t/11-bind-method-param.t &amp;gt; x1.go &amp;amp;&amp;amp; cat lib/MiniPerl6/Go/Runtime.go x1.go &amp;gt; x.go &amp;amp;&amp;amp; time ( rm x.6 ; rm ./6.out ; 6g x.go ; 6l x.6 ; ./6.out )&lt;/p&gt;&lt;p&gt;New urls:&lt;/p&gt;&lt;p&gt;Perlito now has a site http://www.perlito.org, created and maintained by Nelson Ferraz (NFERRAZ).&lt;/p&gt;&lt;p&gt;Yesterday I created a github account. The new Perlito commits are now going to http://github.com/fglock/Perlito&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: "Perlito" MiniPerl6 runs in the browser</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/39664?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/39664?from=rss</id>
		<updated>2009-09-22T20:52:36+00:00</updated>
		<content type="html">&lt;a href=&quot;http://perlcabal.org/~fglock/perlito.html&quot;&gt;http://perlcabal.org/~fglock/perlito.html&lt;/a&gt;
&lt;p&gt;Press the &quot;Execute&quot; button!&lt;/p&gt;&lt;p&gt;&quot;Perlito&quot; MiniPerl6 is an implementation of a small subset of Perl6. There is no error handling, and the web interface I wrote is very simple.&lt;/p&gt;&lt;p&gt;The compiler implements simple classes, grammars with 'token' only, variable binding with ':=' (no assignment), arrays, hashes, strings, integers.&lt;/p&gt;&lt;p&gt;The compiler is entirely written in MiniPerl6. The source code is in:&lt;/p&gt;&lt;p&gt;

&lt;a href=&quot;http://svn.pugscode.org/pugs/v6/v6-MiniPerl6/lib/MiniPerl6/&quot;&gt;http://svn.pugscode.org/pugs/v6/v6-MiniPerl6/lib/MiniPerl6/&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: Playing with V8 parser</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/39617?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/39617?from=rss</id>
		<updated>2009-09-12T18:08:45+00:00</updated>
		<content type="html">&lt;p&gt;I've downloaded V8 (the javascript compiler). I was planning to try it out as a MiniPerl6 backend, but I started to play with the parser instead:&lt;/p&gt;&lt;p&gt;
&amp;nbsp; --- src/scanner.cc    (revision 2877)&lt;br /&gt;
&amp;nbsp; +++ src/scanner.cc    (working copy)&lt;br /&gt;
&amp;nbsp; @@ -858,6 +858,12 @@&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; bool has_escapes = false;&lt;/p&gt;&lt;p&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; StartLiteral();&lt;br /&gt;
&amp;nbsp; +&lt;br /&gt;
&amp;nbsp; +  if (c0_ == '$') {&lt;br /&gt;
&amp;nbsp; +    AddChar(c0_);&lt;br /&gt;
&amp;nbsp; +    Advance();&lt;br /&gt;
&amp;nbsp; +  }&lt;/p&gt;&lt;p&gt;Now I can use perl style var names:&lt;/p&gt;&lt;p&gt;
&amp;nbsp; $ ./shell&lt;br /&gt;
&amp;nbsp; V8 version 1.3.10&lt;br /&gt;
&amp;nbsp; &amp;gt; $my_var = &quot;hello, World!&quot;; print($my_var);&lt;br /&gt;
&amp;nbsp; hello, World!&lt;/p&gt;&lt;p&gt;*update* - I've changed a few more things, and I've got some timings:&lt;/p&gt;&lt;p&gt;
&amp;nbsp; $ time ./shell -e ' my $x = 0; for (my $i=1; $i &amp;lt; 10000000; $i++) { $x++ }; print($x);'&lt;br /&gt;
&amp;nbsp; 9999999&lt;/p&gt;&lt;p&gt;
&amp;nbsp; real    0m0.164s&lt;br /&gt;
&amp;nbsp; user    0m0.152s&lt;br /&gt;
&amp;nbsp; sys    0m0.008s&lt;/p&gt;&lt;p&gt;
&amp;nbsp; $ time perl -e ' my $x = 0; for (my $i=1; $i &amp;lt; 10000000; $i++) { $x++ }; print($x);'&lt;br /&gt;
&amp;nbsp; 9999999&lt;br /&gt;
&amp;nbsp; real    0m1.123s&lt;br /&gt;
&amp;nbsp; user    0m1.091s&lt;br /&gt;
&amp;nbsp; sys    0m0.008s&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: MiniPerl6 1.0 "Perlito" bootstrapped in SBCL Lisp</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/39549?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/39549?from=rss</id>
		<updated>2009-08-28T19:57:32+00:00</updated>
		<content type="html">&lt;p&gt;MiniPerl6 (mp6) was &lt;a href=&quot;http://use.perl.org/~fglock/journal/href&quot;&gt;designed&lt;/a&gt; as a light bootstrapping language. The initial bootstrap used &lt;a href=&quot;http://use.perl.org/~fglock/journal/href&quot;&gt;v6.pm&lt;/a&gt; and was then self-hosted in Perl 5.
&lt;/p&gt;&lt;p&gt;MiniPerl6 is now self-hosted in SBCL Lisp. You can modify the source code and recompile without Perl 5.
&lt;/p&gt;&lt;p&gt;MiniPerl6 can be downloaded from the Pugs repository:
&lt;/p&gt;&lt;p&gt;

&lt;code&gt;
$ svn checkout http://svn.pugscode.org/pugs pugs
$ cd pugs/v6/v6-MiniPerl6
&lt;/code&gt;

&lt;/p&gt;&lt;p&gt;You can create an executable binary using these commands:
&lt;/p&gt;&lt;p&gt;

&lt;code&gt;
$ sh lisp-util/create-core-image.sh
$ sbcl --load mp6-lisp-create-core-image.lisp 
$ chmod +x mp6-lisp

$ ./mp6-lisp -e ' class Main { say &quot;hello, World!&quot; } ' ... lisp compiler warnings 
hello, World!
&lt;/code&gt;

&lt;/p&gt;&lt;p&gt;The bootstrapping procedure for both &quot;perl&quot; and &quot;lisp&quot; backends can be tested with:
&lt;/p&gt;&lt;p&gt;

&lt;code&gt;
$ sh perl5-util/bootstrap-perl5.sh

$ sh lisp-util/bootstrap-lisp.sh ... lisp compiler warnings 
&lt;/code&gt;&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>Lorn: Perl Para Sysadmins E DBAs</title>
		<link rel="alternate" type="text/html" href="http://lornlab.org/blog/2009/01/20/perl-para-sysadmins-e-dbas/"/>
		<id>http://lornlab.org/blog/2009/01/20/perl-para-sysadmins-e-dbas</id>
		<updated>2009-01-20T17:08:00+00:00</updated>
		<content type="html">&lt;p&gt;Rau!&lt;/p&gt;

&lt;p&gt;Depois de séculos sem posts, apenas um post para linkar para o material da minha palestra no fisl ( que não foi das melhores porque não terminei a palestra antes e fiquei BEM doente em POA :/ )&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://lornlab.org/palestra_fisl&quot;&gt;http://lornlab.org/palestra_fisl/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agradecimentos para o Claudemir Ivan, que disse que não estava conseguindo acessar os arquivos.&lt;/p&gt;

&lt;p&gt;Falow, algum dia meu blog em Catalyst sai&lt;/p&gt;

&lt;p&gt;Update: O problema era que o Dreamhost estava interpretando os .pl :/ coloquei as extensões em .txt e tudo&lt;/p&gt;

&lt;p&gt;funcionou.&lt;/p&gt;

&lt;p&gt;Update 2: Agora com o plugin de gist do github.com o código fica bonito e indentado&lt;/p&gt;

&lt;p&gt;Update 3: Agora quem trata o gist é o octopress \,,/&lt;/p&gt;

&lt;div&gt;
&lt;pre&gt;&lt;code&gt;#!/usr/bin/perl

=head1 NAME

    conta_acessos 
    
=head1 DESCRIPTION

=head1 AUTHOR

    Renan Rangel &amp;lt;rvr777@gmail.com&amp;gt;
    Lorn &amp;lt;lorn.br@gmail.com.br&amp;gt;

=head1 COPYRIGHT 

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.
    
=cut

use strict;
use Data::Dumper;

die &amp;lt;DATA&amp;gt;
  unless scalar @ARGV;
  
our $VERSION = ‘0.1’;

my ($c, @p, %option) = 0;
my %hash_count = ();
# look for options and patterns
my $ip = 0;
foreach (@ARGV) {
  if (/^-(.+)$/) {
      my $arg = $1;
    if($arg eq ‘ip’){
        $ip = 1;
    }elsif ($arg eq ‘h’){
        do { 
            print &amp;lt;DATA&amp;gt;;
            exit(0);
        };
    }elsif ($arg eq ‘i’){
        do {
            $option{i} = 1;
            next;
        };
    }elsif ($arg eq ‘v’){
        do {
            print &amp;quot;conta_acessos $VERSION\nAuthor: Renan Rangel &amp;lt;rvr777\@gmail.com&amp;gt;\n        Lorn &amp;lt;lorn.br\@gmail.com.br&amp;gt;\n&amp;quot;;
            exit(0)
        };
    }else{
        die &amp;lt;DATA&amp;gt;;
    }
  }else{
      die &amp;lt;DATA&amp;gt;;
  }
}

# search and replace the pattern with the colored text
my $found = 0;
while (my $line = &amp;lt;STDIN&amp;gt;) {
    my ($ip) = split(/\s/,$line);
    $hash_count{$ip} = $hash_count{$ip} + 1;
}

print Dumper \%hash_count;    
foreach my $line ( sort { $hash_count{$b} &amp;lt;=&amp;gt; $hash_count{$a} } keys
%hash_count) {
    my $acessos = $hash_count{$line};
    print &amp;quot;ip: $line\tacessos:\t$acessos\n&amp;quot;;
}

exit(0);

__DATA__
Usage: 
  tail -1000 /var/log/apache2/access.log | perl conta_acessos.pl -ip 
  
Options:
  -h = Print help message
  -i = Case insensitive
  -v = Show version&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;







&lt;p&gt;&lt;a href=&quot;http://www.slideshare.net/lornlab/perl-sysadmin-dba-7618654&quot;&gt;Link slideshare&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>Lorn</name>
			<uri>http://lornlab.org/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: v6.pm is back</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/37056?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/37056?from=rss</id>
		<updated>2008-07-30T13:01:13+00:00</updated>
		<content type="html">&lt;a href=&quot;http://search.cpan.org/dist/v6/&quot;&gt;v6.pm&lt;/a&gt; now passes a little more than 6000 tests from the Perl 6 test suite.&lt;br /&gt; &lt;br /&gt;
&quot;v6&quot; is a CPAN module that implements a Perl 6 compiler that runs in Perl 5.&lt;br /&gt; &lt;br /&gt;It is compiling and running nearly 10 tests per second:&lt;br /&gt; &lt;br /&gt;
&amp;nbsp; Files=145, Tests=6210, 562 wallclock secs ( 1.41 usr  0.67 sys + 402.53 cusr 93.57 csys = 498.18 CPU)&lt;br /&gt;
&amp;nbsp; Result: PASS&lt;br /&gt; &lt;br /&gt;Precompiled tests are running at 50 tests per second (running &quot;make file&quot; a second time execute the precompiled tests):&lt;br /&gt; &lt;br /&gt;

&amp;nbsp; Files=145, Tests=6210, 124 wallclock secs ( 0.88 usr  0.57 sys + 80.20 cusr 14.04 csys = 95.69 CPU)&lt;br /&gt;
&amp;nbsp; Result: PASS</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>Nullnerds: worldnerds</title>
		<link rel="alternate" type="text/html" href="http://nullnerds.wordpress.com/2007/08/04/reiniciando-no-dedao/"/>
		<id>http://nullnerds.wordpress.com/2007/08/04/reiniciando-no-dedao/</id>
		<updated>2007-08-04T21:51:30+00:00</updated>
		<content type="html">Se você, assim como eu, divide o pc com a mãe, o pai, o irmão, a irmã, a vó&amp;#8230; e por isso tem a infelicidade de ter o ruindows instalado na sua máquina, e o pior, tem que sair pra comprar pão na padaria da esquina, deixa o computador ligado com seu linux rodando e [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=nullnerds.wordpress.com&amp;blog=765606&amp;post=20&amp;subd=nullnerds&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>worldnerds</name>
			<uri>http://nullnerds.wordpress.com</uri>
		</author>
	</entry>

	<entry>
		<title>Nullnerds: worldnerds</title>
		<link rel="alternate" type="text/html" href="http://nullnerds.wordpress.com/2007/07/17/fork-bomb/"/>
		<id>http://nullnerds.wordpress.com/2007/07/17/fork-bomb/</id>
		<updated>2007-07-17T00:02:52+00:00</updated>
		<content type="html">O fork bomb é uma forma de ataque denial of service que implementa a operação fork, ou uma funcionalidade semelhante, rodando um processo que cria outro processo, que por sua vez cria outro processo e assim até travar o sistema. O fork bomb funciona criando um grande número de processos muito rapidamente e recursivamente, provocando [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=nullnerds.wordpress.com&amp;blog=765606&amp;post=17&amp;subd=nullnerds&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>worldnerds</name>
			<uri>http://nullnerds.wordpress.com</uri>
		</author>
	</entry>

	<entry>
		<title>Nullnerds: worldnerds</title>
		<link rel="alternate" type="text/html" href="http://nullnerds.wordpress.com/2007/07/10/voltamos-com-talvez-boas-noticias/"/>
		<id>http://nullnerds.wordpress.com/2007/07/10/voltamos-com-talvez-boas-noticias/</id>
		<updated>2007-07-10T02:51:11+00:00</updated>
		<content type="html">Depois de muito tempo sem postar, a Null volta à tona. Agora temos um canal na freenode, caso você precise de ajuda, e prometemos pelo menos um post por semana. Happy hack! #null.br @ irc.freenode.net&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=nullnerds.wordpress.com&amp;blog=765606&amp;post=18&amp;subd=nullnerds&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>worldnerds</name>
			<uri>http://nullnerds.wordpress.com</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: "KindaPerl6" project roadmap</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/33425?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/33425?from=rss</id>
		<updated>2007-06-04T18:31:39+00:00</updated>
		<content type="html">&lt;p&gt;I finished the first version of the KindaPerl6 project roadmap, after a whole month of planning, prioritizing, and procrastination.
&lt;/p&gt;&lt;p&gt;
This version is a filtered out &quot;main development track&quot;, extracted from the otherwise
&lt;a href=&quot;http://svn.pugscode.org/pugs/v6/docs/kp6-Notes.txt&quot;&gt;
anarchistic development structure
&lt;/a&gt;
 (somebody called it &quot;genetic programming&quot;).
&lt;/p&gt;&lt;p&gt;
The goal of phases and milestones here is really just to break the project down into bite-sized pieces that regular hackers can get their heads around.
&lt;/p&gt;&lt;p&gt;
Specifically, the plan doesn't tell people what they should not to do.
Small projects are much welcome. You might even get a &lt;a href=&quot;http://use.perl.org/article.pl?sid=07/03/22/1542235&quot;&gt;
Perl 6 Microgrant
&lt;/a&gt;.
I'm told that the TPF really wants to give out a couple of kp6/mp6/6STD grants!
&lt;/p&gt;&lt;p&gt;
The roadmap as html - &lt;a href=&quot;http://moritz.faui2k3.org/pugs_pod/kp6-roadmap&quot;&gt;http://moritz.faui2k3.org/pugs_pod/kp6-roadmap
&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;
The roadmap as pod - &lt;a href=&quot;http://svn.pugscode.org/pugs/v6/docs/kp6-roadmap.pod&quot;&gt;http://svn.pugscode.org/pugs/v6/docs/kp6-roadmap.pod&lt;/a&gt; &lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: Project ideas</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/32518?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/32518?from=rss</id>
		<updated>2007-02-27T12:11:37+00:00</updated>
		<content type="html">&lt;p&gt;These are Perl 6 project ideas that I've been working on:&lt;/p&gt;&lt;p&gt;- Develop kp6-C (started)&lt;/p&gt;&lt;p&gt;- Develop kp6-Parrot, writing new PMCs as-needed&lt;/p&gt;&lt;p&gt;- Finish kp6 closure and coroutine implementation (perl5 backend)&lt;/p&gt;&lt;p&gt;- Implement a lazy Array PMC (is this SoC'able?); coordinate with particle++ work on generators&lt;/p&gt;&lt;p&gt;- Find out how to implement lazy Arrays for pugs; maybe learn some Haskell&lt;/p&gt;&lt;p&gt;- Fix Pugs::Compiler::Rule to current specifications&lt;/p&gt;&lt;p&gt;- Make v6.pm (or kp6?) use the Perl6-STD grammar&lt;/p&gt;&lt;p&gt;- Finish Pugs::Compiler::Rule p5-regex backend, using the new features implemented by dmq++&lt;/p&gt;&lt;p&gt;- Merge some of kp6 ideas to v6.pm; this would help making v6.pm feature-complete&lt;/p&gt;&lt;p&gt;- Help putter++ with pluggable v6.pm&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>Lorn: Sandman - Casa De Bonecas</title>
		<link rel="alternate" type="text/html" href="http://lornlab.org/blog/2007/02/17/sandman-casa-de-bonecas/"/>
		<id>http://lornlab.org/blog/2007/02/17/sandman-casa-de-bonecas</id>
		<updated>2007-02-17T15:06:00+00:00</updated>
		<content type="html">&lt;p&gt;Como Sandman é tão famoso e eu nunca tinha lido, não resisti, e comecei a ler  a queria começar pelo 1o mas a edição
está esgotada (!!) então comecei pelo 2o, Casa de Bonecas pelo que percebi não há nenhum problema com isso você não perde nada.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;O titulo é estranho e você só entende o porque dele nas ultimas 10 páginas.&lt;/p&gt;

&lt;p&gt;Sandman é muito legal, eu nunca tinha lido nada do Neil Gaiman ok, outro erro, mas depois de Sandman, fiquei animado a comprar
 alguns livros dele, agora preciso comprar outro “livro” de Sandman mas, só 1 por mês então, o próximo só no mês que vem é muito caro.&lt;/p&gt;</content>
		<author>
			<name>Lorn</name>
			<uri>http://lornlab.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nullnerds: worldnerds</title>
		<link rel="alternate" type="text/html" href="http://nullnerds.wordpress.com/2007/02/13/modulos-perl-que-salvarao-sua-vida/"/>
		<id>http://nullnerds.wordpress.com/2007/02/13/modulos-perl-que-salvarao-sua-vida/</id>
		<updated>2007-02-13T02:40:52+00:00</updated>
		<content type="html">use strict; # use isto! USE ISTO! USE ISTO! Esse módulo ( ou pragma) é uma boa pratica de programação, ele faz com que seu programa tenha uma postura de um bom programador, restringindo variáveis não declaradas, links simbólicos, e barewords ( nome e/ou identificador descoberto). use warnings; Habilita warnings ( avisos), tantos os avisos [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=nullnerds.wordpress.com&amp;blog=765606&amp;post=8&amp;subd=nullnerds&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>worldnerds</name>
			<uri>http://nullnerds.wordpress.com</uri>
		</author>
	</entry>

	<entry>
		<title>Nullnerds: worldnerds</title>
		<link rel="alternate" type="text/html" href="http://nullnerds.wordpress.com/2007/02/13/redirecionando-o-fluxo/"/>
		<id>http://nullnerds.wordpress.com/2007/02/13/redirecionando-o-fluxo/</id>
		<updated>2007-02-13T00:51:04+00:00</updated>
		<content type="html">Eaeee&amp;#8230; vo falar um poco aqui de redirecionamento de fluxos, que eh uma coisa muito fácil e no entanto muito útil. Bom, existem basicamente 2 tipos de operadores de redirecionamento de fluxo: para leitura: pipe ( &amp;#124; ) após o comando, &amp;#60; e &amp;#60;&amp;#60;; para escrita: pipe ( &amp;#124; ) precedendo o comando, &amp;#62; e [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=nullnerds.wordpress.com&amp;blog=765606&amp;post=7&amp;subd=nullnerds&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>worldnerds</name>
			<uri>http://nullnerds.wordpress.com</uri>
		</author>
	</entry>

	<entry>
		<title>Nullnerds: worldnerds</title>
		<link rel="alternate" type="text/html" href="http://nullnerds.wordpress.com/2007/02/12/gentoo-japh/"/>
		<id>http://nullnerds.wordpress.com/2007/02/12/gentoo-japh/</id>
		<updated>2007-02-12T17:31:21+00:00</updated>
		<content type="html">link: http://pastebin.ca/352196&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=nullnerds.wordpress.com&amp;blog=765606&amp;post=6&amp;subd=nullnerds&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>worldnerds</name>
			<uri>http://nullnerds.wordpress.com</uri>
		</author>
	</entry>

	<entry>
		<title>Nullnerds: worldnerds</title>
		<link rel="alternate" type="text/html" href="http://nullnerds.wordpress.com/2007/02/12/recuperando-senha-do-root-lilo/"/>
		<id>http://nullnerds.wordpress.com/2007/02/12/recuperando-senha-do-root-lilo/</id>
		<updated>2007-02-12T16:40:11+00:00</updated>
		<content type="html">Na tela do lilo digite: LILO: linux single Na maioria das distros isso te taca num terminal de root, em outras te taca num console de recuperação que pede a senha de root. Nesse caso dê um [CTRL] + C, se funcionar beleza, se não, volte pra tela do lilo e dessa vez digite: LILO: [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=nullnerds.wordpress.com&amp;blog=765606&amp;post=3&amp;subd=nullnerds&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</content>
		<author>
			<name>worldnerds</name>
			<uri>http://nullnerds.wordpress.com</uri>
		</author>
	</entry>

	<entry>
		<title>Lorn: Livro Minority Report</title>
		<link rel="alternate" type="text/html" href="http://lornlab.org/blog/2007/01/23/livro-minority-report/"/>
		<id>http://lornlab.org/blog/2007/01/23/livro-minority-report</id>
		<updated>2007-01-23T14:11:00+00:00</updated>
		<content type="html">&lt;p&gt;Se você está pensando em comprar este livro para conhecer mais detalhes sobre o filme, coisas escondidas, esquece.&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;O livro é bem diferente do filme, tem os precogs e o personagem do Tom Cruise, mais o resto é bem diferente.&lt;/p&gt;

&lt;p&gt;O livro tem vários contos, o 1a é o Minority Report tem apenas 60 paginas (!!), e não é um dos melhores do livro,
o melhor na minha opinião é o conto que originou o filme &lt;a href=&quot;http://pt.wikipedia.org/wiki/Total_Recall&quot;&gt;&amp;#8220;Vingador do futuro&amp;#8221;&lt;/a&gt;  lembra? o conto chama-se:&lt;/p&gt;

&lt;p&gt;Podemos recordar para você, por um preço razoável
O bom de um livro com vários contos pequenos, é que você não precisa passar por 300 ~ 400 paginas para saber o final, a história é bem sucinta. Acabou um conto? leia outro livro se quiser.&lt;/p&gt;

&lt;p&gt;Isso é uma das coisas que eu mais gosto em Ficção Cientifica, vai direto ao ponto não tem encheção de linguiça e você fica pensando:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;“Como conseguiram pensar isso a 20 ~ 30 anos atrás?”&lt;/p&gt;&lt;/blockquote&gt;</content>
		<author>
			<name>Lorn</name>
			<uri>http://lornlab.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: I have absolutely no idea how you are able to do some of the things you do.</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2007/01/i-have-absolutely-no-idea-how-you-are.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-8790165591972271844</id>
		<updated>2007-01-08T03:55:03+00:00</updated>
		<content type="html">Ano novo, primeiro post do ano... 7 dias atrasado.&lt;br /&gt;&lt;br /&gt;No final do mês passado pensei em escrever um post sobre &quot;insatisfação musical crônica&quot;, mas acabei ficando com preguiça e não escrevi nada. O problema era que nenhuma música parecia me agradar, numa seleção de 15 músicas eu gostava de uma ou duas. Estava no fundo poço e (oh não!) comecei até a escutar rádio convencional.&lt;br /&gt;&lt;br /&gt;Felizmente, encontrei a salvação. &lt;span&gt;Eu abri a caixa de Pandora.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;No passado eu já tinha achado as rádios personalizadas da &lt;a href=&quot;http://www.last.fm/&quot;&gt;last.fm&lt;/a&gt; incríveis. Elas eram razoavelmente boas e coerentes - certamente melhores do que uma seleção de músicas que eu fizesse manualmente. Mas ainda assim, não eram boas o suficiente. Faltava algo.&lt;br /&gt;&lt;br /&gt;O banco de dados do &lt;a href=&quot;http://www.audioscrobbler.net/&quot;&gt;Audioscrobbler&lt;/a&gt; (o que fica por trás da last.fm) provê as bases para um ótimo trabalho estatístico. Com seus dados, pode-se relacionar muito bem artistas e músicas no sentido de que &quot;quem escuta isso, também escuta isso&quot; e coisas assim. Porém essa metodologia estatística não cobre algumas pecualiaridades do mundo da música. Uma pessoa pode gostar de todas as músicas da moda, mas isso não quer dizer que essas músicas tenham algo em comum entre si. Ou ainda, uma pessoa pode gostar de um artista em particular, mas isso não quer dizer que as músicas deste artista todas se pareçam entre si. Isso faz com que as recomendações e sugestões do last.fm pareçam são superficiais, apesar de corretas.&lt;br /&gt;&lt;br /&gt;Eu sentia falta de recomendações automatizadas que fossem mais &quot;orgânicas&quot;. Antigamente, costumava usar bastante um aplicativo, o &lt;a href=&quot;http://www.moodlogic.com/&quot;&gt;Moodlogic&lt;/a&gt;. Ele também servia ao propósito de sugerir músicas e também servia pra organizar as músicas em seu computador, mas ele não possuia o serviço de rádio. Em 2002-2003 essas coisas não eram tão comuns assim. Seu grande ponto positivo era que as músicas eram classificadas pelos usuários em critérios como &quot;agressivas&quot;, &quot;românticas&quot; ou &quot;sombrias&quot;. Com isso, eles conseguiam criar relações entre músicas que eram muito mais profundas e sugerir seleções de músicas que realmente eram boas. Infelizmente, o desenvolvimento da aplicação parou por volta de 2003. Ele funciona até hoje e eu ainda o utilizo às vezes para transferir músicas para meu mp3 player, apesar de antigo, ainda acho que vale a pena dar uma olhada.&lt;br /&gt;&lt;br /&gt;Um projeto bastante interessante é o &lt;a href=&quot;http://www.pandora.com/mgp.shtml&quot;&gt;Projeto Genoma Musical&lt;span&gt;&lt;/span&gt;&lt;/a&gt;. Ele é baseado na idéia de quebrar as músicas em várias características específicas, como se fossem gens. A idéia é bastante interessante e é nesse banco de dados que é baseada a &lt;a href=&quot;http://www.pandora.com/&quot;&gt;rádio Pandora&lt;/a&gt;. Nela, você especifica uma música ou artista e é gerada rádio personalizada que tocará uma seleção de coisas que se parecem com aquilo. Você pode guiar o algoritmo de seleção, informando se aquela música específica foi boa ou ruim ou ainda se você simplesmente está enjoado dela e quer que ela só toque de novo daqui um mês. Tudo isso é feito de dentro do seu browser, sem instalação de nenhum programa, e seu profile fica acessível de qualquer lugar. Funciona impressionantemente bem, ainda mais depois do tempo inicial de aprendizado do sistema (sim, ele vai aprendendo e melhorando ao longo do tempo).&lt;br /&gt;&lt;br /&gt;Como a cereja no topo do sundae, existe uma &lt;a href=&quot;http://code.yerblog.com/lastfm/&quot;&gt;extensão pro Firefox&lt;/a&gt; que faz com que as músicas tocadas na rádio Pandora sejam submetidas para o banco de dados do Audioscrobbler. Então, apesar de estar escutando a rádio Pandora você tem todas as estatísticas da last.fm disponíveis e acaba por contribuir também com a qualidade dos relacionamentos feitos pelo site.&lt;br /&gt;&lt;br /&gt;Com isso, minha &quot;insatisfação musical crônica&quot; foi curada.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-8790165591972271844?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: What were you doing? He doesn't know.</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/12/what-were-you-doing-he-doesnt-know.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-116554938150223307</id>
		<updated>2006-12-08T01:43:01+00:00</updated>
		<content type="html">Quase 3 meses sem um sinal de vida por aqui.  É, o tempo realmente passa rápido. Final de semestre na universidade somado com trabalho somado com vida pessoal resulta nisso.&lt;br /&gt;&lt;br /&gt;Uma coisa que achei bastante interessante nesses últimos tempos foi ler sobre um composto químico, um medicamento, chamado &lt;span&gt;Modafinil&lt;/span&gt;. Meu primeiro contato com o assunto foi em um &lt;a href=&quot;http://science.slashdot.org/article.pl?sid=06/11/22/1515216&quot;&gt;artigo no Slashdot&lt;/a&gt;, seu título era &lt;span&gt;&quot;Drugs Eradicate the Need For Sleep&quot;&lt;/span&gt; e só pelo título eu já teria motivação suficiente pra procurar tudo a respeito.&lt;br /&gt;&lt;br /&gt;O &lt;span&gt;Modafinil&lt;/span&gt; é um estimulante que funciona de uma maneira não convencional. Ao invés de estimular o cérebro inteiro como estimulantes tradicionais (à base de cafeína, por exemplo) fazem, ele trabalha de forma mais seletiva alterando a própria estrutura do sono em nosso cérebro. O resultado disso tudo é um comprimido que, ao ser ingerido, melhora sua concentração e diminui sua necessidade de sono. O mais incrível é que além disso tudo, ao dormir, o seu sono será &lt;span&gt;melhor e mais restaurador&lt;/span&gt; que um sono convencional. E ele consegue todos esse benefícios sem efeitos colaterais.&lt;br /&gt;&lt;br /&gt;Apesar de, oficialmente, ser um medicamento indicado para pessoas narcolépticas ou com déficit de atenção, nos USA a droga vem sendo utilizada como uma &lt;span&gt;lifestyle drug&lt;/span&gt; e ganhou até mesmo o apelido de &lt;span&gt;work drug&lt;/span&gt;, já que muitas pessoas estão a tomando para conseguir melhor produtividade no trabalho (em especial, desenvolvedores de software).&lt;br /&gt;&lt;br /&gt;Além disso, boa parte do financiamento das pesquisas nessa área é financiada pelo Departamento de Defesa dos USA, visando aumentar a resistência de soldados em operações de longa duração. O próprio &lt;span&gt;Modafinil&lt;/span&gt; já foi e continua sendo utilizando em operações do exército americano com grande sucesso.&lt;br /&gt;&lt;br /&gt;Obviamente, por aqui esse medicamento nem existe ainda. Nos USA, ele é aprovado pelo FDA desde 2001 para os usos citados acima. No Brasil, até hoje ainda não foi aprovado pela vigilância sanitária.&lt;br /&gt;&lt;br /&gt;Considerando que pra mim ele mataria dois coelhos com uma cajadada só (déficit de atenção e falta de tempo) acho que quando ele estiver disponível no Brasil vou acabar procurando um médico. Acho que seria algo tão bom conseguir dormir menos e se sentir descansado além de conseguir se concentrar melhor nas coisas.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Só me resta sonhar. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Aliás... além de tudo que eu citei, um dos vários outros efeitos benéficos do Modafinil é que pessoas que normalmente não sonham, voltam a sonhar. Bem interessante.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-116554938150223307?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Lorn: Relato Conilsi - YAPC::SA::2006</title>
		<link rel="alternate" type="text/html" href="http://lornlab.org/blog/2006/11/21/relato-conilsi-yapc-sa-2006/"/>
		<id>http://lornlab.org/blog/2006/11/21/relato-conilsi-yapc-sa-2006</id>
		<updated>2006-11-21T15:21:00+00:00</updated>
		<content type="html">&lt;p&gt;O Conisli desse ano, certamente foi o melhor que eu participei, e como já disse para alguns amigos
 monges para o Perl, foi melhor que o Fisl&lt;/p&gt;

&lt;p&gt;Infelizmente não podemos contar com a presença do Larry Wall, ele ficou doente aos 45 do 2a tempo e não pode vir,
 mas a Hacker Audrey Tang deu conta do recado, dando palestrar muito boas.&lt;/p&gt;

&lt;p&gt;PS: vocês precisam ver ela programando, é meio insano, as vezes parece que ela está escrevendo um texto normal,
 sem contar que ela digita muito rápido.&lt;/p&gt;

&lt;p&gt;Vamos a palestra:&lt;/p&gt;

&lt;p&gt;1a Dia:&lt;/p&gt;

&lt;p&gt;Optimization for fun: Primeiro Keynote do evento, Audrey Tang começou falando sobre comida, sim comida! achei estranho
 também, mas depois entendi, ela comparou o Mc Donald’s com o software proprietário, vem em uma caixinha fechada, você não
 pode dar opinião, já a comida em restaurante normal, muitas vezes o chefe pergunta se você gostou, se você der uma sugestão talvez eles aceitem.&lt;/p&gt;

&lt;p&gt;Ela também falou do modelo “anarquismo” de desenvolvimento, como se você acha que uma coisa tá errada, não vá falar pro
criador que está errada, faça a coisa certa e mostre pro criador, muitas vezes ao fazer isso você descobre que seu jeito é
errado, mas modificando um pouco é legal, e como ela mesmo disse você ganha mais um “commit bit”&lt;/p&gt;

&lt;p&gt;Nesse meio tempo no stand da TheSource o Alex, que eu esqueci o apelido porque é muito complicado, alguma coisa zohar sei lá,
 pois bem ele me mostrou um bug no mysql, mas especificamente no UDF do mysql, que me deixou um pouco assustado e que me
 lembra como eu sou feliz sendo programador agora ao invés de Administrador de rede&lt;/p&gt;

&lt;p&gt;2a dia:&lt;/p&gt;

&lt;p&gt;A Filosofia do Unix: Conheci a famosa figura do software livre, Rubens Queiroz, responsável pelo Dicas-L e pelo Rautu. Deu uma
palestra muito boa, mostrando de forma divertida que ( ironicamente … ) era sua experiência de trabalho, disse coisas do
 tipo “quando você digita um comando e ele demora muito, é porque há algo errado..” hehe, muito bom.
Depois do almoço foi as palestras dos monges&lt;/p&gt;

&lt;p&gt;ETL e Perl: Fui ver essa palestra mais interessado nas Expressões Regulares, era como se ETL fosse “yet another” sigla para
 alguma coisa que se faz com expressão regular  mas ai que fui entender, que ETL é uma coisa muito legal, não sei explicar
 em poucas palavras se estão interessado vejam na wikipedia.&lt;/p&gt;

&lt;p&gt;PPS ( Postfix Perl Spam): O mda, contou para nós nessa palestra um pouco da sua experiência com postfix, e o quanto a empresa que
 ele trabalha economizou com softwares livres, com o Clamav, eu não me lembro muito bem o valor, mais era muito, sem contar que com
 software livre tudo funcionava, o outro proprietário levava o servidor a 100% de load average e não funcionava direito.&lt;/p&gt;

&lt;p&gt;Construindo um motor de similiaridade com Perl: O monge português lá da terra do “vira-vira…” Nelio Nunes nos mostrou uma introducão
 sobre “Information Retrieval” com Perl, muito legal, o problema era que qualquer errinho que ele cometia no exemplo que ele estava escrevendo
 o mago já zuava “ele é português…” hehe.&lt;/p&gt;

&lt;p&gt;Teste, Perl e TAP: Adriano Ferreira um monge que veio lá de Minas, mostrou como é fácil o “jeito” Perl de testar as coisas, eu nunca
 tinha tido curiosidade sobre isso, mas quando ele começou a mostrar eu já pensei “hmm, vou parar com aqueles programinhas testes_foobar.pl,
 e fazer algo mais &lt;em&gt;Perl&lt;/em&gt;”&lt;/p&gt;

&lt;p&gt;3a Dia:&lt;/p&gt;

&lt;p&gt;Este dia perdi a hora, estava cansado  e perdi a palestra do Flavio Glock sobre o v6.pm a implementação do Perl6 em Perl5,
 mas cheguei a tempo para a palestra da Audrey.&lt;/p&gt;

&lt;p&gt;Perl6 Now!: Um introdução ao Perl6, aquele tipo de coisa que voce fica babando “eu quero..” hehe&lt;/p&gt;

&lt;p&gt;Depois o Solli deu um curso de Perl5 na parte de mini-cursos do Conisli, muito bem pensado por sinal, não estou certo se
 o mini-curso foi no 3a dia ou no 2a, tenho certeza que o mini-curso de Perl6 foi no 3a dia, e pasmem vocês lotou, tinha pessoas que
 não conhecia o Perl, que queria conhecer o Perl6, o curso foi ministrado pelo Flávio Glock.&lt;/p&gt;

&lt;p&gt;Na mesma hora estava acontecendo também a palestra do David Fetter.
PL/Perl: Como fazer Procedures usando Perl, isso pode ser usado para muitas coisas, ele deu foco no uso para Benchmark, em um dos
 scripts de exemplo dele, ele pegava o pid que um SELECT criava, e analisava olhando no output do ps, quanto tempo demorou, etc.&lt;/p&gt;

&lt;p&gt;Paralelamente  estava acontecendo também os LightningTalks de Perl ( Sim, eu estava pulando de uma sala a outra ) Cheguei no começo da
 palestra da Audrey, que de acordo a descrição que ela me mandou por email.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;I’d like to add one “ppencode” talk to the LT schedule. The abstract is simply: “The highly acclaimed talk from YAPC::Asia now comes to Latin America!”&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Vocês podem ter uma previa da palestra neste link do youtube.&lt;/p&gt;

&lt;p&gt;Bom, depois disso foi o fechamento, para terminar algumas coisas:&lt;/p&gt;

&lt;p&gt;-O Conisli está ficando melhor a cada ano&lt;/p&gt;

&lt;p&gt;-Agradecimento a Segula, pelo patrocinio da Audrey Tang e do Larry Wall.&lt;/p&gt;

&lt;p&gt;-Usuarios de Slackware não gostam de chaves ssh dos outros&lt;/p&gt;</content>
		<author>
			<name>Lorn</name>
			<uri>http://lornlab.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: I figured, I've slept the first eleven years of my life away, so now I'm just making up for it.</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/09/i-figured-ive-slept-first-eleven-years.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-115888855574840930</id>
		<updated>2006-09-21T23:29:15+00:00</updated>
		<content type="html">Aparentemente, eu ganhei o prêmio de blog menos atualizado do universo ou algo assim. Então me senti na obrigação de consertar a situação.&lt;br /&gt;&lt;br /&gt;O fato é que, infelizmente, o dia tem apenas 24 horas. Isso não é suficiente. Desde pequeno eu via aquelas propagandas do Unibanco 30 Horas e pensava: &quot;Nossa, como seria bom se o meu dia tivesse 30 horas&quot;. Infelizmente, o dia não tem 30 horas (e o Unibanco não é um bom banco). Isso significa poucas horas de sono e pouco tempo livre.&lt;br /&gt;&lt;br /&gt;Na verdade, escrever um post de blog não é algo que exige muito tempo, normalmente. O problema é que sob stress e cansaço, não surgem muitas boas idéias sobre o que escrever. E o pouco tempo realmente livre que eu tenho em casa eu acabo gastando com uma atividade bastante interessante: jogos online.&lt;br /&gt;&lt;br /&gt;Falando em jogos online, esse mês é o lançamento do &lt;a href=&quot;http://www.everybody-dies.com&quot;&gt;DefCon.&lt;/a&gt; Ele é um jogo que parece ser bastante legal: você é um general que de um bunker comanda suas tropas num cenário mundial de guerra nuclear. Ele é feito pelos mesmos caras que fizeram o &lt;a href=&quot;http://www.darwinia.co.uk/&quot;&gt;Darwinia&lt;/a&gt;, um dos jogos mais revolucionários pra cena indie de produção de jogos. Portanto, eu tenho altas expectativas para o jogo e já fiz pre-order da minha cópia pelo &lt;a href=&quot;http://www.steampowered.com&quot;&gt;Steam&lt;/a&gt; (custa somente US$ 9,95 em pre-order, vale a pena).&lt;br /&gt;&lt;br /&gt;Acho que acabei de abdicar do meu prêmio...&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-115888855574840930?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: Pugs::Compiler::Rule and Pugs</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/30782?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/30782?from=rss</id>
		<updated>2006-08-28T20:58:58+00:00</updated>
		<content type="html">&lt;p&gt;audreyt is considering using Pugs::Compiler::Rule as an alternate Rules library for Pugs, in addition to PGE.&lt;/p&gt;&lt;p&gt;audreyt and PerlJam suggested porting Rules to PCRE, which would let us bootstrap anywhere we can find PCRE (php, python, java, etc).&lt;/p&gt;&lt;p&gt;an alternative would be to implement P::C::R in plain Perl6, which is straightforward (and mostly done - see http://svn.openfoundry.org/pugs/v6/v6.pm/lib/Pugs/Grammar/P6P6Rule.pm),&lt;br /&gt;or even, to port P::C::R to C (libp6re would require that the callback handlers be rewritten in C instead of Hs/P6/P5).&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: towards a Pure-Perl6 v6.pm</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/30742?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/30742?from=rss</id>
		<updated>2006-08-24T19:00:46+00:00</updated>
		<content type="html">&lt;p&gt;The v6.pm module Pugs::Grammar::Term has been ported to Perl6 and it successfully replaces the Perl5 version.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://svn.openfoundry.org/pugs/perl5/Pugs-Compiler-Perl6/lib/Pugs/Grammar/P6Term.pm&quot;&gt;lib/Pugs/Grammar/P6Term.pm&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The circularity is handled by a &lt;a href=&quot;http://svn.openfoundry.org/pugs/perl5/Pugs-Compiler-Perl6/lib/Pugs/Grammar/P6Term.pmc&quot;&gt;.pmc file&lt;/a&gt;, which will be distributed together with the Perl6 source code.&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: Pugs::Runtime::Value is under way</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/30643?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/30643?from=rss</id>
		<updated>2006-08-15T22:05:07+00:00</updated>
		<content type="html">&lt;p&gt;Pugs::Runtime::Value is v6.pm version of Perl6::Value and Perl6::Container, which were used in the PIL-Run project.&lt;/p&gt;&lt;p&gt;Instead of Perl6::MetaModel, Pugs::Runtime::Value uses the Perl 6 object system through 'use v6' - Pugs::Runtime::Value is pure-p6, except for very low-level stuff. Circularity - Yay!&lt;/p&gt;&lt;p&gt;http://svn.openfoundry.org/pugs/perl5/Pugs-Runtime-Value/&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: There is nowhere I can't go, there is nowhere I won't find you.</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/07/there-is-nowhere-i-cant-go-there-is.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-115379948469187739</id>
		<updated>2006-07-25T22:38:37+00:00</updated>
		<content type="html">Só nesses últimos dias reparei algo curioso ao olhar pra minha barra de ferramentas do Google no FireFox: inexplicavelmente, esse blog tem um &lt;a href=&quot;http://en.wikipedia.org/wiki/PageRank&quot;&gt;PageRank&lt;/a&gt; de 4 (em 10). Para um blog de baixo tráfego, com um pico récorde de 27 visitantes semanais, isso é algo &lt;span&gt;extremamente&lt;/span&gt; alto.&lt;br /&gt;&lt;br /&gt;O PageRank é a pontuação atribuída pelo &lt;a href=&quot;http://en.wikipedia.org/wiki/Web_crawler&quot;&gt;&lt;span&gt;web crawler&lt;/span&gt;&lt;/a&gt; do Google a cada página e é o que dita a relevância daquela página em relação às outras e é o que faz o algoritmo do Google funcionar. A maioria das páginas tem um PageRank igual a 0.&lt;br /&gt;&lt;br /&gt;De fato, essa observação faz até mesmo com que eu comece a duvidar um pouco da qualidade do algoritmo de ranking do Google, pois eu não faço a menor idéia de como isso aconteceu.&lt;br /&gt;&lt;br /&gt;PS: para checar qual é o PageRank de um site sem a barra de ferramentas do Google instalada, basta seguir &lt;a href=&quot;http://www.prchecker.info/check_page_rank.php&quot;&gt;esse link&lt;/a&gt;.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-115379948469187739?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: Never send a human to do a machine's job.</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/07/never-send-human-to-do-machines-job.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-115371785465840369</id>
		<updated>2006-07-24T03:10:54+00:00</updated>
		<content type="html">Já faz algum tempo que eu conheço o &lt;a href=&quot;http://last.fm/&quot;&gt;last.fm&lt;/a&gt; e por alguns meses até esqueci que estava utilizando seus serviços &quot;sem querer&quot; pelo plugin instalado em meu Winamp. Mas só recentemente comecei a usar de verdade os serviços mais interessantes - como as rádios online disponíveis, por exemplo.&lt;br /&gt;&lt;br /&gt;Pra quem não conhece, o last.fm é uma mescla de rádio online com social networking que funciona muito bem e é uma aplicação &lt;span&gt;útil&lt;/span&gt; para o conceito de redes de amigos (e não o desperdício de tempo que são coisas como o orkut). Você instala um plugin em seu tocador de música e o servidor deles vai formando o seu perfil musical e pode fazer perfis musicais, dizer quem são seus &quot;vizinhos musicais&quot; e formar rádios personalizadas de acordo com seu gosto.&lt;br /&gt;&lt;br /&gt;Nesses últimos dias, com um pouco mais de tempo livre, tenho ficado bastante tempo escutando música quando estou em casa e hoje finalmente &quot;caiu a ficha&quot;: o last.fm é a melhor coisa que aconteceu à música desde os tempos áureos do AudioGalaxy. O sistema consegue fazer recomendações e montar uma rádio a seu gosto muito bem, muito melhor que qualquer outra pessoa conseguiria provavelmente.&lt;br /&gt;&lt;br /&gt;Resolvi então testar os serviços pagos. Por uma pequena doação mensal de 3 dólares você tem acesso à uma rádio personalizada só com as músicas que você já escutou e outra com as músicas que você &quot;amou&quot; (tem um recurso no player deles pra enviar essa informação pro servidor). Além disso, como assinante, você tem direito a ver essas mesmas rádios de outras pessoas. Então se você quer dar uma ouvida nas músicas de algum amigo seu - por curiosidade mesmo ou qualquer outro motivo - você faz isso com um clique no mouse. Tudo que você precisa é ter uma conexão decente pois as streams são de alta qualidade (128kbps).&lt;br /&gt;&lt;br /&gt;Estou realmente impressionado com a qualidade da &quot;personal radio&quot; provida pelos meros 3 dólares mensais. É como se você tivesse boa parte das músicas que você gosta em qualquer lugar do planeta em que exista uma conexão de banda larga disponível pra você.&lt;br /&gt;&lt;br /&gt;Além disso, pra quem gosta de descobrir coisas novas, é bem legal. Enquanto eu escrevo esse post, acabei de descobrir uma música nova que gostei enquanto escuto a rádio de um vizinho musical (só pra constar, a música é: &lt;a href=&quot;http://www.last.fm/music/Ladytron&quot; title=&quot;&quot; class=&quot;&quot;&gt;Ladytron&lt;/a&gt; - &lt;a href=&quot;http://www.last.fm/music/Ladytron/_/Destroy+Everything+You+Touch&quot; title=&quot;Ladytron – Destroy Everything You Touch&quot;&gt;Destroy Everything You Touch&lt;/a&gt;). Tudo isso é feito sem intervenção humana direta. O &quot;cérebro&quot; do last.fm aprende de acordo com o que você escuta e com o que as outras pessoas escutam e no final faz recomendações relevantes.&lt;br /&gt;&lt;br /&gt;Hoje ainda fiquei conhecendo outros recursos legais para artistas independentes. Você pode comprar exposição nas rádios do last.fm. Isso é algo comum e acontece em qualquer rádio. O que faz dessa forma de promoção da banda no last.fm muito mais interessante e provavelmente efetiva é que você pode escolher quem vai escutar, então sua propaganda é completamente direcionada - só vai pra quem gosta do seu tipo de música. Bem legal.&lt;br /&gt;&lt;br /&gt;Eu poderia continuar falando mais várias e várias coisas mas vou parar por aqui pois daqui a pouco vão desconfiar que estão me pagando pra escrever isso. ;-)&lt;br /&gt;&lt;br /&gt;Mas pra quem realmente gosta de música, tem banda larga e não é muito pão-duro (3 dólares são uns só 7 reais por mês) eu recomendo contratar o serviço. Principalmente quem já gosta dos recursos gratuitos do last.fm. Pra quem é pão-duro de verdade, o serviço gratuito já é bom o suficiente.&lt;br /&gt;&lt;br /&gt;PS: essa listagem das músicas que aparece ao lado nesse blog é um dos recursos gratuitos do last.fm.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-115371785465840369?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: What do you think I am? Human?</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/07/what-do-you-think-i-am-human.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-115340911075580497</id>
		<updated>2006-07-20T13:25:10+00:00</updated>
		<content type="html">Férias.&lt;br /&gt;&lt;br /&gt;O que fazer? Eu até queria viajar. Mas tudo indica que não vai dar.&lt;br /&gt;Por enquanto, o que eu tenho feito é trabalhar todos os dias, dar umas saídas à noite e ficar programando de madrugada. Em outras palavras: programar, sair, programar, dormir.&lt;br /&gt;&lt;br /&gt;O &quot;pior&quot; de tudo é que eu gosto dessa rotina. É interessante como o trabalho se torna algo bom quando se trabalha com algo que gosta. Ele deixa de ser uma uma obrigação chata da qual você quer se livrar logo e se torna algo que até mesmo faz bem.&lt;br /&gt;&lt;br /&gt;Aliás, isso me lembra de algo: &lt;span&gt;I'm a workaholic&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Mesmo depois de um semestre estressante como foi, agora que chegaram as férias eu ainda gasto boa parte do meu tempo programando. Eu sei que muitas pessoas que eu conheço me achariam louco ao ler isso.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-115340911075580497?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: Pugs::Compiler::Rule refactoring</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/30333?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/30333?from=rss</id>
		<updated>2006-07-19T05:17:05+00:00</updated>
		<content type="html">&lt;p&gt;Pugs::Compiler::Rule has been branched in the svn repository in order to fix some architecture problems:&lt;/p&gt;&lt;p&gt;- the bootstrapped compiler and the user-side runtime will no longer be shared. This will make it easier to make changes in the user-side, without needing to redo the bootstrap.&lt;/p&gt;&lt;p&gt;- there will be a single Match class - currently :ratchet and non-ratchet rules create different match objects. The unification will fix the long due TODO of allowing calls between ratchet and non-ratchet rules.&lt;/p&gt;&lt;p&gt;Today Audrey also contributed a change in the Match class, allowing '$($/)' to return the result object - this syntax is the long form of '$/()'.&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: v6.pm rules</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/30189?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/30189?from=rss</id>
		<updated>2006-07-06T04:06:25+00:00</updated>
		<content type="html">&lt;p&gt;v6.pm now has rule declarations. It still needs some additional work to process parameters, etc. Then v6 will be able to compile it's own grammar, and maybe it will be entirely rewritten in P6 (except for the runtime modules).&lt;/p&gt;&lt;p&gt;Unfortunately, the build is currently broken in windows and osx - at least for unexperienced users, it seems. I'm planning to add eval() around the required binary modules, so that at least a subset of the language can work without XS compilation.&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: my first v6.pm program to use a module in v6.pm!</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/30122?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/30122?from=rss</id>
		<updated>2006-06-30T19:09:04+00:00</updated>
		<content type="html">&lt;p&gt;I added the first OO test to v6.pm This is also the first v6.pm program to use a module written with v6.pm:&lt;/p&gt;&lt;p&gt;
&amp;nbsp; &amp;nbsp; # file: t/10-moose1.t&lt;br /&gt;
&amp;nbsp; &amp;nbsp; use v6-pugs;&lt;/p&gt;&lt;p&gt;
&amp;nbsp; &amp;nbsp; use lib './t', '.';&lt;br /&gt;
&amp;nbsp; &amp;nbsp; use moose1;&lt;/p&gt;&lt;p&gt;
&amp;nbsp; &amp;nbsp; say '1..1';&lt;br /&gt;
&amp;nbsp; &amp;nbsp; say '1 ok # use Moose';&lt;/p&gt;&lt;p&gt;and the module:&lt;/p&gt;&lt;p&gt;
&amp;nbsp; &amp;nbsp; # file: t/moose1.pm&lt;br /&gt;
&amp;nbsp; &amp;nbsp; use v6-pugs;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; class Point;&lt;/p&gt;&lt;p&gt;
&amp;nbsp; &amp;nbsp; has $.x is rw;  # instance attributes&lt;br /&gt;
&amp;nbsp; &amp;nbsp; has $.y;        # default &quot;is readonly&quot;&amp;#8233;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; method clear () {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $.x = 0;  # accessible within the class&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $.y = 0;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;Very simple, isn't it? The second file was copied from audreyt's slides in YAPC::NA.&lt;/p&gt;&lt;p&gt;The files compile to:&lt;/p&gt;&lt;p&gt;
&amp;nbsp; # generated file: t/10-moose1.tc&lt;br /&gt;
&amp;nbsp; use Pugs::Runtime::Perl6;&lt;br /&gt;
&amp;nbsp; use strict;&lt;br /&gt;
&amp;nbsp; no warnings 'void';&lt;br /&gt;
&amp;nbsp; use lib( './t', '.' );&lt;br /&gt;
&amp;nbsp; use moose1();&lt;br /&gt;
&amp;nbsp; print '', '1..1';&lt;br /&gt;
&amp;nbsp; print &quot;\n&quot;;&lt;br /&gt;
&amp;nbsp; print '', '1 ok # use Moose';&lt;br /&gt;
&amp;nbsp; print &quot;\n&quot;;&lt;br /&gt;
&amp;nbsp; 1;&lt;/p&gt;&lt;p&gt;and:&lt;/p&gt;&lt;p&gt;
&amp;nbsp; # generated file: t/moose1.pmc&lt;br /&gt;
&amp;nbsp; #&lt;br /&gt;
&amp;nbsp; # [... checksum header removed ...]&lt;br /&gt;
&amp;nbsp; #&lt;br /&gt;
&amp;nbsp; use Pugs::Runtime::Perl6;&lt;br /&gt;
&amp;nbsp; use strict;&lt;br /&gt;
&amp;nbsp; no warnings 'void';&lt;/p&gt;&lt;p&gt;
&amp;nbsp; package Point;&lt;br /&gt;
&amp;nbsp; use Moose;&lt;br /&gt;
&amp;nbsp; use Exporter 'import';&lt;br /&gt;
&amp;nbsp; our @EXPORT;&lt;br /&gt;
&amp;nbsp; has 'x' =&amp;gt; ( 'is' =&amp;gt; 'rw' );&lt;br /&gt;
&amp;nbsp; has 'y' =&amp;gt; ();&lt;/p&gt;&lt;p&gt;
&amp;nbsp; sub clear {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; my $self = shift;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $self-&amp;gt;{'x'} = 0;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $self-&amp;gt;y(0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;
&amp;nbsp; }&lt;br /&gt;
&amp;nbsp; 1;&lt;/p&gt;&lt;p&gt;This is in the development version of v6.pm - not in CPAN yet.&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: more v6</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/30031?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/30031?from=rss</id>
		<updated>2006-06-25T03:39:38+00:00</updated>
		<content type="html">&lt;p&gt;I'm preparing v6.pm for release with next version of Pugs. I'm taking care this time, so that people don't think it's a complete implementation - it's not at all.&lt;/p&gt;&lt;p&gt;There are quite a few problems ahead:&lt;/p&gt;&lt;p&gt;- the compiler is currently slow to load - this is fixable, but it takes some work.&lt;/p&gt;&lt;p&gt;- integrating P6 syntax in Pugs::Compiler::Rule will create a circular dependency with v6.pm&lt;/p&gt;&lt;p&gt;- v6 needs support for multis (multisub, multimethod), types, advanced OO (the plan is to use Stevan's Moose.pm), coroutines, and all the P6 goodies that are not native to P5.&lt;/p&gt;&lt;p&gt;v6.pm is mostly about syntax - all the semantics must be provided by external modules.&lt;/p&gt;&lt;p&gt;About the old 'lrep' script - I think I'll rewrite it as a thin v6.pm wrapper, just because I find it a cool name.&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>FGlock: use v6-pugs</title>
		<link rel="alternate" type="text/html" href="http://use.perl.org/~fglock/journal/29977?from=rss"/>
		<id>http://use.perl.org/~fglock/journal/29977?from=rss</id>
		<updated>2006-06-20T13:39:06+00:00</updated>
		<content type="html">&lt;p&gt;Today I plan to rename Pugs-Grammar-Perl6 to Pugs-Compiler-Perl6, and start adding the glue code to make it work.&lt;/p&gt;&lt;p&gt;The first goal is to allow perl 5 to execute this:&lt;/p&gt;&lt;p&gt;
&amp;nbsp; &amp;nbsp; use v6-pugs;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &quot;hello, world&quot;.say;&lt;/p&gt;&lt;p&gt;This should either execute immediately, if called with '-e', or create a .pmc file containing:&lt;/p&gt;&lt;p&gt;
&amp;nbsp; &amp;nbsp; print &quot;hello, world&quot;, &quot;\n&quot;;&lt;/p&gt;&lt;p&gt;url: http://svn.openfoundry.org/pugs/misc/pX/Common/&lt;/p&gt;&lt;p&gt;The same code could be compiled to use Inline::C instead of plain perl.&lt;/p&gt;&lt;p&gt;update: the module is now called 'P6.pm', because 'v6' didn't work in perl 5.&lt;/p&gt;&lt;p&gt;update 2: the module is finally named 'v6.pm', but it is used 'v6-pugs' - and it works fine - thanks Audrey!&lt;/p&gt;</content>
		<author>
			<name>fglock</name>
			<uri>http://use.perl.org/~fglock/journal/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: I have dreamed a dream, but now that dream is gone from me</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/06/i-have-dreamed-dream-but-now-that.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-115025791890070544</id>
		<updated>2006-06-17T16:11:33+00:00</updated>
		<content type="html">A citação-título não tem nada a ver com o fato que quero registrar nesse post: &lt;span&gt;eu assisti ao jogo do Brasil hoje&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Bom, ao menos não tem nada a ver diretamente.&lt;br /&gt;É um exercício para o leitor tentar descobrir se há alguma relação entre as duas coisas e qual ela é.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-115025791890070544?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: We do only what we're meant to do.</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/06/we-do-only-what-were-meant-to-do.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-115056781916527915</id>
		<updated>2006-06-17T16:10:19+00:00</updated>
		<content type="html">Sobre a personalidade de desenvolvedores de software e sua relação com os gerentes:&lt;br /&gt;&lt;br /&gt;&quot;Some of us, myself included, will do our best work if we're only being bothered once every week or two. Just point us in the right direction and let us go.&lt;br /&gt;&lt;br /&gt;We are all unique snowflakes and your job as a manager is going to be learning to deal with our various quirks.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Managing coders is kind of like taking a bunch of cats with serious ADD problems, strapping mind-controlled jet engines to them, putting them inside a blizzard of sparkly tinsel, and trying to drag-race them.&lt;/span&gt;&quot;&lt;br /&gt;&lt;br /&gt;Brilhante.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://forums.somethingawful.com/showthread.php?s=7e09fa4f29859ad417f38f67f3d1260e&amp;threadid=1892424&amp;perpage=40&amp;pagenumber=7#post310742318&quot;&gt;Esse cara&lt;/a&gt; do Google virou um dos meus ídolos pessoais.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-115056781916527915?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: You have a problem with authority, Mr. Anderson.</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/06/you-have-problem-with-authority-mr.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-114947332541652562</id>
		<updated>2006-06-05T00:32:48+00:00</updated>
		<content type="html">Nesse final de semana aconteceu algo inusitado no cenário mundial: depois de anos de operação, o renomado tracker de &lt;a href=&quot;http://en.wikipedia.org/wiki/BitTorrent&quot;&gt;BitTorrent&lt;/a&gt; conhecido como &lt;span&gt;The Pirate Bay&lt;/span&gt; (&lt;a href=&quot;http://en.wikipedia.org/wiki/The_Pirate_Bay&quot;&gt;link&lt;/a&gt;) foi tirado do ar pelo governo sueco.&lt;br /&gt;&lt;br /&gt;Antes de continuar, vou apenas prover uma breve explicação. Um tracker de BitTorrent é um servidor que não contém nenhum material que viola direitos autorais, apenas aponta para os usuários que têm esse material. Em muitos países, a atividade de um tracker de BitTorrent é considerada ilegal por contribuir para que direitos autorais sejam violados. É mais ou menos o mesmo que culpar os fabricantes de armas pela morte das pessoas. Porém, na Suécia, um país com leis mais razoáveis, as atividades do &lt;span&gt;The Pirate Bay&lt;/span&gt; eram consideradas perfeitamente legais e as respostas dos administradores do site às ameaças legais eram hilárias.&lt;br /&gt;&lt;br /&gt;Normalmente, essas coisas passam despercebidas pela maioria das pessoas e muito vêem essas coisas como apenas a prisão de mais algum criminoso ou algo do tipo. Mas, felizmente, &lt;span&gt;esse não foi o caso&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;A polícia sueca teve atuou de forma irresponsável e, ao confiscar os servidores do &lt;span&gt;The Pirate Bay&lt;/span&gt;, também levou junto outros servidores de outros clientes que estavam no mesmo data center. Essa ação, somada ao fato de que dos 9 milhões de habitantes da Súecia, pelo menos 1 milhão são usuários ativos de programas de compartilhamento de arquivos e somado às denúncias de que o governo sueco agiu sob pressão do governo dos Estados Unidos fez com que isso tudo virasse um escândalo nacional pois, pela lei sueca, uma atitude desse tipo por um governante é altamente ilegal.&lt;br /&gt;&lt;br /&gt;Os administradores do site, em tom desafiante, prometeram que em um dia ou dois estariam de volta e, de fato, hoje o site já está no ar novamente, hospedado na Holanda até que o governo sueco resolva devolver os servidores e compensar as perdas dos clientes, &lt;span&gt;incluindo do próprio &lt;span&gt;The Pirate Bay&lt;/span&gt;&lt;/span&gt;. O criador principal do site, &lt;a href=&quot;http://en.wikipedia.org/wiki/Rickard_Falkvinge&quot;&gt;Rickard Falkvinge&lt;/a&gt;, organizou um protesto nas duas maiores cidades suecas nesse final de semana, terminando seu discurso com frases como: &quot;&lt;span&gt;Eu sou um pirata!&lt;/span&gt;&quot;&lt;br /&gt;&lt;br /&gt;Em contrapartida, os sites do governo sueco e da polícia sueca foram derrubados da internet, por usuários do tracker que queriam vingança. Vários jornais suecos circularam manchetes marcando a situação como vergonhosa.&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;Eu fico imaginando como seriam as coisas aqui no Brasil. Ou melhor, prefiro nem imaginar.&lt;br /&gt;Provavelmente, ninguém ficaria sabendo de nada e a mídia tentaria criminalizar aqueles que estavam lutando pela obtenção de uma maior liberdade. Estes, seriam presos e condenados, enquanto em Brasília, todo mundo come pizza.&lt;br /&gt;&lt;br /&gt;É até engraçado pensar que existem países aonde o fato de um governante agir sob influência de interesses de outros países é algo considerado altamente ilegal.&lt;br /&gt;&lt;br /&gt;&quot;Pátria amada, Brasil!&quot;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-114947332541652562?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: I know kung fu.</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/05/i-know-kung-fu.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-114694482753653904</id>
		<updated>2006-05-06T17:47:07+00:00</updated>
		<content type="html">O mundo seria tão mais simples se habilidades em geral pudessem ser simplesmente descarregadas diretamente para o meu cérebro.&lt;br /&gt;&lt;br /&gt;Nas últimas 24 horas cheguei à umas conclusões interessantes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Eu sou um ótimo jogador de boliche;&lt;/li&gt;&lt;li&gt;Eu tenho uma grande aptidão para aqueles fliperamas de dança;&lt;/li&gt;&lt;li&gt;10 minutos de leitura &lt;span&gt;&lt;/span&gt;são suficientes para aprender qualquer coisa.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span&gt;Negue todas as afirmações anteriores.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Por outro lado, hoje de manhã eu fiquei pensando sobre a sensação de liberdade proporcionada por uma caminhada sem rumo em uma manhã fria pela universidade num dia em que ela se encontra semi-deserta. Entre outras coisas.&lt;br /&gt;&lt;br /&gt;PS: eu também cheguei à conclusão de que aquela minha resolução de sempre usar um quote de Matrix é meio idiota e só faz com que eu fique com mais preguiça ainda de postar algo aqui. Mas eu sou uma pessoa livre e faço o que eu quiser! Então elas continuam.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-114694482753653904?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Lorn: FISL 7.0</title>
		<link rel="alternate" type="text/html" href="http://lornlab.org/blog/2006/04/19/fisl-7-0/"/>
		<id>http://lornlab.org/blog/2006/04/19/fisl-7-0</id>
		<updated>2006-04-19T16:27:00+00:00</updated>
		<content type="html">&lt;p&gt;ae pessoal, estou no FISL o Google esta aqui, vou atualizando esse post sempre que possivel e logo mais tem fotos&lt;/p&gt;

&lt;p&gt;Cheguei ontem ao FISL, não postei nada de la porque o telecentro vivia cheio de gente, e a maioria vendo o orkut -_-&lt;/p&gt;

&lt;p&gt;Bom, mas eis o meu relato, chegando lá logo na entrada já dava para perceber que o Google patrocinou boa parte do fisl,
 banners logo na entrada e o crachá estava escrito Google embaixo, a parte de grupo de usuários estava menor que o ano passado,
 estava bom, rever velhos amigos, e adquirir mais uns novos&lt;/p&gt;

&lt;p&gt;Bom antes de mais nada, esse e o MEU relato do evento, o computador que eu estou digitando está com problemas no assento e eu
estou com preguica de arrumar, essa foi minha visão das palestrar, se eu errei alguma coisa, ou entedi mal, adoraria que alguém me
 mandasse um email dizendo isso lorn dot br at gmail dot com, eu arrumarei o mais rápido possivel.&lt;/p&gt;

&lt;p&gt;1a Dia – 19/06&lt;/p&gt;

&lt;p&gt;11:00 – Comparando PostgreSQL e MySQL: Desempenho de Aplicações Transacionais&lt;/p&gt;

&lt;p&gt;Uma palestra bem interessante, apesar de eu desconfiar dos resultados, hehe, os palestrantes ( Carlos Eduardo Santos, Rilson Oscar do Nascimento )
 tinham muito conhecimento sobre SGBDs.&lt;/p&gt;

&lt;p&gt;O Resultado dessa briga foi que ate 1100 warehouse, eles tinham o mesmo desempenho, acima disso o pgsql foi ganhando exponencialmente do mysql devo
lembrar que os 2 estavam “tunados”.&lt;/p&gt;

&lt;p&gt;12:00 – The Filesystem namespace past and present&lt;/p&gt;

&lt;p&gt;A 1a palestra em inglês que eu vi no evento, boa tambem, o palestrante e um dos desenvolvedores do kernel, e explicou muito bem tudo,
o Filesystem namespace quando sair, vai substituir o chroot, porque?&lt;/p&gt;

&lt;p&gt;Porque para usuarios diferente eu vou poder ter pastas iguais com conteudos diferente  , deixa eu explicar melhor&lt;/p&gt;

&lt;p&gt;no caso do apache&lt;/p&gt;

&lt;p&gt;o /var/www/htdocs/ tem todas as paginas do seu servidor, isso hoje em dia estaria em chroot pra poder proteger o sistema em si, com o
 Filesystem namespace o /var/www/htdocs/ so teria aquivos para o usuario apache, se eu desse um &lt;code&gt;ls&lt;/code&gt; la como meu usuario, nao iria mostrar nada, interessante nao?&lt;/p&gt;

&lt;p&gt;16:00 -The X Community — History and Directions&lt;/p&gt;

&lt;p&gt;Essa palestra e o tipo de palestra historica, um dos criadores do X!!, sim, o cara explicou todas historia como tudo comecou, o que aconteceu com o Xfree86 versus X.org,
bem legal, eu nao sabia mais o X de inicio era um software 100% comercial ai um pessoal de Berkley se nao me engano comecou fazer sua versao do X, baseada na que ja existia,
logico que o pessoal do comercial nem ligou, encurtando a historia alguns anos depois o X comercial quase faliu, diz o palestrante que ele existe ate hoje, alguem ja ouviu falar dele?&lt;/p&gt;

&lt;p&gt;Bom esse dia eu perdi 2 palestras importantes&lt;/p&gt;

&lt;p&gt;Migrando de Oracle para PostgreSQL&lt;/p&gt;

&lt;p&gt;DBI-Link: A Universal Database Connector&lt;/p&gt;

&lt;p&gt;A 1a foi porque eu perdi o horario quando fui ver ja estava acabando e a segunda, foi porque teve um problema na organizacao e o horario
ficou mudando, nao sou eu mais todos os perl mongers perderam&lt;/p&gt;

&lt;p&gt;2a Dia – 20/06&lt;/p&gt;

&lt;p&gt;10:00 - Communication is Free&lt;/p&gt;

&lt;p&gt;Quem deu essa palestra foi o Randal, ele falou dos meios de comunicacao livre, de hoje e de antigamente, desde o email ate USENET, IRC..&lt;/p&gt;

&lt;p&gt;11:00 – 13:00&lt;/p&gt;

&lt;p&gt;Nesse horario comecou “oficialmente” o YAPC::Brasil ( Yet Another Perl Conference )&lt;/p&gt;

&lt;p&gt;A primeira palestra foi sobre Perl6, o novo perl realmente esta muito bom, esta seguindo um novo lema um linguagem para todas as linguagens,
hehe isso me lembra LOTR  com ela voce vai poder programar em perl6, e gerar o bytecode em Java, JavaScript, Flash ( fizeram pra brincar )
entrei outras, foras os novos recursos de gramatica, ah, ainda ganhei um livro nessa palestra Perl6 &amp;amp; Parrot.&lt;/p&gt;

&lt;p&gt;A Segunda foi do Randal explicando inside-out objects uma coisa meio complicada que eu não entendi muito bem, hehe.&lt;/p&gt;

&lt;p&gt;14:00 – Open Source at Google&lt;/p&gt;

&lt;p&gt;Essa foi a palestra do Eric. Pollman, basicamente explicando o summer of code uma palestra muito legal que de certo modo me insentivou a participar,
o palestrante comentou que no ano passado teve 3 participantes brasileiros 1 deles estava aqui no FISL e inclusive vai palestrar sobre a ferramente
que ele fez para o summer of code, parabens ao Adriano Monteiro Marques pelo seu frontend do nmap, vou testa-lo logo que puder, não pude ver a palestra.&lt;/p&gt;

&lt;p&gt;15:00 – C Minimal Perfect Hash – hashing large ammounts of data&lt;/p&gt;

&lt;p&gt;Essa palestra apesar do titulo em ingles foi em portugues, foi de um dos empregados do google em BH, o pessoal de la e super gente fina e nessa
 palestra ele explicou como seria uma hash minimamente perfeito, sem “colisoes” ele baseou esse projeto numa tese de um amigo dele bem legal&lt;/p&gt;

&lt;p&gt;Logo depois dessa apesar de nao estar na programacao outro cara de BH falou sobre o seu ftpfs, que ele fez em cima da libcurl, bem legal.&lt;/p&gt;

&lt;p&gt;18:00 – PL/Perl em Postgresql&lt;/p&gt;

&lt;p&gt;Essa palestra foi do David Better, inicialmente seria no YAPC, mais depois foi passada pro Stand do Governo Federal bem legal fazer procedures em Perl
para o Postgresql, e ainda poder usar modulos perl nessas procedures.&lt;/p&gt;

&lt;p&gt;Depois escrevo dos outros dias e mais detalhes, estou realmente cansado&lt;/p&gt;

&lt;p&gt;3a Dia – 21/06&lt;/p&gt;

&lt;p&gt;11:00 - O Portal do Monastério, como se tornar um Monge Perl.&lt;/p&gt;

&lt;p&gt;Essa palestra nos surpreendeu, todos os monges falaram “voces viram como lotou a sala?” hehe, uma palestra muito boa, com um visao de todos os principais
sites/comunidades de Perl&lt;/p&gt;

&lt;p&gt;15:00 -Ferramentas de software livre ou código aberto para bioinformática&lt;/p&gt;

&lt;p&gt;Fui ver essa palestra porque e um assunto que me interessa, mais particularmente por causa do Perl, e nao deu outra o palestrante, falou muito de Perl,
mas e uma coisa meio complicada principalmente a parte da Biologia, hehe, mas valeu pra conhecer.&lt;/p&gt;

&lt;p&gt;16:00 – Software livre no Nintendo DS&lt;/p&gt;

&lt;p&gt;Sem comentarios, essas foi uma das melhores palestras do FISL, o palestrante, Ricardo Bittencourt transformou um assunto massantes, em uma coisa engracada
contando muitas curiosidades sobre os videogames antigos , deu ate vontade de comprar um Nintendo DS&lt;/p&gt;

&lt;p&gt;18:00 -Deixe o gerenciamento do anti-spam com os usuários&lt;/p&gt;

&lt;p&gt;Uma solucao estilo gmail, muito interessantes, pois pode ser implementada por usuario ou por grupo de usuarios, foi explicado muito bem o conceito e o
interessante e que do jeito que foi apresentado voce nao precisa usar as mesmas ferramentas do palestrante.&lt;/p&gt;

&lt;p&gt;Esse dia perdi a palestra de XUL  , fiquei preocupado com a carona e nao lembrei da palestra&lt;/p&gt;

&lt;p&gt;Infelizmente nao pude ficar no ultimo dia, logo nao tenho um relato sobre o “leilao”.&lt;/p&gt;

&lt;p&gt;Nesse meu relato eu nao disse, mesmo porque nao iria lembrar mais as “rodas” formadas na parte de grupo de usuario, as trocas de ideias, foi quase
tao bom quanto qualquer palestra, que venha o Conisli, ah! para os amantes de Perl, estao confirmados:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Larry Wall ( Criado do Perl, arquiteto do Perl6 )&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Audrey Tang ( chefe do desenvolvimento do Pugs/Perl 6 )&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;E esta prevista a vinda do Theo de Raadt, ja ouviram falar?&lt;/p&gt;

&lt;p&gt;Ate mais.. ( post longo nao?)&lt;/p&gt;</content>
		<author>
			<name>Lorn</name>
			<uri>http://lornlab.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: I hate sleeping.</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/04/i-hate-sleeping.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-114507034239824918</id>
		<updated>2006-04-15T01:05:42+00:00</updated>
		<content type="html">Tanta coisa pra ser feita, tão pouco tempo.&lt;br /&gt;&lt;br /&gt;Quando eu comecei esse blog, eu pensei que não seria difícil escrever ao menos uns 3 ou 4 posts por mês. Quanta ingenuidade.&lt;br /&gt;&lt;br /&gt;É como se o tempo fosse uma moeda que está se desvalorizando.&lt;br /&gt;&lt;br /&gt;É como se estivéssemos inseridos numa bolha inflacionária temporal sem fim ao mesmo tempo em que devemos sustentar uma família que cada vez fica maior. Os dias ficam menores e as coisas a serem feitas se tornam cada vez mais numerosas.&lt;br /&gt;&lt;br /&gt;Eu sempre tive uma certa inveja do Unibanco. Eu também queria que meu dia tivesse 30 horas.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-114507034239824918?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: Mr. Anderson... Surprised to see me?</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/03/mr-anderson-surprised-to-see-me.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-114222299443479367</id>
		<updated>2006-03-13T01:21:46+00:00</updated>
		<content type="html">Bom, depois de quase 1 mês e meio, até eu achei que eu já tinha desistido de vez do blog.&lt;br /&gt;Mas estou aqui. &lt;span&gt;Rejoice over my presence.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Mas, apesar de ter resolvido escrever algo, sinceramente, não sei o que falar. Foi uma daquelas resoluções meio vagas. Talvez influenciada pelo fato de que o &lt;a href=&quot;http://tawhaki.blogspot.com/&quot;&gt;Henrique resolveu criar um blog&lt;/a&gt;. Mas os motivos não são realmente importantes.&lt;br /&gt;&lt;br /&gt;O importante é comentar sobre as minhas produções do fim de semana. Mas antes, vou introduzir um pouco o contexto das mesmas.&lt;br /&gt;&lt;br /&gt;Como muitos que me conhecem sabem, eu gosto de programar em &lt;a href=&quot;http://www.perl.org.br/&quot;&gt;Perl&lt;/a&gt;. Perl é o equivalente à oitava maravilha do mundo no ramo da computação (apesar de muitas pessoas não conseguirem enxergar esse fato - &lt;span&gt;&quot;perdoe-os, Senhor, eles não sabem o que fazem&quot;&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;Além disso, existe um &lt;span&gt;framework&lt;/span&gt; para &lt;span&gt;rapid web development&lt;/span&gt; muito interessante para Perl, chamado &lt;a href=&quot;http://www.catalystframework.org&quot;&gt;Catalyst&lt;/a&gt;. Caso seja do interesse do leitor, o Catalyst foi elaborado misturando os melhores elementos encontrados no &lt;a href=&quot;http://maypole.perl.org/&quot;&gt;Maypole&lt;/a&gt; (um &lt;span&gt;framework&lt;/span&gt; em Perl já existente) e no, agora aclamado, &lt;a href=&quot;http://www.rubyonrails.org/&quot;&gt;Ruby on Rails&lt;/a&gt;. O resultado é algo extremamente sólido, que realmente conseguiu superar ambos os seus &quot;progenitores&quot;.&lt;br /&gt;&lt;br /&gt;Tendo isso em mente, ao longo da semana passada eu vim desenvolvendo um simples aplicativo web: uma galeria de fotos utilizando o Catalyst, batizada de Photolyst. Ela está em um estágio razoavelmente avançado, apesar de faltar alguns recursos básicos como excluir fotos, por exemplo. Mas isso, com o Catalyst, é uma tarefa trivial e provavelmente em 5 minutos eu adicionaria essa funcionalidade (e gastaria outras 2 horas brigando com CSS). Se eu terminar o projeto, pretendo colocar em algum repositório público como um projeto &lt;span&gt;open-source&lt;/span&gt; e como demonstração do Catalyst.&lt;br /&gt;&lt;br /&gt;Isso acabou gerando alguns sub-produtos: um &lt;span&gt;plugin&lt;/span&gt; para o Catalyst e um módulo para geração automática de código em JavaScript para validação de formulários (também acompanhado de um &lt;span&gt;plugin&lt;/span&gt; para o Catalyst, facilitando o uso do mesmo).&lt;br /&gt;&lt;br /&gt;Esses 3 módulos, podem ser encontrados no &lt;a href=&quot;http://search.cpan.org/%7Enilsonsfj/&quot;&gt;meu diretório na CPAN&lt;/a&gt; (se você ordenar por data, serão os mais recentes).&lt;br /&gt;&lt;br /&gt;Agora eu estou com planos para uma biblioteca completa de validação de formulários web em JavaScript, que funcionaria independentemente da tecnologia utilizada no servidor. Vamos ver no que dá.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-114222299443479367?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: Only human.</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/02/only-human.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-113886000278488019</id>
		<updated>2006-02-02T04:04:25+00:00</updated>
		<content type="html">Existe uma antiga crença judaica que diz respeito aos Lamed Vav Tzadikim (ou as 36 pessoas de bem). Eles também são conhecidos como Lamed Vavniks ou, em outra grafia, Lamed Wufniks.&lt;br /&gt;&lt;br /&gt;Ela diz que existem - e sempre existiram - trinta e seis homens no mundo cuja missão é justificar a existência humana perante a Deus. Eles são os Lamed Wufniks.&lt;br /&gt;&lt;br /&gt;Eles não se conhecem e são pessoas comuns que se sacrificam em detrimento dos outros.&lt;br /&gt;&lt;br /&gt;Sem saber, os Lamed Wufniks são os pilares secretos do universo. Se não fosse por eles, Deus aniquilaria toda a humanidade.&lt;br /&gt;&lt;br /&gt;Sem tomar conhecimento, eles evitam que o mal aconteça às pessoas à sua volta. Sem nunca se destacar na multidão, sem nunca perder sua anonimidade.&lt;br /&gt;&lt;br /&gt;Sem perceber, eles são nossos salvadores.&lt;br /&gt;&lt;br /&gt;Eles são a prova que oferecemos a Deus de que podemos ser bons e puros e, portanto, merecemos seu amor e sua misericórdia. Eles são os bodes expiatórios da humanidade.&lt;br /&gt;&lt;br /&gt;Na eventualidade de um Lamed Wufnik perceber sua importância, sua morte é certa: nenhum homem pode suportar nem 1/36 do peso do mundo.&lt;br /&gt;&lt;br /&gt;Quando um deles sobe aos céus seu estado é de congelamento total e Deus precisa o esquentar por mil anos antes que sua alma possa se abrir ao Paraíso. E é dito que alguns continuam tão inconsoláveis em relação à humanidade que nem Deus consegue esquentá-los. Então, de tempos em tempos, o Criador adianta o relógio do Último Julgamento em um minuto.&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;No século VII, judeus da Andalusia (uma região na Espanha) veneraram uma rocha com forma de lágrima. Eles acreditavam que a rocha era a alma de um Lamed Wufnik desconhecido petrificada pelo sofrimento.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-113886000278488019?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: There's a difference between knowing the path and walking the path</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/01/theres-difference-between-knowing-path.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-113816601371367995</id>
		<updated>2006-01-25T03:13:33+00:00</updated>
		<content type="html">Hoje foi um dia estranho. Bastante estranho.&lt;br /&gt;Possivelmente o mais estranho de toda a minha vida.&lt;br /&gt;&lt;br /&gt;Hoje eu me arrependi por não ter feito várias coisas no passado e que, infelizmente, não poderei mais fazer. Hoje acho que finalmente entendi porque devemos fazer o que sabemos que devemos fazer, sem adiar. Hoje entendi porque devemos &quot;aproveitar os dias&quot; e não deixar as oportunidades passarem batido - elas podem realmente nunca mais voltar.&lt;br /&gt;&lt;br /&gt;Existem coisas que só aprendemos da pior maneira possível.&lt;br /&gt;&lt;br /&gt;Hoje foi um dia triste.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-113816601371367995?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: Choice, the problem is choice</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/01/choice-problem-is-choice.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-113720360215113629</id>
		<updated>2006-01-14T00:01:16+00:00</updated>
		<content type="html">Estou numa dúvida cruel.&lt;br /&gt;&lt;br /&gt;Depois de mais ou menos 1 ano sem presentear a mim mesmo com algum presente significativo (em outras palavras, caro) eu decidi que eu mereço me dar um presente. Afinal de contas, como diz a minha tia, &quot;eu sou um menino muito bom&quot; (o mais engraçado dessa frase é que desde que eu tinha uns 5 anos de idade, ou seja, 15 anos atrás, ela fala essa mesma frase).&lt;br /&gt;&lt;br /&gt;O que causa um grande problema é que, infelizmente, meu orçamento é limitado. Ou seja, eu não posso me dar todos os presentes que eu acho que eu mereço - eu tenho que escolher só um. Pior: na verdade, a escolha ainda será feita considerando apenas um pequeno&lt;span&gt; subset&lt;/span&gt; do conjunto infinito que representa todos presentes de meu merecimento. Um verdadeiro absurdo, mas... é assim que a vida é.&lt;br /&gt;&lt;br /&gt;Enfim. A primeira coisa que eu pensei foi um iPod video de 30GB. Quem convive comigo sabe que eu vivo falando no iPod. Achei um aqui em BH, no MercadoLivre, por um preço razoável (para um iPod video): R$999. O problema é que o preço razoável já é meio alto. E, certamente, considerando a minha sorte, ele viria com algum defeito de fábrica ou algo do gênero e eu não teria garantia. Ou pior: seria roubado. Fiquei meio receoso.&lt;br /&gt;&lt;br /&gt;Procurei outra coisa e achei um monitor LCD de 17&quot; da marca BenQ. Faz um tempo que eu estou cansado do meu SyncMaster 550s de 15&quot;. E tem o &lt;span&gt;fator legal&lt;/span&gt; em se ter um monitor LCD. A faixa de preço dele é mais ou menos a mesma do iPod video, mas um pouco mais baixo. Com o frete, ficaria em R$930, mais ou menos. Mas aí comecei a pensar que, certamente, com a minha sorte, ele viria cheio de &lt;span&gt;dead pixels&lt;/span&gt; ou outros problemas adversos que não seriam cobertos pela suposta garantia de 3 anos da BenQ no Brasil. Tentei deixar o pessimismo de lado, mas veio ao meu conhecimento um dado fulminante: a taxa de atualização dele é de 12ms. Pra jogos rápidos, ele provocaria um pouco de &lt;span&gt;blur&lt;/span&gt;. O ideal pra jogos são os que tem taxa de atualização de 8ms, como o Samsung 713N. Mas o preço dele no MercadoLivre estava por volta de R$1200 - muito caro pra mim. Então também fiquei receoso com o monitor da BenQ.&lt;br /&gt;&lt;br /&gt;Mas eu gostei da idéia de trocar de monitor. Então, fui olhar os preços de monitores CRT mesmo. Descobri que os monitores de 15&quot; e 17&quot; estão assutadoramente baratos. Um monitor de 15&quot; da ProView está R$270. Samsung 793v de 17&quot; está R$355. E esses preços nem são do MercadoLivre (supus que o frete seja assustadoramente grande para monitores CRT e resolvi nem olhar por lá). Mas eu tive o pressentimento que se eu comprar algo tão genérico assim acabaria não saciando minha vontade incontrolável de me presentear. Afinal de contas, eu mereço algo bom, não é verdade? Então resolvi que eu quero um monitor de 19&quot;. Aí os preços quase dobram. Um LG Flatron 19&quot; sai por R$699 e um da Samsung de 19&quot; por R$714. Mas a idéia de ter uma tela de 19&quot; no meu PC é assustadoramente atraente.&lt;br /&gt;&lt;br /&gt;Então estou nesse dilema. Estou tendendo pro lado do LG Flatron de 19&quot;. Mas eu queria mesmo era o LCD de 17&quot; de 8ms. Acho que vou reler um artigo aqui sobre como fazer 3 milhões de dólares. ;-)&lt;br /&gt;&lt;br /&gt;PS: não sei se foi algo notável, mas eu achei eu legal a idéia de usar quotes da trilogia Matrix para os títulos dos meus posts. Aliás, eu acho &lt;span&gt;Matrix Reloaded&lt;/span&gt; um ótimo filme.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-113720360215113629?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Nilson: You hear that Mr. Anderson?... That is the sound of inevitability...</title>
		<link rel="alternate" type="text/html" href="http://blog.nilson.org/2006/01/you-hear-that-mr-anderson-that-is.html"/>
		<id>tag:blogger.com,1999:blog-20856188.post-113712298717769035</id>
		<updated>2006-01-13T01:44:26+00:00</updated>
		<content type="html">Então... eu resolvi criar um blog.&lt;br /&gt;&lt;br /&gt;Eu confesso que não tenho muita idéia do que as pessoas escrevem num blog.&lt;br /&gt;Mas já tem algum tempo que a idéia de ter um blog me atrai. Não sei direito o porquê. Talvez porque muitas das &quot;pessoas virtuais&quot; que eu admiro tenham blogs.&lt;br /&gt;&lt;br /&gt;De qualquer forma, ter uma idéia do motivo desse desejo interior ainda não me ajuda a saber o que escrever no blog.&lt;br /&gt;&lt;br /&gt;Eu acho isso meio complicado.&lt;br /&gt;Não convém escrever coisas muito pessoais; não sei se num futuro eu iria querer todos essas idiosincrasias da minha existência indexadas pelo Google. Por outro lado, um blog estritamente técnico tem um apelo diferente e, obviamente, essa não é exatamente a minha intenção (conclusão trivial a partir do título).&lt;br /&gt;&lt;br /&gt;Assim sendo, eu não vou definir um objetivo maior para o blog.&lt;br /&gt;&lt;br /&gt;Talvez:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;eu esteja simplesmente querendo me sentir uma pessoa mais legal por ter um blog;&lt;/li&gt;&lt;li&gt;eu esteja simplesmente querendo arrumar algum uso pro meu domínio &quot;nilson.org&quot;, uma vez que até hoje não resolvi fazer minha página pessoal;&lt;/li&gt;&lt;li&gt;eu até tenha a inocente esperança de que alguém ache interessante ler os meus devaneios aleatórios;&lt;/li&gt;&lt;li&gt;eu apenas queira escrever algo sem muito propósito;&lt;/li&gt;&lt;li&gt;esse seja o primeiro e único post desse blog.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Acabou-se o meu estoque de &lt;span&gt;talvezes&lt;/span&gt;.&lt;br /&gt;Mas já deu pra entender qual é a idéia disso tudo (i.e. a falta de idéias).&lt;br /&gt;&lt;br /&gt;Pois bem, retomando ao que eu quis passar pelo título desse post.&lt;br /&gt;&lt;br /&gt;Existem coisas inevitáveis.&lt;br /&gt;(e eu prefiro tentar a esquecer a maioria delas, mas isso não vem ao caso)&lt;br /&gt;&lt;br /&gt;Você acabou de presenciar uma materialização do inevitável.&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Enjoy it&lt;/span&gt;.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20856188-113712298717769035?l=blog.nilson.org&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Nilson Santos F. Jr. (noreply@blogger.com)</name>
			<uri>http://blog.nilson.org/</uri>
		</author>
	</entry>

</feed>

