<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>GPS Humano</title>
	<atom:link href="http://gpshumano.blogs.dri.pt/feed/" rel="self" type="application/rss+xml" />
	<link>http://gpshumano.blogs.dri.pt</link>
	<description>O sítio perfeito para estar perdido, pois há quem lhe faça companhia...</description>
	<pubDate>Sat, 14 Aug 2010 21:22:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Berlin Wikimedia Chapters Meeting 2010 a.k.a. [well actually...] VulcanoCon and Porto Wikipedia Academy 2010</title>
		<link>http://gpshumano.blogs.dri.pt/2010/08/14/berlin-wikimedia-chapters-meeting-2010-aka-well-actually-vulcanocon-and-porto-wikipedia-academy-2010/</link>
		<comments>http://gpshumano.blogs.dri.pt/2010/08/14/berlin-wikimedia-chapters-meeting-2010-aka-well-actually-vulcanocon-and-porto-wikipedia-academy-2010/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 21:22:38 +0000</pubDate>
		<dc:creator>ntavares</dc:creator>
		
		<category><![CDATA[en_US]]></category>

		<category><![CDATA[wikipedia]]></category>

		<category><![CDATA[viagens]]></category>

		<category><![CDATA[wikimedia portugal]]></category>

		<guid isPermaLink="false">http://gpshumano.blogs.dri.pt/?p=1043</guid>
		<description><![CDATA[Berlin, Germany - Wikimedia Chapters Meeting 2010
These have been busy days! At the same time the first Portuguese Wikipedia Academy was running I was supposed to be in Berlin to the 2010 Wikimedia Chapters Meeting. I actually got there, indeed, but we were in the air when the massive ash cloud from the Eyjafjallajökull glacier/vulcano [...]]]></description>
			<content:encoded><![CDATA[<h1>Berlin, Germany - Wikimedia Chapters Meeting 2010</h1>
<p>These have been busy days! At the same time the first <a href="http://www.academia-wikipedia.org">Portuguese Wikipedia Academy</a> was running I was supposed to be in Berlin to the <a href="http://meta.wikimedia.org/wiki/Chapters_meeting_2010">2010 Wikimedia Chapters Meeting</a>. I actually got there, indeed, but we were in the air when the massive ash cloud from the <a href="http://pt.wikipedia.org/wiki/Eyjafjallaj%C3%B6kull">Eyjafjallajökull</a> glacier/vulcano spread above Central Europe, and we got stuck as soon as we landed in Frankfurt. But I won&#8217;t regret catching a 10h train to Berlin, arriving in the morning, except for missing the whole morning at the Meeting. The <a href="http://meta.wikimedia.org/wiki/Chapters_meeting_2010/Participants">fellow mates around the world</a> are just awesome people, and doing a great job, and they have just shown how excellent fellows they are to work with.</p>
<p>Here is the wrapup photo we took in the end (after 20min trying to position ourselfs according to the Mapa Mundi and.. well.. having given up :)):</p>
<p><a href="http://gpshumano.blogs.dri.pt/files/2010/05/29421_400584147744_150775207744_4074764_4005963_n.jpg"><img class="aligncenter size-medium wp-image-1044" src="http://gpshumano.blogs.dri.pt/files/2010/05/29421_400584147744_150775207744_4074764_4005963_n-300x199.jpg" alt="29421_400584147744_150775207744_4074764_4005963_n" width="300" height="199" /></a></p>
<p>Picking a train to Portugal was very risky as the French saw an excellent opportunity to put up a strike (I was told some frieds took 3 days from Netherlands to Portugal, so I&#8217;m glad we considered the odds)! While stranded, along with a lot of (mainly) intercontinental fellows, we spent the days getting to know Berlin and the famous Bratwurst. I won&#8217;t definitelly forget the trio I had near Charlottenburg, yummm.. <img src='http://gpshumano.blogs.dri.pt/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Wikimedia Deutchland has proven to be an excellent hoster for such an event. Everything we handled smoothly, <a href="http://www.dondahlmann.de/">Don</a> and <a href="http://anjakrieger.com/">Anjia</a> were also great facilitators, being careful enough to <a href="http://meta.wikimedia.org/wiki/Chapters_meeting_2010/Schedule">document in detail each session</a>.</p>
<p>A special remark to the strange title of this post, I think no one will forget the good laughs we gave around some expressions&#8230; like VulcanoCon&#8230; hrm hrm <img src='http://gpshumano.blogs.dri.pt/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Hugs to everyone I met, I hope you arrived safely (AFAIK, you *did* arrived&#8230;). Hope to see you all next year, or maybe at Wikimania.</p>
<h1>Porto, Portugal - Wikipedia Academy</h1>
<p>As we already confirmed in person in the last WMP General Assembly (GA), the <a href="http://www.academia-wikipedia.org/">First Wikipedia Academy</a> was definitely a success. The media push was spectacular and, of course, it had to give some results. We got an increase of associates right there on the GA, with more people willing to help on the tasks. I thank all the participants all the input, it was really great, and I would also like to thank the opportunity of exposing everything we learned at the Chapters Conferece (above). We also discussed the plan for the upcoming year, now, more than ever, targetting specific goals from the <a href="http://pt.wikimedia.org/wiki/Actividades_propostas">list of ideas we have been summing up</a> - I&#8217;ll be participating in a <a href="http://pt.wikimedia.org/wiki/Projectos#Comemorações dos primeiros contactos Portugal / Indonésia">specific GLAM project</a> (more on this later), I&#8217;ll be the <a href="http://pt.wikimedia.org/wiki/Tarefas_em_curso#Tecnologias_de_Informa.C3.A7.C3.A3o">IT lead</a>, I&#8217;ll try to help Gil on a <a href="http://pt.wikimedia.org/wiki/Projectos#Produção de conteúdos de divulgação para Companhias de Transporte">joint Communication project</a> targetting Transportation companies, and I&#8217;ll be trying to push forward a possible UMIC partnership (more on this later).</p>
]]></content:encoded>
			<wfw:commentRss>http://gpshumano.blogs.dri.pt/2010/08/14/berlin-wikimedia-chapters-meeting-2010-aka-well-actually-vulcanocon-and-porto-wikipedia-academy-2010/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Estes fins de semana</title>
		<link>http://gpshumano.blogs.dri.pt/2010/04/10/estes-fins-de-semana/</link>
		<comments>http://gpshumano.blogs.dri.pt/2010/04/10/estes-fins-de-semana/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 15:56:18 +0000</pubDate>
		<dc:creator>ntavares</dc:creator>
		
		<category><![CDATA[dri]]></category>

		<category><![CDATA[lazer]]></category>

		<category><![CDATA[pt_PT]]></category>

		<category><![CDATA[web]]></category>

		<category><![CDATA[graphing]]></category>

		<category><![CDATA[integration]]></category>

		<category><![CDATA[música]]></category>

		<category><![CDATA[viagens]]></category>

		<guid isPermaLink="false">http://gpshumano.blogs.dri.pt/?p=871</guid>
		<description><![CDATA[Nota: Este post foi resgatado dos Drafts e é de 30-12-2009&#8230;
Este Natal tive tempo de fazer um catchup das notícias (aliás, já devem ter reparado eheh). Esta minha demora em escrever fica pautada por uma presença em Luanda, Angola, e por uns pesadíssimos comprimidos que tive que tomar (e tolerar!! mal ou bem..). Na foto [...]]]></description>
			<content:encoded><![CDATA[<p>Nota: Este post foi resgatado dos Drafts e é de 30-12-2009&#8230;</p>
<p>Este Natal tive tempo de fazer um <i>catchup</i> das notícias (aliás, <a href="http://gpshumano.blogs.dri.pt/2009/12/30/as-prendas-da-mysql-para-2009/">já devem ter reparado</a> eheh). Esta minha demora em escrever fica pautada por uma presença em Luanda, Angola, e por uns pesadíssimos comprimidos que tive que tomar (e tolerar!! mal ou bem..). Na foto abaixo deixo uma paisagem imensa, algures a meio da viagem, que se estendia para além da curva do horizonte, que foi a primeira sensação dual provocada por África: tão grande e tão&#8230; deserto.</p>
<p><a href="http://gpshumano.blogs.dri.pt/files/2009/12/luanda-voo.jpg"><img src="http://gpshumano.blogs.dri.pt/files/2009/12/luanda-voo-300x172.jpg" alt="luanda-voo" width="300" height="172" class="aligncenter size-medium wp-image-899" /></a></p>
<p>Tive tempo também para um cinema: andava a criticar o facto da oferta não ser nada por aí além, mas fui ver o <a href="http://www.avatarmovie.com/">Avatar</a>, versão em 3D, e&#8230;. bem&#8230; ainda estou a processar. Neste momento é o meu filme preferido, o que cataloga James Cameron como o melhor realizador, desta vez sem dúvida nenhuma!</p>
<p>Cruzei-me com o Mr. <a href="http://en.wikipedia.org/wiki/Stanley_Jordan">Stanley Jordan</a> a interpretar <i><a href="http://www.youtube.com/watch?v=HjXN3OLgoqs">Stairways to Heaven</a></i> no pian&#8230; perdão, na guitarra! O melhor é mesmo ver <img src='http://gpshumano.blogs.dri.pt/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>E agora umas mais antiguitas, que tinha para aqui guardadas.</p>
<p>Andava farto de ter que lançar 3 ou 4 ferramentas para fazer desenhos para a malta, e dei de caras com estas duas aplicações que talvez venham a simplificar-me/nos a vida: O <a href="http://www.gliffy.com/">Gliffy</a>, que já parece <a href="http://www.mediawiki.org/wiki/Extension:Gliffy">integrar com o MediaWiki</a>, e o <a href="http://yuml.me/">yUML</a>, que <a href="http://wiki.sindri.info/wiki/YUML_MediaWiki_Extension">também integra</a>. O caminho há-de ser algures por aí - ou então usar o Google Presentation?</p>
<p>Já uma vez me tinha questionado sobre a complexidade da nossa voz face à simplicidade de um tom/nota acústica, mas nada como <a href="http://blog.makezine.com/archive/2009/10/mechanical_reproduction_of_digitize.html">isto</a>: estes senhores conseguiram reproduzir voz usando um piano! Bom, e mais qualquer coisinha, é certo&#8230;</p>
<p>Noutra frente, e depois de já ter gasto alguns minutos (juro!) a reviver <a href="http://www.quakelive.com/">Quake Live</a>, cruzei-me acidentalmente (juro, juro!) com um clássico que merece a atenção, especialmente por ser todo em DHTML/Javscript: o viciante <a href="http://www.elizium.nu/scripts/lemmings/">Lemmings</a>!</p>
<p>De volta aos sistemas, andei a experimentar o <a href="http://www.mjmwired.net/kernel/Documentation/networking/netconsole.txt">netconsole</a>. Isto é giro, mas como não deu para usar o <a href="ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/">logger</a> para escrever para o <i>ring buffer</i> (dmesg), tive que experimentar com um <a href="http://www.ibm.com/developerworks/linux/library/l-proc.html">módulo de kernel <i>dummy</i></a> - e só subindo o nível, com <tt>KERN_ERR</tt>&#8230;!</p>
<p>As férias foram tão grandes que voltei a explorar alguns <i>chapéus coloridos</i>: dei de caras com o <a href="http://www.cipherdyne.org/fwknop/">fwknop</a> para <i>port knocking</i>, andei a fazer experiências com o <a href="http://ettercap.sourceforge.net/">ettercap</a>, e li uns artigos giros onde sempre se aprendem mais uns programitas, como no artigo <i><a href="http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html">20 Linux System Monitoring Tools Every SysAdmin Should Know</a></i>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gpshumano.blogs.dri.pt/2010/04/10/estes-fins-de-semana/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Academia Wikipédia: está quase!</title>
		<link>http://gpshumano.blogs.dri.pt/2010/04/10/academia-wikipedia-esta-quase/</link>
		<comments>http://gpshumano.blogs.dri.pt/2010/04/10/academia-wikipedia-esta-quase/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 02:00:10 +0000</pubDate>
		<dc:creator>ntavares</dc:creator>
		
		<category><![CDATA[dri]]></category>

		<category><![CDATA[pt_PT]]></category>

		<category><![CDATA[wikipedia]]></category>

		<category><![CDATA[viagens]]></category>

		<category><![CDATA[wikimedia portugal]]></category>

		<guid isPermaLink="false">http://gpshumano.blogs.dri.pt/?p=1010</guid>
		<description><![CDATA[O evento resulta de uma parceria entre a Faculdade de Engenharia da Universidade do Porto e a Associação Wikimédia Portugal, contando com o apoio da EXPONOR e da DRI.
O objectivo é sensibilizar e promover o uso da Wikipédia. O seminário decorrerá, entre as 9h30 e as 18 horas do dia 16 de Abril, na QUALIFICA [...]]]></description>
			<content:encoded><![CDATA[<p>O evento resulta de uma parceria entre a <a href="http://fe.up.pt">Faculdade de Engenharia da Universidade do Porto</a> e a <a href="http://www.wikimedia.pt">Associação Wikimédia Portugal</a>, contando com o apoio da <a href="http://www.exponor.pt">EXPONOR</a> e da <a href="http://www.dri.pt/">DRI</a>.</p>
<p>O objectivo é sensibilizar e promover o uso da <a href="http://pt.wikipedia.org">Wikipédia</a>. O seminário decorrerá, entre as 9h30 e as 18 horas do dia 16 de Abril, na <a href="http://www.qualifica.exponor.pt/">QUALIFICA</a> e terá ligação por videoconferência à <a href="http://meta.wikimedia.org/wiki/Chapters_meeting_2010">2010 Wikimedia Conference</a>, que decorrerá em Berlim, e onde estarei com a <a href="http://pt.wikimedia.org/wiki/Usu%C3%A1rio:Lusitana">Susana</a> a contribuir com a experiência portuguesa e, simultaneamente, a fazer as entrevistas.</p>
<p>Para além da palestra de <a href="http://pt.wikimedia.org/wiki/Plano_de_actividades/2010-11/Academia_Wikip%C3%A9dia/Oradores#Kul_Takanao_Wadhwa">Kul Takanao Wadhwa</a>, <em>Head of Business Development</em> da <a href="http://wikimediafoundation.org/">Wikimedia Foundation</a>, haverá <a href="http://academia-wikipedia.org/programa.php">espaço para o debate</a> de temas como a qualidade e a fiabilidade da Wikipédia, o uso da Wikipédia nas aulas, a Wikipédia como instrumento de protecção e promoção de línguas minoritárias, a Wikipédia na investigação e ainda informação detalhada sobre edição de conteúdos, licenciamento e ligações a projectos. A sessão está aberta ao público em geral, desde estudantes, professores, investigadores e outros especialistas do meio académico.</p>
<p>A participação na Academia Wikipédia é gratuita, mas com inscrição obrigatória. Poderá fazer a sua inscrição online aqui:<br />
<a href="http://academia-wikipedia.org/inscricao.php">http://academia-wikipedia.org/inscricao.php</a>.<br />
<a href="http://academia-wikipedia.org">
<div align="center"><img src="http://academia-wikipedia.org/images/logos.png" alt="" /></div>
<p></a><br />
Se és dos que vão à Wikipédia antes de fazer um trabalho, ou enquanto pesquisas profissionalmente, então este evento tem entrada livre, realiza-se a 16 de Abril, na Exponor, e parece ideal para ti!</p>
]]></content:encoded>
			<wfw:commentRss>http://gpshumano.blogs.dri.pt/2010/04/10/academia-wikipedia-esta-quase/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Academia Wikipédia: Call for Papers</title>
		<link>http://gpshumano.blogs.dri.pt/2010/02/25/academia-portugal-call-for-papers/</link>
		<comments>http://gpshumano.blogs.dri.pt/2010/02/25/academia-portugal-call-for-papers/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 21:49:22 +0000</pubDate>
		<dc:creator>ntavares</dc:creator>
		
		<category><![CDATA[pt_PT]]></category>

		<category><![CDATA[wikipedia]]></category>

		<category><![CDATA[presentations]]></category>

		<category><![CDATA[wikimedia portugal]]></category>

		<guid isPermaLink="false">http://gpshumano.blogs.dri.pt/?p=1001</guid>
		<description><![CDATA[
Está aberta a Chamada a Oradores para o primeiro evento organizado pela Associação Wikimedia Portugal (WMP)!
A Wikimedia Portugal, em conjunto com a Faculdade de Engenharia da Universidade do Porto (FEUP), está a organizar o primeiro Workshop em Portugal intitulado &#8220;Academia Wikipédia&#8221; no Porto/Exponor, a realizar em simultâneo com a &#8220;Qualifica&#8221;- Feira de educação, formação, juventude [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right"><img src="http://upload.wikimedia.org/wikipedia/commons/6/6a/Wikimedia_Portugal_logo_135px.png" alt="" /></div>
<p>Está aberta a <strong>Chamada a Oradores</strong> para o primeiro evento organizado pela <a href="http://www.wikimedia.pt">Associação Wikimedia Portugal</a> (WMP)!</p>
<p>A Wikimedia Portugal, em conjunto com a <a href="http://www.fe.up.pt/">Faculdade de Engenharia da Universidade do Porto</a> (FEUP), está a organizar o primeiro Workshop em Portugal intitulado &#8220;<strong>Academia Wikipédia</strong>&#8221; no <a href="http://pt.wikipedia.org/wiki/Porto">Porto</a>/<a href="http://www.exponor.pt/">Exponor</a>, a realizar em simultâneo com a <a href="http://www.qualifica.exponor.pt/">&#8220;Qualifica&#8221;- Feira de educação, formação, juventude e emprego</a>, no dia 16 de Abril.</p>
<p>Aqui está um pequeno descritivo da Academia:<br />
<a href="http://pt.wikimedia.org/wiki/Plano_de_actividades/2010-11/Academia_Wikipédia">Academia Wikipédia</a></p>
<p>As apresentações deverão ser em português, sempre que possível, e devem demorar entre 20min a 30min, com alguns minutos para perguntas e respostas. Se houver necessidade de estender este tempo penso que não será impossível.</p>
<p>Sou eu que estou a organizar o programa, e estou a criar uma maquete aqui: <a href="http://pt.wikimedia.org/wiki/Plano_de_actividades/2010-11/Academia_Wikip%C3%A9dia/Programa">Programa da Academia Wikipédia</a>. Enviem temas que gostavam de ver abordados, se os apresentados (a título de exemplo) não vos <em>puxa</em> para falar. Entrem em <a href="http://pt.wikimedia.org/wiki/Especial:Contactar_utilizador/Nuno_Tavares">contacto comigo</a>, ou usem a página de <a href="http://pt.wikimedia.org/wiki/Contacto">contactos da WMP</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://gpshumano.blogs.dri.pt/2010/02/25/academia-portugal-call-for-papers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Update on KTEmailPush KnowledgeTree Plugin</title>
		<link>http://gpshumano.blogs.dri.pt/2010/02/17/update-on-ktemailpush-knowledgetree-plugin/</link>
		<comments>http://gpshumano.blogs.dri.pt/2010/02/17/update-on-ktemailpush-knowledgetree-plugin/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 04:40:52 +0000</pubDate>
		<dc:creator>ntavares</dc:creator>
		
		<category><![CDATA[en_US]]></category>

		<category><![CDATA[knowledgetree]]></category>

		<category><![CDATA[integration]]></category>

		<category><![CDATA[plugins]]></category>

		<category><![CDATA[utilities]]></category>

		<guid isPermaLink="false">http://gpshumano.blogs.dri.pt/?p=997</guid>
		<description><![CDATA[I took the time to make some improvements to KTEmailPush KnowledgeTree Plugin. It&#8217;s now a real KT Plugin (instead of external script) with its own scheduler task. Version 1.0 publishes the plugin as a KT pluggable plugin, with its scheduler&#8217;s own task. Only configuration is still file-based only. It should be a matter of 4 [...]]]></description>
			<content:encoded><![CDATA[<p>I took the time to make some improvements to <strong>KTEmailPush KnowledgeTree Plugin</strong>. It&#8217;s now a real KT Plugin (instead of external script) with its own scheduler task. Version 1.0 publishes the plugin as a KT pluggable plugin, with its scheduler&#8217;s own task. Only configuration is still file-based only. It should be a matter of 4 or 5 steps to get it up and running in your system.</p>
<h2>Features</h2>
<ul>
<li>Upload to specific folder, to user&#8217;s group/unit folder, to user&#8217;s Dropped Documents folder or you may use an external script to determine where the file should be uploaded to;</li>
<li>Upload message body as document, optionally setting links between body and attachments;</li>
<li>Restrict emails based on sender or recipient;</li>
<li>Attachments can be uniquely distinguished, or be uploaded as new revisions of same document (based on filename);</li>
<li>Multiple notifications can be sent: message without attachment detection (and removal), discarded non-existing KT user originated mail, sender notification of new documents (can be complemented with Workflow notifications for notifying recipients), notify sender of uploaded documents, notify system admininstration;</li>
<li>Full debugging support and exclusive lock to avoid multiple runs;</li>
</ul>
<p>The default behaviour is to upload to a specific folder, based on the address found in &#8216;From:&#8217;, which should be an unique email bound to an username.</p>
<p>It can be complemented with KT Workflows to fire notifications.</p>
<p>Also, there are lots of options (in config.inc.php) to decide what exactly the plugin should do with attachments, debugging, etc.</p>
<h2>Installation</h2>
<ul>
<li>You should create the following mail addresses to receive the documents, which should match $mail_username, $mail_cc and $mail_admin in config.inc.php: kt_queue@domain.com, kt_copy@domain.com, kt_admin@domain.com;</li>
<li> Unpack the source (or SVN checkout) to the directory &#8216;plugins&#8217;
<pre>
  svn checkout https://svn.forge.dri.pt/svn/kt-emailpush/trunk kt-emailpush
	</pre>
<p>	<i>Note</i> that kt_copy should maintain an endless growing copy of all email sent (which should be maintained by YOU, since it&#8217;s untouched), and that kt_admin is the admin&#8217;s destination address for notifications.</li>
<li>Adjust the values in the config.inc.php script.</li>
<li>Go to &#8220;Administration &gt; Miscellaneous &gt; Manage plugins&#8221; and reread plugins. The refreshed listing should now show &#8220;KT EmailPush Plugin&#8221;. Activate it and click on the &#8220;Update&#8221; button.</li>
<li>Visit &#8220;Administration &gt; Miscellaneous &gt; Manage Task Scheduler&#8221; to ensure the &#8220;Fetch Mail&#8221; tasks is installed and active and it&#8217;s running with the desired frequency.</li>
<li>Be sure to have your KT cron running.</li>
</ul>
<h2>Maintenance</h2>
<p>The file specified in config $lockfile will prevent running concurrent copies. Eventually you can use this mutex facility to auto-unlock if you need to perform some kind of maintenance. </p>
<p>&rarr; Find out more at KT&#8217;s Wiki: <a href="Email Gateway Plugin">http://wiki.knowledgetree.com/Email_Gateway_Plugin</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gpshumano.blogs.dri.pt/2010/02/17/update-on-ktemailpush-knowledgetree-plugin/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Acer Aspire One D250</title>
		<link>http://gpshumano.blogs.dri.pt/2010/01/29/acer-aspire-one-d250/</link>
		<comments>http://gpshumano.blogs.dri.pt/2010/01/29/acer-aspire-one-d250/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 04:02:02 +0000</pubDate>
		<dc:creator>ntavares</dc:creator>
		
		<category><![CDATA[en_US]]></category>

		<category><![CDATA[hardware]]></category>

		<category><![CDATA[linux driver]]></category>

		<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://gpshumano.blogs.dri.pt/?p=982</guid>
		<description><![CDATA[I did it. I went to FNAC and bought it. I really did it  
I just got this new Acer Aspire One (D250).
I&#8217;ve installed UNetbootin on my Fedora and downloaded an Ubuntu 9.10 image. After deploying the image to a 2GB USB stick, and booting the netbook, it just went on booting without any [...]]]></description>
			<content:encoded><![CDATA[<p>I did it. I went to FNAC and bought it. I really did it <img src='http://gpshumano.blogs.dri.pt/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I just got this new <a href="http://us.acer.com/acer/productv.do?LanguageISOCtxParam=en&amp;kcond61e.c2att101=58051&amp;sp=page16e&amp;ctx2.c2att1=25&amp;link=ln438e&amp;CountryISOCtxParam=US&amp;ctx1g.c2att92=843&amp;ctx1.att21k=1&amp;CRC=127634522">Acer Aspire One (D250)</a>.</p>
<p>I&#8217;ve installed <a href="http://unetbootin.sourceforge.net/">UNetbootin</a> on <a href="http://gpshumano.blogs.dri.pt/2009/02/11/fedora-9-fedora-10-online-upgrade/">my Fedora</a> and downloaded an <a href="http://www.ubuntu.com/getubuntu/download">Ubuntu 9.10</a> image. After deploying the image to a 2GB USB stick, and booting the netbook, it just went on booting without any trouble at all. That&#8217;s what I like in Ubuntu, and that&#8217;s what I need for this laptop. After booting, just went through the installer and, after a couple of questions, all was ready: Wi-fi, Ethernet, Microphone, Webcam, everything worked out-of-the-box. Even the Wifi led is working, against all odds <img src='http://gpshumano.blogs.dri.pt/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I went through a shared installation to keep things simple. I still have to investigate this further, but awesome as well is the fact the Ubuntu installer respected both Android and Windows 7. Both are still bootable, the first being booted without option (I think it&#8217;s my fault when I was asked how I&#8217;d like it to boot), then GRUB, and from there I can go wherever: Ubuntu or Windows 7. </p>
<p>Windows 7, as usual, didn&#8217;t seem prepared to partition adjustments. After first boot it started a filecheck (still the good&#8217;old CHKDSK, just imagine :)&#8230; after rebooting again, it was ready to stay. Luck for it that handled it afterall, as its days of existence here are probably limited.</p>
<p>So, <a href="http://www.linlap.com/wiki/acer+aspire+one+d250">this page</a> is needing an update. Pending testing is now the card reader and the webcam. After that, I should update the page.</p>
<p>In the meantime, between reboots, I just found my newest addiction (on the phone, so far) online as well: <a href="http://www.funny-games.biz/towerbloxx.html">Tower Bloxx</a> <img src='http://gpshumano.blogs.dri.pt/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://gpshumano.blogs.dri.pt/2010/01/29/acer-aspire-one-d250/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Início das actividades da Wikimedia Portugal</title>
		<link>http://gpshumano.blogs.dri.pt/2010/01/25/inicio-das-actividades-da-wikimedia-portugal/</link>
		<comments>http://gpshumano.blogs.dri.pt/2010/01/25/inicio-das-actividades-da-wikimedia-portugal/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 23:48:04 +0000</pubDate>
		<dc:creator>ntavares</dc:creator>
		
		<category><![CDATA[pt_PT]]></category>

		<category><![CDATA[wikipedia]]></category>

		<category><![CDATA[data mining]]></category>

		<category><![CDATA[graphing]]></category>

		<category><![CDATA[presentations]]></category>

		<category><![CDATA[warehousing]]></category>

		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://gpshumano.blogs.dri.pt/?p=975</guid>
		<description><![CDATA[
Este post já deveria ter chegado há muito mais tempo. Mas o tempo não o permitiu&#8230;
Não deve ser novidade que a Wikimedia Portugal (WMP) já arrancou o Plano de Actividades para 2010-11. A primeira actividade oficial foi uma apresentação num seminário no Instituto Superior Técnico promovido pela Presidência do Departamento de Engenharia Informática, a convite [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right"><img src="http://upload.wikimedia.org/wikipedia/commons/6/6a/Wikimedia_Portugal_logo_135px.png" alt="" /></div>
<p>Este post já deveria ter chegado há muito mais tempo. Mas o tempo não o permitiu&#8230;</p>
<p>Não deve ser novidade que a <a href="http://www.wikimedia.pt/">Wikimedia Portugal</a> (WMP) já arrancou o <a href="http://pt.wikimedia.org/wiki/Plano_de_actividades/2010-11">Plano de Actividades</a> para 2010-11. A primeira actividade oficial foi uma apresentação num seminário no Instituto Superior Técnico promovido pela Presidência do Departamento de Engenharia Informática, a convite do prof. José Borbinha, que gostámos muito de conhecer e a quem agradecemos o apoio e disponibilidade que demonstrou para connosco.</p>
<p>A Susana fez uma exposição da <a href="http://www.wikimedia.org/">Wikimedia Foundation</a>, do nosso contexto WMP, do processo editorial, da estrutura interna dos projectos (utilizadores, categorias, etc), da manutenção, licenciamento, etc.</p>
<p>A apresentação está aqui:<br />
<a href="http://wikimedia.pt/download/Wikimedia_Slideshow.pps">http://wikimedia.pt/download/Wikimedia_Slideshow.pps</a></p>
<p>Eu juntei-me à festa, atendendo a um público de informática, e apresentei brevemente a plataforma da WMF (servidores, software, arquitectura) mas o grosso da minha mini-apresentação foi para falar de predefinições, dados estruturados e seus benefícios na Wikipédia e, por fim, divaguei um bocadinho até à <a href="http://pt.wikipedia.org/wiki/Web_sem%C3%A2ntica">Web Semântica</a>, conceito para o qual a Wikipédia está a ser bastante utilizada (os tópicos estão resumidos em 2 posts que já tinha feito no blog [<a href="http://gpshumano.blogs.dri.pt/2009/08/10/a-importancia-da-wikipedia-enquanto-fonte-de-dados-e-nao-tanto-de-informacao/">1</a>][<a href="http://gpshumano.blogs.dri.pt/2009/10/03/revisita-aos-dados-estruturados/">2</a>]).</p>
<p>A apresentação está aqui:<br />
<a href="http://wikimedia.pt/download/Wikimedia_Web_Semantica.pps">http://wikimedia.pt/download/Wikimedia_Web_Semantica.pps</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gpshumano.blogs.dri.pt/2010/01/25/inicio-das-actividades-da-wikimedia-portugal/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ainda sobre o tamanho dos campos VARCHAR&#8230;</title>
		<link>http://gpshumano.blogs.dri.pt/2010/01/25/ainda-sobre-o-tamanho-dos-campos-varchar/</link>
		<comments>http://gpshumano.blogs.dri.pt/2010/01/25/ainda-sobre-o-tamanho-dos-campos-varchar/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 23:24:10 +0000</pubDate>
		<dc:creator>ntavares</dc:creator>
		
		<category><![CDATA[mysql]]></category>

		<category><![CDATA[performance]]></category>

		<category><![CDATA[pt_PT]]></category>

		<category><![CDATA[data types]]></category>

		<guid isPermaLink="false">http://gpshumano.blogs.dri.pt/?p=964</guid>
		<description><![CDATA[Em Setembro escrevi sobre as consequências de deixar ao acaso o tamanho e character set de campos VARCHAR. Entretanto gostaria de complementar as observações com o que escrevo abaixo.
A mistura de charsets &#8212; como ter uma tabela num charset e um determinado campo dessa tabela com outro charset diferente, por exemplo &#8212; deve ser cuidadosamente [...]]]></description>
			<content:encoded><![CDATA[<p>Em Setembro escrevi sobre <a href="http://gpshumano.blogs.dri.pt/2009/09/24/tamanho-e-character-set-de-campos-varchar-e-consequencias/">as consequências de deixar ao acaso o tamanho e character set de campos VARCHAR</a>. Entretanto gostaria de complementar as observações com o que escrevo abaixo.</p>
<p>A mistura de charsets &mdash; como ter uma tabela num charset e um determinado campo dessa tabela com outro charset diferente, por exemplo &mdash; deve ser cuidadosamente analisada. Existe alguma probabilidade de ocorrerem complicações, caso se trate esta questão levianamente.</p>
<p>À parte do que se deve ou não fazer, o que eu gostaria era que se compreendesse o benefício que se pode atingir no caso particular da utilização de UUIDs. Já vimos que UTF-8 para este caso particular é um desperdício, mas o que gostaria de demonstrar são se, de facto, compensa alterar campos específicos quando nem todos podem ser alterados. </p>
<p>Vejamos: vão ser criadas 2 tabelas MyISAM em UTF-8, uma com um campo Latin1 e outra com o campo natural, em UTF-8. Vou usar uma tabela que tinha para aqui com 2M de UUIDs apenas para acelerar o processo. Essa tabela, <tt>table_uuid</tt>, é original Latin1, embora o foco não seja sobre o carregamento dos dados, mas sim do seu cruzamento entre as duas primeiras:</p>
<div class="igBar"><span id="lmysql-5"><a href="#" onclick="javascript:showPlainTxt('mysql-5'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">MySQL:</span>
<div id="mysql-5">
<div class="mysql">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mysql&gt; <span style="color: #993333; font-weight: bold;">CREATE TABLE</span> charset_latin1 <span style="color: #66cc66;">&#40;</span> id <span style="color: #aa9933; font-weight: bold;">CHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">36</span><span style="color: #66cc66;">&#41;</span> <span style="color: #aa3399; font-weight: bold;">CHARSET</span> latin1, <span style="color: #993333; font-weight: bold;">PRIMARY KEY</span> <span style="color: #66cc66;">&#40;</span>id<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #aa3399; font-weight: bold;">CHARSET</span> utf8;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Query OK, <span style="color: #cc66cc;color:#800000;">0</span> rows affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">0</span>.<span style="color: #cc66cc;color:#800000;">01</span> sec<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mysql&gt; <span style="color: #993333; font-weight: bold;">CREATE TABLE</span> charset_utf8 <span style="color: #66cc66;">&#40;</span> id <span style="color: #aa9933; font-weight: bold;">CHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">36</span><span style="color: #66cc66;">&#41;</span> <span style="color: #aa3399; font-weight: bold;">CHARSET</span> utf8, <span style="color: #993333; font-weight: bold;">PRIMARY KEY</span> <span style="color: #66cc66;">&#40;</span>id<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #aa3399; font-weight: bold;">CHARSET</span> utf8;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Query OK, <span style="color: #cc66cc;color:#800000;">0</span> rows affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">0</span>.<span style="color: #cc66cc;color:#800000;">01</span> sec<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mysql&gt; <span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> charset_utf8 <span style="color: #993333; font-weight: bold;">SELECT</span> id <span style="color: #993333; font-weight: bold;">FROM</span> table_uuid ;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Query OK, <span style="color: #cc66cc;color:#800000;">2097152</span> rows affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">2</span> min <span style="color: #cc66cc;color:#800000;">29</span>.<span style="color: #cc66cc;color:#800000;">77</span> sec<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Records: <span style="color: #cc66cc;color:#800000;">2097152</span>&nbsp; Duplicates: <span style="color: #cc66cc;color:#800000;">0</span>&nbsp; <span style="color: #993333; font-weight: bold;">WARNINGS</span>: <span style="color: #cc66cc;color:#800000;">0</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mysql&gt; <span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> charset_latin1 <span style="color: #993333; font-weight: bold;">SELECT</span> id <span style="color: #993333; font-weight: bold;">FROM</span> table_uuid ;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Query OK, <span style="color: #cc66cc;color:#800000;">2097152</span> rows affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">50</span>.<span style="color: #cc66cc;color:#800000;">15</span> sec<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Records: <span style="color: #cc66cc;color:#800000;">2097152</span>&nbsp; Duplicates: <span style="color: #cc66cc;color:#800000;">0</span>&nbsp; <span style="color: #993333; font-weight: bold;">WARNINGS</span>: <span style="color: #cc66cc;color:#800000;">0</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Agora, suponhamos que a tabela <tt>charset_latin1</tt> é uma tabela originalmente em UTF-8, para a qual já fizemos a transformação do campo (que vai albergar UUIDs) para Latin1. O que pretendemos demonstrar são os ganhos/prejuízos do cruzamento de tabelas com as mesmas características, e com diferentes:</p>
<div class="igBar"><span id="lmysql-6"><a href="#" onclick="javascript:showPlainTxt('mysql-6'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">MySQL:</span>
<div id="mysql-6">
<div class="mysql">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mysql&gt; <span style="color: #993333; font-weight: bold;">SELECT</span> count<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> charset_utf8 a, charset_latin1 b <span style="color: #993333; font-weight: bold;">WHERE</span> a.id = b.id;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">| count<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">1</span><span style="color: #66cc66;">&#41;</span> |</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">|&nbsp; <span style="color: #cc66cc;color:#800000;">2097152</span> | </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #cc66cc;color:#800000;">1</span> row in <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">1</span> min <span style="color: #cc66cc;color:#800000;">8</span>.<span style="color: #cc66cc;color:#800000;">82</span> sec<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mysql&gt; <span style="color: #993333; font-weight: bold;">SELECT</span> count<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> charset_utf8 a, charset_utf8 b&nbsp; <span style="color: #993333; font-weight: bold;">WHERE</span> a.id = b.id;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">| count<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">1</span><span style="color: #66cc66;">&#41;</span> |</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">|&nbsp; <span style="color: #cc66cc;color:#800000;">2097152</span> | </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #cc66cc;color:#800000;">1</span> row in <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">58</span>.<span style="color: #cc66cc;color:#800000;">00</span> sec<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mysql&gt; <span style="color: #993333; font-weight: bold;">SELECT</span> count<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> charset_latin1 a, charset_latin1 b&nbsp; <span style="color: #993333; font-weight: bold;">WHERE</span> a.id = b.id;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">| count<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">1</span><span style="color: #66cc66;">&#41;</span> |</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">|&nbsp; <span style="color: #cc66cc;color:#800000;">2097152</span> | </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #cc66cc;color:#800000;">1</span> row in <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">24</span>.<span style="color: #cc66cc;color:#800000;">43</span> sec<span style="color: #66cc66;">&#41;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Ou seja, como já se disse, fazer JOINs com Latin1 é muito rápido, relativamente às outras opções. Mas repare-se quando se cruzam diferentes charsets (1º JOIN): ocorre uma degradação de <b>19%</b> face ao pior caso.</p>
<p>Ou seja, tendo em conta que estas tabelas podem ser apenas tabelas de relação [quero com isto dizer que não contêm dados que não sirvam senão para cruzamentos/JOINs] é expectável que a performance se degrade sempre que sejam cruzadas com outras cuja chave não esteja no mesmo charset. Deduz-se daqui que existe, portanto, <i>overhead</i> relativo às conversões de charset durante o JOIN.</p>
<p>Apesar de estarmos perante um <i>index scan</i> (ie, com os dados todos em <i>cache</i>), ocorreu-me também experimentar com InnoDB.</p>
<div class="igBar"><span id="lmysql-7"><a href="#" onclick="javascript:showPlainTxt('mysql-7'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">MySQL:</span>
<div id="mysql-7">
<div class="mysql">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mysql&gt; <span style="color: #993333; font-weight: bold;">ALTER TABLE</span> charset_utf8 engine=<span style="color: #993333; font-weight: bold;">INNODB</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Query OK, <span style="color: #cc66cc;color:#800000;">2097152</span> rows affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">48</span>.<span style="color: #cc66cc;color:#800000;">18</span> sec<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Records: <span style="color: #cc66cc;color:#800000;">2097152</span>&nbsp; Duplicates: <span style="color: #cc66cc;color:#800000;">0</span>&nbsp; <span style="color: #993333; font-weight: bold;">WARNINGS</span>: <span style="color: #cc66cc;color:#800000;">0</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mysql&gt; <span style="color: #993333; font-weight: bold;">ALTER TABLE</span> charset_latin1 engine=<span style="color: #993333; font-weight: bold;">INNODB</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Query OK, <span style="color: #cc66cc;color:#800000;">2097152</span> rows affected <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">39</span>.<span style="color: #cc66cc;color:#800000;">43</span> sec<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Records: <span style="color: #cc66cc;color:#800000;">2097152</span>&nbsp; Duplicates: <span style="color: #cc66cc;color:#800000;">0</span>&nbsp; <span style="color: #993333; font-weight: bold;">WARNINGS</span>: <span style="color: #cc66cc;color:#800000;">0</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Convém ressalvar aqui que fiz uns SELECTs primeiro para ter a certeza que os <em>datafiles</em> estavam carregados na <i>buffer pool</i>.</p>
<div class="igBar"><span id="lmysql-8"><a href="#" onclick="javascript:showPlainTxt('mysql-8'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">MySQL:</span>
<div id="mysql-8">
<div class="mysql">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mysql&gt; <span style="color: #993333; font-weight: bold;">SELECT</span> count<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> charset_utf8 a, charset_latin1 b <span style="color: #993333; font-weight: bold;">WHERE</span> a.id = b.id;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">| count<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">1</span><span style="color: #66cc66;">&#41;</span> |</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">|&nbsp; <span style="color: #cc66cc;color:#800000;">2097152</span> | </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #cc66cc;color:#800000;">1</span> row in <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">21</span>.<span style="color: #cc66cc;color:#800000;">65</span> sec<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mysql&gt; <span style="color: #993333; font-weight: bold;">SELECT</span> count<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> charset_utf8 a, charset_utf8 b&nbsp; <span style="color: #993333; font-weight: bold;">WHERE</span> a.id = b.id;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">| count<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">1</span><span style="color: #66cc66;">&#41;</span> |</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">|&nbsp; <span style="color: #cc66cc;color:#800000;">2097152</span> | </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #cc66cc;color:#800000;">1</span> row in <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">12</span>.<span style="color: #cc66cc;color:#800000;">61</span> sec<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">mysql&gt; <span style="color: #993333; font-weight: bold;">SELECT</span> count<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> charset_latin1 a, charset_latin1 b&nbsp; <span style="color: #993333; font-weight: bold;">WHERE</span> a.id = b.id;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">| count<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">1</span><span style="color: #66cc66;">&#41;</span> |</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">|&nbsp; <span style="color: #cc66cc;color:#800000;">2097152</span> | </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">+<span style="color: #808080; font-style: italic;">----------+</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #cc66cc;color:#800000;">1</span> row in <span style="color: #993333; font-weight: bold;">SET</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;color:#800000;">8</span>.<span style="color: #cc66cc;color:#800000;">25</span> sec<span style="color: #66cc66;">&#41;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Ou seja, a conclusão que se pode tirar daqui é que: não só devemos pensar na optimização que se ganha com a escolha do charset, mas também devemos analisar o impacto de não podermos levar a tarefa de reconversão avante na totalidade. A necessidade de cruzar campos com charsets diferentes torna-se, efectivamente, mais penoso. Resta comparar, caso a caso, o benefício que se obtém em queries pouco/nada optimizadas versus o prejuízo de performance que poderá reflectir-se em cruzamentos/JOINs com campos em charsets diferentes.</p>
]]></content:encoded>
			<wfw:commentRss>http://gpshumano.blogs.dri.pt/2010/01/25/ainda-sobre-o-tamanho-dos-campos-varchar/feed/</wfw:commentRss>
		</item>
		<item>
		<title>NRPE for Endian Firewall</title>
		<link>http://gpshumano.blogs.dri.pt/2009/12/31/nrpe-for-endian-firewall/</link>
		<comments>http://gpshumano.blogs.dri.pt/2009/12/31/nrpe-for-endian-firewall/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 04:37:18 +0000</pubDate>
		<dc:creator>ntavares</dc:creator>
		
		<category><![CDATA[en_US]]></category>

		<category><![CDATA[monitorização]]></category>

		<category><![CDATA[nagios]]></category>

		<category><![CDATA[endian fw]]></category>

		<category><![CDATA[patches]]></category>

		<category><![CDATA[repackaging]]></category>

		<guid isPermaLink="false">http://gpshumano.blogs.dri.pt/?p=914</guid>
		<description><![CDATA[Finally I had the time to compile NRPE (the nagios addon) for Endian Firewall. If you are in a hurry, look for the download section below.
First of all, an important finding is that Endian Firewall (EFW) seems to be based on Fedora Core 3, so maybe sometimes you can spare some work by installing FC3 [...]]]></description>
			<content:encoded><![CDATA[<p>Finally I had the time to compile <a href="http://nrpe.sourceforge.net/">NRPE</a> (the nagios addon) for <a href="www.endian.com/">Endian Firewall</a>. If you are in a hurry, look for the <a href="#download">download</a> section below.</p>
<p>First of all, an important finding is that Endian Firewall (EFW) seems to be based on Fedora Core 3, so maybe sometimes you can spare some work by installing <a href="http://archives.fedoraproject.org/pub/archive/fedora/linux/core/3/i386/os/Fedora/RPMS/">FC3 RPMs</a> directly. And that's what we'll do right away, so we can move around EFW more easily. </p>
<h2>Packaging and installing NRPE</h2>
<ul>
<li>Install <tt>wget</tt>:<br />
<code><br />
rpm -Uvh <a href="http://archives.fedoraproject.org/pub/archive/fedora/linux/core/3/i386/os/Fedora/RPMS/info-4.7-5.i386.rpm">http://archives.fedoraproject.org/pub/archive/fedora/linux/core/3/i386/os/Fedora/RPMS/info-4.7-5.i386.rpm</a><br />
rpm -Uvh <a href="http://archives.fedoraproject.org/pub/archive/fedora/linux/core/3/i386/os/Fedora/RPMS/wget-1.9.1-17.i386.rpm">http://archives.fedoraproject.org/pub/archive/fedora/linux/core/3/i386/os/Fedora/RPMS/wget-1.9.1-17.i386.rpm</a></p>
<p></code></li>
<li>If you don't have an Endian Community Account, register yourself at: <a href="http://www.endian.org/register">http://www.endian.org/register</a></li>
<li>Then you can run, from the shell:<br />
<code><br />
efw-upgrade<br />
</code><br />
This command will ask you the profile your dummy endian should assume and will install the necessary build tools if you choose <tt>development</tt>.</li>
<li>Grab the source for NRPE from: <a href="http://www.nagios.org/download/addons/">http://www.nagios.org/download/addons/</a> (it was version 2.12 in my case):<br />
<code><br />
cd /root<br />
wget <a href="http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz">http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz</a></p>
<p></code></li>
<li>Now place the files for RPM building. Refer to <a href="http://linux.die.net/man/8/rpmbuild">rpmbuild(8)</a> man page if you are not familiar with the requirements.<br />
<code><br />
cd /usr/src/endian/SOURCES<br />
cp /root/nrpe-2.12.tar.gz .<br />
tar xfvz /root/nrpe-2.12.tar.gz<br />
cp nrpe-2.12/nrpe.spec ../SPECS</p>
<p></code></li>
<li>For NRPE to work seemlessly within EFW some minor adjustments have to be made. I'm providing them here, with a brief explanation: <a href="/extrafiles/ntavares/rpms/endian-2.2/nrpe-2.12-init-script.patch">nrpe-2.12-init-script.patch</a> will fix some assumptions made for general RPMs and <a href="/extrafiles/ntavares/rpms/endian-2.2/nrpe-2.12-spec.patch">nrpe-2.12-spec.patch</a> will remove unused dependencies and provide an EFW startup script. Apply these patches into the distribution you unpacked in the previous step - refer to <a href="http://linux.die.net/man/1/patch">patch(1)</a> man page.
<p>After applying the patches to the uncompressed distribution, you'll need to repackage the tarball - it will be automatically decompressed for the building stage.</li>
<li>Now build everything:<br />
<code><br />
rpmbuild -ba /usr/src/endian/SPECS/nrpe.spec</p>
<p></code><br />
This should compile you the RPM for you current architecture. It will integrate in for shell administration only, which means you won't be able to control it from the web interface.</li>
<li>Finally, install the package:<br />
<code><br />
rpm -ivh /usr/src/endian/RPMS/`uname -i`/nrpe-2.12-1.`uname -i`.rpm</p>
<p></code><br />
And that should be it, for NRPE. Go on and setup <tt>/etc/nagios/nrpe.cfg</tt> and don't forget to add the firewall rules for the port you selected (default is 5666).</li>
</ul>
<h2>Packaging and installing nagios-plugins</h2>
<ul>
<li>Grab the source at: <a href="http://sourceforge.net/projects/nagiosplug/files/">http://sourceforge.net/projects/nagiosplug/files/</a>
<p><code><br />
cd /root<br />
wget <a href="http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.14/nagios-plugins-1.4.14.tar.gz/download">http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.14/nagios-plugins-1.4.14.tar.gz/download</a></p>
<p></code></li>
<li>Repeat the procedure you did for NRPE: place the tarball on <tt>SOURCES</tt> and the spec file on <tt>SPECS</tt>:<br />
<code><br />
cp nagios-plugins-1.4.14.tar.gz /usr/src/endian/SOURCES/<br />
cd /usr/src/endian/SOURCES/<br />
tar xfvz nagios-plugins-1.4.14.tar.gz<br />
chown -R root:root nagios-plugins-1.4.14<br />
cp nagios-plugins-1.4.14/nagios-plugins.spec ../SPECS/</p>
<p></code></li>
<li>This bundle of plugins includes the so-called <i>standard plugins</i> for nagios. They are a lot and you maybe can just cut some off so the building is quicker. Also, you may avoid depend on <tt><a href="http://dag.wieers.com/rpm/packages/perl-Net-SNMP/">perl(Net::SNMP)</a>, <a href="http://dag.wieers.com/rpm/packages/perl-Crypt-DES/">perl(Crypt::DES)</a> and <a href="http://http://dag.wieers.com/rpm/packages/perl-Socket6/">perl(Socket6)</a></tt> - which you can grab from DAG's RPM repo (remember the FC3 branching).</li>
<p><code><br />
cd /root<br />
wget http://dag.wieers.com/rpm/packages/perl-Net-SNMP/perl-Net-SNMP-5.2.0-1.1.fc3.rf.noarch.rpm<br />
wget http://dag.wieers.com/rpm/packages/perl-Crypt-DES/perl-Crypt-DES-2.05-3.1.fc3.rf.i386.rpm<br />
wget http://dag.wieers.com/rpm/packages/perl-Socket6/perl-Socket6-0.19-1.1.fc3.rf.i386.rpm</p>
<p></code></p>
<li>Finally, install everything:<br />
<code><br />
rpm -ivh perl-Net-SNMP-5.2.0-1.1.fc3.rf.noarch.rpm \<br />
   perl-Crypt-DES-2.05-3.1.fc3.rf.i386.rpm \<br />
   perl-Socket6-0.19-1.1.fc3.rf.i386.rpm \<br />
   /usr/src/endian/RPMS/i386/nagios-plugins-1.4.14-1.i386.rpm</p>
<p></code></li>
</ul>
<h2>Final notes</h2>
<p>Be aware that this is a sample demonstration. I was more interested in having it done for my case - since I can fix future problems - rather than doing a proper/full EFW integration. If you think you can contribute with tweaking this build process just drop me a note.</p>
<p><a name="download"><br />
<h2>Download</h2>
<p></a><br />
Here are the RPMs which include the supra-mentioned tweaks (this required extra patching on the .spec file and include the patch within the source):</p>
<ul>
<li><a href="/extrafiles/ntavares/rpms/endian-2.2/nrpe-2.12-1.i386.rpm">nrpe-2.12-1.i386.rpm</a> (<a href="/extrafiles/ntavares/rpms/endian-2.2/nrpe-2.12-1.src.rpm">src.rpm</a>)</li>
<li><a href="/extrafiles/ntavares/rpms/endian-2.2/nagios-plugins-1.4.14-1.i386.rpm">nagios-plugins-1.4.14-1.i386.rpm</a> (<a href="/extrafiles/ntavares/rpms/endian-2.2/nagios-plugins-1.4.14-1.src.rpm">src.rpm</a>)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://gpshumano.blogs.dri.pt/2009/12/31/nrpe-for-endian-firewall/feed/</wfw:commentRss>
		</item>
		<item>
		<title>As prendas da MySQL para 2009</title>
		<link>http://gpshumano.blogs.dri.pt/2009/12/30/as-prendas-da-mysql-para-2009/</link>
		<comments>http://gpshumano.blogs.dri.pt/2009/12/30/as-prendas-da-mysql-para-2009/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 23:23:48 +0000</pubDate>
		<dc:creator>ntavares</dc:creator>
		
		<category><![CDATA[clustering]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[pt_PT]]></category>

		<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://gpshumano.blogs.dri.pt/?p=889</guid>
		<description><![CDATA[Bem, já lá vai algum tempito, mas aproveitei o tempo de férias para dar algum feedback do que de novo apareceu relativamente ao MySQL.
Começo por sinalizar o aparente descontinuamento do ramo 5.0.x do MySQL, pelo menos no que toca à manutenção activa. Também já não era sem tempo, já que a versão 5.1 trouxe demasiadas [...]]]></description>
			<content:encoded><![CDATA[<p>Bem, já lá vai algum tempito, mas aproveitei o tempo de férias para dar algum feedback do que de novo apareceu relativamente ao MySQL.</p>
<p>Começo por sinalizar o aparente <a href="http://freshmeat.net/projects/mysql/releases/310130"><strong>descontinuamento do ramo 5.0.x</strong></a> do MySQL, pelo menos no que toca à manutenção activa. Também já não era sem tempo, já que a versão 5.1 trouxe <a href="http://dev.mysql.com/doc/refman/5.1/en/mysql-nutshell.html">demasiadas coisas boas</a> para ser ignorada.</p>
<p>A seguir deve seguir-se a 5.4.x; as <a href="http://dev.mysql.com/doc/refman/5.4/en/mysql-nutshell.html">novidades</a> foram muito bem recebidas, sobretudo pela malta do Solaris e do InnoDB que, por sua vez - e devido ao facto do InnoDB <a href="http://www.innodb.com/products/innodb_plugin/">passar a ser desenvolvido</a> em forma de <em><a href="http://pt.wikipedia.org/wiki/Plugin">plugin</a></em> - deverá evoluir nestas questões de forma independente do <i>core</i>. Mas a grande grande novidade...</p>
<p>... é o <strong>surgimento da versão 5.5</strong> como <i><a href="http://blogs.mysql.com/kaj/2009/12/15/mysql-550-m2-a-milestone-ready-to-download/">milestone 2</a></i> a caminho do próximo ramo <a href="http://en.wikipedia.org/wiki/Development_stage#General_availability_.28GA.29">GA</a> que, além de fundir as novidades da 5.4, <a href="http://dev.mysql.com/doc/refman/5.5/en/mysql-nutshell.html">oferece-nos</a> (finalmente!):</p>
<ul>
<li>a possibilidade de alargar o <strong>particionamento para além das <i>funções de particionamento</i></strong>, que eram pouquíssimas e até para <a href="http://dev.mysql.com/tech-resources/articles/mysql_5.1_partitioning_with_dates.html">particionar por data</a> eram necessários alguns estratagemas;</li>
<li>o suporte para <strong><a href="http://dev.mysql.com/doc/refman/5.5/en/cache-index.html"><i>key caches</i> por partição</a></strong> (fantástico!);</li>
<li>as tão esperadas funções <strong><a href="http://dev.mysql.com/doc/refman/5.5/en/signal.html">SIGNAL</a> e <a href="http://dev.mysql.com/doc/refman/5.5/en/resignal.html">RESIGNAL</a></strong> - as marteladas que eram necessárias para contornar esta lacuna eram terríveis de manter :);</li>
<li>o suporte para a <strong><a href="http://dev.mysql.com/doc/refman/5.5/en/replication-semisync.html">replicação semi-síncrona</a></strong> sob a forma de plugin;</li>
<li>e outras, que não obstante não serem enumeradas por mim, não devem ser descuradas na leitura!!</li>
</ul>
<p>Claro que já houve <i>experimentadores</i> destas tecnologias, e aqui vos deixo mais material de leitura:</p>
<ul>
<li>A <a href="http://dev.mysql.com/tech-resources/articles/mysql_55_partitioning.html">análise detalhada sobre as melhorias do particionamento</a>, por Giuseppe Maxia (que esteve há dias no <a href="http://codebits.eu/">SAPO Codebits</a>);</li>
<li>Um <a href="http://datacharmer.blogspot.com/2009/12/getting-started-with-mysql-55.html"><i>Quick Start</i> sobre a replicação semi-síncrona</a>, também do Giuseppe Maxia;
<li>Um <a href="http://rpbouman.blogspot.com/2009/12/validating-mysql-data-entry-with_15.html"><i>in-depth</i> sobre a utilização do SIGNAL/RESIGNAL</a>, por Roland Bouman;</li>
</ul>
<p>Convido-vos a deixarem aqui links para os vossos artigos e comentários sobre as restantes funcionalidades.</p>
]]></content:encoded>
			<wfw:commentRss>http://gpshumano.blogs.dri.pt/2009/12/30/as-prendas-da-mysql-para-2009/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
