<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-13002663</id><updated>2012-02-06T03:44:14.142Z</updated><category term='empreendedorismo'/><title type='text'>A vida não é um padrão</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>93</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-13002663.post-6369882936753695010</id><published>2010-03-14T22:42:00.000Z</published><updated>2010-03-14T22:42:30.523Z</updated><title type='text'></title><content type='html'>Não posso deixar de partilhar este excelente vídeo que descreve bem a forma como os homens e as mulheres pensam.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/GuMZ73mT5zM&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/GuMZ73mT5zM&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Obrigado &lt;a href="http://jgs-turbolenza.blogspot.com/"&gt;Gonçalo&lt;/a&gt; por partilhares esta pérola :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-6369882936753695010?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/6369882936753695010/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=6369882936753695010' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/6369882936753695010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/6369882936753695010'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2010/03/nao-posso-deixar-de-partilhar-este.html' title=''/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-8502010805419864072</id><published>2010-02-05T17:49:00.002Z</published><updated>2010-02-05T17:53:14.919Z</updated><title type='text'>Notas Soltas</title><content type='html'>Most freelancers and small business owners are required – like it or not – to spend a substantive amount of time on marketing. To ensure that the jobs and the clients keeping coming, we are constantly hustling – pitching new projects, updating our portfolios and CVs, and taking exploratory meetings. Yet, one of the best ways to build and promote your individual brand or company is one of the most oft overlooked: public speaking.&lt;br /&gt;&lt;br /&gt;In: &lt;a href="http://the99percent.com/tips/6276/why-public-speaking-is-good-for-you-your-brand"&gt;Why Public Speaking Is Good for You &amp;amp; Your Brand&lt;/a&gt;.&lt;br /&gt;Agradecimentos ao &lt;a href="http://twitter.com/psousa"&gt;Pedro Sousa&lt;/a&gt; for partilhar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-8502010805419864072?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/8502010805419864072/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=8502010805419864072' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/8502010805419864072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/8502010805419864072'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2010/02/random-notes.html' title='Notas Soltas'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-7378074057706542738</id><published>2010-02-04T19:01:00.005Z</published><updated>2010-02-04T19:04:55.543Z</updated><title type='text'>Algum saber sobre empreender (e sobre limonada também)</title><content type='html'>&lt;p&gt;Quero agradecer ao meu colega Pedro Oliveira por partilhar este video. É uma aula muito interessante sobre empreendedorismo. É pena ser longa, mas vale cada minuto para quem se interessa pelo tema. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;embed id="single" width="500" height="302" flashvars="config=http://ecorner.stanford.edu/embeded_config.xml%3Fmid%3D2266%26lang=en" src="http://ecorner.stanford.edu/swf/player-ec.swf" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-7378074057706542738?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/7378074057706542738/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=7378074057706542738' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/7378074057706542738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/7378074057706542738'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2010/02/algum-saber-sobre-empreender-e-sobre.html' title='Algum saber sobre empreender (e sobre limonada também)'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-8854126648161493517</id><published>2009-06-29T13:11:00.002+01:00</published><updated>2009-06-29T13:14:02.451+01:00</updated><title type='text'>Apresentações @ Ruby  LX</title><content type='html'>No passado sábado tive a sorte de participar numa reunião de entusiastas de Ruby e Ruby on Rails. O encontro foi muito agradável e acabei por fazer duas apresentações que agora disponibilizo.&lt;br /&gt;&lt;br /&gt;Espero que sejam úteis.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="width:425px;text-align:left" id="__ss_1651238"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/GamaFranco/virtual-private-server-tradeoff?type=presentation" title="Virtual Private Server Trade-off"&gt;Virtual Private Server Trade-off&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=virtual-private-server-trade-off-090628125736-phpapp02&amp;stripped_title=virtual-private-server-tradeoff" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=virtual-private-server-trade-off-090628125736-phpapp02&amp;stripped_title=virtual-private-server-tradeoff" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;documents&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/GamaFranco"&gt;GamaFranco&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="width:425px;text-align:left" id="__ss_1651126"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/GamaFranco/earned-value-management?type=presentation" title="Earned Value Management"&gt;Earned Value Management&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=earned-value-management-090628122233-phpapp01&amp;stripped_title=earned-value-management" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=earned-value-management-090628122233-phpapp01&amp;stripped_title=earned-value-management" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;documents&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/GamaFranco"&gt;GamaFranco&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-8854126648161493517?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/8854126648161493517/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=8854126648161493517' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/8854126648161493517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/8854126648161493517'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2009/06/apresentacoes-ruby-lx.html' title='Apresentações @ Ruby  LX'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-6509149870515733906</id><published>2009-06-17T23:07:00.002+01:00</published><updated>2009-06-17T23:10:36.142+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='empreendedorismo'/><title type='text'>Ferramenta para saber mais sobre o seu negócio</title><content type='html'>&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hjeCmHwqVpU&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/hjeCmHwqVpU&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Comentários para quê?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-6509149870515733906?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/6509149870515733906/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=6509149870515733906' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/6509149870515733906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/6509149870515733906'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2009/06/ferramenta-para-saber-mais-sobre-o-seu.html' title='Ferramenta para saber mais sobre o seu negócio'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-6401066179132545569</id><published>2009-05-09T10:30:00.002+01:00</published><updated>2009-05-09T10:40:50.713+01:00</updated><title type='text'>User interface</title><content type='html'>Os currículos dos cursos técnicos de software (licenciaturas, mestrados e afins) não costumam contemplar cadeiras com foco em design de interfaces gráficas. Sou da opinião que não devem ser os programadores a fazer esta tarefa, mas é tão comum isso acontecer que o melhor é preparar as pessoas com algumas bases. Isto iria certamente melhorar a qualidade das interfaces gráficas dos projectos que não têm orçamento para contemplar um design feito por especialistas.&lt;br /&gt;&lt;br /&gt;Neste sentido acho interessante divulgar este pequeno &lt;a href=http://www.usabilitypost.com/2009/04/15/8-characteristics-of-successful-user-interfaces/&gt;tutorial&lt;/a&gt;, que define 8 características chave de um bom interface com o utilizador. Considero o panorama actual tão mau que uma pequena melhoria será um enorme progresso. É claro que estou apenas a falar de projectos em que não houve o bom-senso de colocar um designer na equipa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-6401066179132545569?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/6401066179132545569/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=6401066179132545569' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/6401066179132545569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/6401066179132545569'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2009/05/user-interface.html' title='User interface'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-7826454696157586243</id><published>2009-04-28T14:27:00.005+01:00</published><updated>2009-04-28T14:36:52.206+01:00</updated><title type='text'>O Quentin é o maior</title><content type='html'>&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9TadvFY3rA8&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/9TadvFY3rA8&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-7826454696157586243?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/7826454696157586243/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=7826454696157586243' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/7826454696157586243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/7826454696157586243'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2009/04/o-quentin-e-o-maior.html' title='O Quentin é o maior'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-3441229294584755654</id><published>2009-04-27T00:41:00.005+01:00</published><updated>2009-04-27T01:12:55.653+01:00</updated><title type='text'>Como fazer um questionário online gastando tostões</title><content type='html'>Há dias criei no &lt;a href="http://surveymonkey.com/" target="_blank"&gt;Survey Monkey&lt;/a&gt; um questionário para quem gosta de jogar "uma peladinha" com os amigos. Tenho obtido respostas muito interessantes, mas por agora pretendo realçar o excelente serviço desta aplicação.&lt;br /&gt;&lt;br /&gt;O Survey Monkey tem vários níveis de serviço dos quais se destaca uma versão gratuita. Esta permite criar questionários com 10 perguntas e que podem ser respondidos por 100 pessoas. Isto parece suficiente para quem pretende obter alguma informação, tendo em conta que com esta amostragem a representatividade da população é pouco fiável. Mas as opções pagas são mesmo muito competitivas. Por aproximadamente $20 por mês pode-se aumentar o limite de respostas ao questionário para 1000 por mês e sem limite de perguntas por questionário. Para quem quer levar a coisa mais as sério pode acabar com todos os limites pagando $200 por ano! Competitivo não?&lt;br /&gt;&lt;br /&gt;O interface com o utilizador é outra grande vantagem desta aplicação. Demorei 30 minutos a fazer o questionário, principalmente porque estive a pensar nas perguntas. Meter no sistema e configurar as opções foi 'canja'. É tudo muito intuitivo e a página vai-nos mostrando exemplos de perguntas quando estamos a inserir as nossas.&lt;br /&gt;&lt;br /&gt;Por fim o Survey Monkey também permite analisar as repostas de forma rápida e clara. Pode-se ver facilmente os dados agragados (percentagem por repostas) ou ver as respostas de um questionário em particular. Pode-se também exportar os dados para Excel, permitindo assim um tratamento mais personalizado dos dados.&lt;br /&gt;&lt;br /&gt;E agora acerca do questionário que fiz. Está disponível &lt;a href="http://www.surveymonkey.com/s.aspx?sm=RTyE9yueadYQMVbHfwhqJg_3d_3d" target="_blank"&gt;aqui&lt;/a&gt;. Respondam se poderem dispensar 1 minuto do vosso tempo para responder a 9 perguntas.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Tiago Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-3441229294584755654?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/3441229294584755654/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=3441229294584755654' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/3441229294584755654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/3441229294584755654'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2009/04/como-fazer-um-questionario-online.html' title='Como fazer um questionário online gastando tostões'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-7925274943531611890</id><published>2009-03-22T23:33:00.014Z</published><updated>2009-03-29T20:59:56.030+01:00</updated><title type='text'>O Clássico e o  Ágil</title><content type='html'>Na semana que passou participei numa formação avançada de MS Project. A formação foi dada pelo professor Alexandre Rodrigues, da &lt;a href="http://www.pmo-consulting.pt/"&gt;PMO Consulting&lt;/a&gt;. Já participei noutras formações em gestão de projecto e já trabalhei com gestores de projecto com muita experiência. Fico feliz por esta formação me ter surpreendido pela positiva, o que é cada vez mais difícil. Recomendo!&lt;br /&gt;&lt;br /&gt;Na formação comparar o que é comparável, mas que tenho visto pouca gente a fazê-lo de forma clara e ausenta de opinião: metodologias ágeis e as abordagem clássicas de gestão de projectos. O prof. Alexandre Rodrigues fez uma analogia não posso deixar de partilhar.&lt;br /&gt;&lt;br /&gt;O modelos actuais da gestão de projecto, sejam clássicos (como o normativo do PMI) ou ágeis (como XP ou Scrum) assentam em quatro variáveis: âmbito, custo, tempo e qualidade.  O âmbito diz o que é para fazer, o custo afirma quanto vai custar, o tempo serve para definir quando vai estar concluído e a qualidade garante o bom resultado do projecto (i.e. sem defeitos). A alteração de uma variável pode afectar as outras de formanão linear.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5--UPLxQLlE/ScbcT75UbQI/AAAAAAAAAB8/ClbKPLlYozg/s1600-h/classic-approach.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 262px; height: 320px;" src="http://4.bp.blogspot.com/_5--UPLxQLlE/ScbcT75UbQI/AAAAAAAAAB8/ClbKPLlYozg/s320/classic-approach.gif" alt="" id="BLOGGER_PHOTO_ID_5316178645211180290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Numa abordagem clássica tenta-se controlar o âmbito, ajustando as outras variáveis de acordo como se pretende implementar esse mesmo âmbito. Em fase de proposta acorda-se (i.e. contractualiza-se) o valor das outras três variáveis, de acordo com uma estimativa de quanto vai custar, quando estará pronto e em com que nível de controlo de qualidade. Qualquer alteração ao âmbito requer uma alteração ao contracto. Ou seja, eu peço o orçamento a um pedreiro para me construir um muro de 1m de altura no quintal. O pedreiro diz quanto isso me vai custar, quando estará pronto e sobre que condições de supervisão. Posto isto firma-se o contracto. Se a meio de obra eu decidir que pretendo o muro com altura de 80cm, o pedreiro tem que verificar o impacto que isso tem na obra em curso e apresentar um novo orçamento. Por outro lado, se a obra se atrazar, custar mais que o previsto ou forem feitas menos ispecções (i.e. pode ter mais defeitos), o custo adicional fica a cargo do pedreiro. Pode também acabar a obra mais cedo e assim fica com mais tempo para dedicar a outras obras. Pela perspectiva das metodologias clássicas, o âmbito é fixo e o tempo vai encolhendo ou esticando conforme a execução da obra vai correndo mais depressa ou mais devagar que o esperado. Ou seja, o âmbito pode ser visto como uma caixa onde se coloca ou tira tempo.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5--UPLxQLlE/ScbfPzZJs-I/AAAAAAAAACE/rHPTP4gmChU/s1600-h/tempo.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 274px; height: 320px;" src="http://1.bp.blogspot.com/_5--UPLxQLlE/ScbfPzZJs-I/AAAAAAAAACE/rHPTP4gmChU/s320/tempo.gif" alt="" id="BLOGGER_PHOTO_ID_5316181872744182754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As metodologias ágeis assentam na ideia de que o âmbito global do projecto não está fixo. Ou seja, há uma ideia inicial do que é para fazer mas assume-se que a tarefa vá sendo alterada com o decorrer do projecto. Para lidar com este problema o projecto é executado com base em iterações (i.e. sprints em eXtreme Programming). No inicio da iteração define-se um conjunto de tarefas a executar, mas estas vão alterando conforme a iteração vai correndo. Se corre melhor colocam-se mais tarefas, se pior tiram-se as de menor impacto nas regras de negócio. Pode-se até substituir tarefas se o representante do negócio assim o entender. Por exemplo, imagine-se que eu queria à mesma fazer um muro de 1m no perímetro do quintal. Eu acordava com o pedreiro uma primeira iteração em que este iria tentar completar o muro. Se a meio da iteração eu desejasse colocar uma porta de ferro em vez de uma de madeira, o pedreiro não se iria importar, mesmo que isso implicasse tirar a porta que acabou de colocar. Por outro lado, se durante a iteração o pedreiro concluísse que estava a meter menos tijolos por dia do que os inicialmente estimados (i.e. à partes do muro que passam para a próxima iterarão), eu não me importaria e aceitaria o erro na estimativa sem exigir uma alteração contractual. Seguindo a analogia da caixa, na perspectiva das metodologias ágeis o tempo é fixo e o âmbito vai encolhendo ou esticando, conforme a execução da obra vai correndo mais depressa ou mais devagar que o esperado. Ou seja, o tempo pode ser visto como uma caixa onde se coloca ou âmbito.&lt;br /&gt;&lt;br /&gt;Há uma diferença entre as abordagens clássicas e ágeis que eu já tinha percebido. Enquanto nas abordagens clássica assume-se que o contracto assenta num projecto a custo fixo, nas abordagens ágeis assume-se um contracto a Time and Materials (não sei traduzir isto). Mas esta analogia da caixa parece-me genial. Apresenta uma nova perspectiva sobre as duas abordagens. Só por isto já valeu a formação... mas valeu também pelo resto do programa.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;  Tiago Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-7925274943531611890?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/7925274943531611890/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=7925274943531611890' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/7925274943531611890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/7925274943531611890'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2009/03/o-classico-e-o-agil.html' title='O Clássico e o  Ágil'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5--UPLxQLlE/ScbcT75UbQI/AAAAAAAAAB8/ClbKPLlYozg/s72-c/classic-approach.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-7334421594915708828</id><published>2009-03-01T16:57:00.007Z</published><updated>2009-03-01T18:28:24.007Z</updated><title type='text'>Duas caracteristicas de uma boa gestão de projecto</title><content type='html'>Na semana que passou estudei um projecto bem sucedido.  Nesta actividade apercebei-me de duas características que contribuíram para o seu sucesso. São características óbvias, mas é muito comum apanhar projectos que não as tenham.&lt;br /&gt;&lt;br /&gt;1 - Focar as pessoas chave no projecto&lt;br /&gt;Os gestores técnicos e lideres de equipa do projecto estavam apenas destacados a tarefas do projecto. Ou seja, não participavam noutros projectos ou em tarefas organizacionais que não fossem relevantes para o mesmo. Com isto eliminou-se o custo e o risco associado a alterações constantes de contexto. Isto é principalmente relevante em projectos dito estratégicos.&lt;br /&gt;&lt;br /&gt;2 - Tratar o processo de entrega como um item do projecto&lt;br /&gt;Para quem faz software, o processo comum de entrega das aplicações ao cliente é feito com recurso a uma aplicação responsável pela instalação da aplicação final. Ou seja, o processo de instalação de uma aplicação é executado por outra aplicação (confuso!). Neste projecto a aplicação de instalação foi gerida como sendo um componente do projecto. Ou seja, foi sujeita a todos os processos de verificação e validação a que todos os outros componentes foram sujeitos. Foi desenhada, testada e introduzida no processo de compilação continua (vide continuous build). Resultado: eliminaram-se as surpresas e o panico geralmente associado a entregas, mesmo quando se faz integração continua.&lt;br /&gt;&lt;br /&gt;Com disse inicialmente, estas são caracteristicas obvias. No entanto vale a pena frisar o que um dia ouvi de um executivo, à volta de uma mesa do café: "É compensador falar sobre o óbvio". É pois! Arruma as ideias.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;  Tiago Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-7334421594915708828?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/7334421594915708828/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=7334421594915708828' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/7334421594915708828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/7334421594915708828'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2009/03/duas-caracteristicas-de-uma-boa-gestao.html' title='Duas caracteristicas de uma boa gestão de projecto'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-1410280913531064778</id><published>2009-02-16T00:25:00.006Z</published><updated>2009-02-16T01:06:43.731Z</updated><title type='text'>Pfizer a preço de saldos</title><content type='html'>Dado o estado das coisas, a oferta de acções a preço apetecível é muita. Uma dessas acções é a Pfizer, a maior farmacêutica do mundo, que acabou de dar um trambolhão de 16% após anunciar a OPA à Wyeth.&lt;br /&gt;&lt;br /&gt;O mercado em que a Pfizer opera não está para brincadeiras. As grandes farmacêuticas têm os períodos de exclusividade dos seus medicamentos a expirar,  o que está a fortalecer a concorrência do lado dos genéricos. Por outro lado, os custos de investigação de novos medicamentos aumentaram, tornando o panorama ainda mais negro.  A altura é de mudança e realinhamento estratégico.&lt;br /&gt;&lt;br /&gt;Se há coisa que não se compreende é a queda abrupta após o anuncio da OPA. Os termos em que foi proposta apontam para um preço justo e, caso se concretize, dará origem a uma forte redução de custos. Se a cotação da Pfizer já estava apetecível, em queda consecutiva à mais de dois anos, agora os indicadores fundamentais revelam uma grande oportunidade. Por exemplo, o P/E é de de aproximadamente 6, quando a média do mercado em que opera é de 10.&lt;br /&gt;&lt;br /&gt;Em termos estratégicos não sei se a Pfizer já definiu um rumo capaz de inverter o comportamento negativo da cotação. De qualquer forma, estou certo que o número de medicamentos vendidos em todo o mundo vai continuar a aumentar por muitos mais anos, e custa-me a acreditar que a maior farmacêutica do mundo não consegue dar a volta. Na pior das hipóteses começa a atacar o mercado dos genéricos. Afinal de contas é o que a Merck já se encontra a fazer com a MyLan.&lt;br /&gt;&lt;br /&gt;O Banco BIG &lt;a href="http://www.bigonline.pt/pt/BolsaMercados/tradingideas.asp?indice=561"&gt;analisou recentemente esta acção&lt;/a&gt;. No MSN Money &lt;a href="http://moneycentral.msn.com/detail/stock_quote?Symbol=pfe&amp;amp;getquote=Get+Quote"&gt;pode-se encontrar dados detalhados da empresa&lt;/a&gt;, incluindo o &lt;a href="http://moneycentral.msn.com/investor/StockRating/srsmain.asp?symbol=PFE"&gt;rating SockScouter&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;PS: não detenho nem vou adquirir acções da PFE em breve.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Tiago Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-1410280913531064778?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/1410280913531064778/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=1410280913531064778' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/1410280913531064778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/1410280913531064778'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2009/02/pfizer-preco-de-saldos.html' title='Pfizer a preço de saldos'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-7728655828457403856</id><published>2009-02-12T01:27:00.001Z</published><updated>2009-02-12T01:27:21.454Z</updated><title type='text'>O novo Cavortify</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Acabei de colocar em produção a nova versão de &lt;a href='http://cavortify.com'&gt;Cavortify&lt;/a&gt;, a aplicação para gerir campeonatos.&lt;br/&gt;&lt;br/&gt;Alem do novo design, esta nova versão conta com algumas funcionalidades novas. Por exemplo para se inscrever um utilizador num campeonato, passou a ser necessário estar ligado a ele por uma amizade (friendship).&lt;br/&gt;&lt;br/&gt;Ouve também um grande investimento em usabilidade. Muitas operações passaram a estar em locais mais óbvios e podem ser efectuadas sem recarregar a página por completo.&lt;br/&gt;&lt;br/&gt;Uma nota importante: por questões de simplificação, o sistema faz agora a autenticação do utilizador através do e-mail. O campo login foi removido dada a sua inutilidade.&lt;br/&gt;&lt;br/&gt;Vale a pena investir 5 minutos com o vídeo na página inicial.&lt;br/&gt;&lt;br/&gt;Em breve serão adicionadas novas funcionalidades, como por exemplo estatísticas por utilizador. Por agora espero que gostem das alterações.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;  Tiago Franco&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=bb9c9f37-f676-45ff-80ce-21010b8f8c96' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-7728655828457403856?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/7728655828457403856/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=7728655828457403856' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/7728655828457403856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/7728655828457403856'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2009/02/o-novo-cavortify.html' title='O novo Cavortify'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-6916718822374725248</id><published>2009-02-09T23:24:00.002Z</published><updated>2009-02-09T23:25:02.301Z</updated><title type='text'>De volta à carga</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Gostaria de saber se alguém ainda lê este blogue. São mais de dois anos sem uma única actualização. Dois anos em que muita coisa mudou.&lt;br /&gt;&lt;br /&gt;Para enumerar algumas diferenças:&lt;br /&gt; - Enamorei-me pelo mercado de capitais&lt;br /&gt; - Comecei a desenvolver para a Web&lt;br /&gt; - Passei a viver em Lisboa&lt;br /&gt; - Dei os primeiros passos em gestão e fiquei viciado&lt;br /&gt;&lt;br /&gt;O que não mudou:&lt;br /&gt; - Continuo a fazer o mesmo mestrado, com a defesa agendada para este mês&lt;br /&gt; - Trabalho no mesmo sitio&lt;br /&gt;&lt;br /&gt;Como as coisas mudaram, decidi dar vida nova a este blogue. Assim, mudei para um template mais giro e tão banal como o anterior :p. O verde que predomina sinaliza a vida e o renascer de um projecto que contará com conteúdos técnicos menos aprofundados. Podem contar também com reflexões sobre o mercado de capitais e 'bitaites' sobre a economia em geral - a crise está na moda e como sou optimista acho que vale a pena opinar. Não percebo nada do assunto, por isso não me levem a sério.&lt;br /&gt;&lt;br /&gt;Esperem conteudos exclusivamente em português. No meu dia a dia farto-me de produzir conteudos na lingua inglesa. Sou da opinião de que todas as pessoas deveriam estar habituadas a lidar com inglês e este blogue é a minha contradição pessoal.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;  Tiago Franco&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-6916718822374725248?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/6916718822374725248/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=6916718822374725248' title='5 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/6916718822374725248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/6916718822374725248'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2009/02/de-volta-carga.html' title='De volta à carga'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-4318186387833207823</id><published>2006-12-10T12:49:00.000Z</published><updated>2006-12-10T12:57:53.481Z</updated><title type='text'>Simplicidade</title><content type='html'>O  &lt;a href="http://www.joelonsoftware.com/"&gt;Joel Sponsky&lt;/a&gt; publicou um excelente exercicio sobre a relação entre a simplicidade e o desenvolvimento de software. &lt;a href="http://www.joelonsoftware.com/items/2006/12/09.html"&gt;Neste artigo&lt;/a&gt; ele aborda a relação entre a simplicidade vista pelo utilizador e a interpretação que se espera de quem trabalha na industria de software. Acho que valeram a pena os 5 minutos que perdi a ler o artigo.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-4318186387833207823?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/4318186387833207823/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=4318186387833207823' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/4318186387833207823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/4318186387833207823'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/12/simplicidade.html' title='Simplicidade'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-116163992017537581</id><published>2006-10-23T22:35:00.000+01:00</published><updated>2006-10-23T22:45:20.193+01:00</updated><title type='text'>Da Sport Book</title><content type='html'>Boas,&lt;br /&gt;&lt;br /&gt;Coloquei à algum tempo na "web" uma aplicação que permite a gestão de jogos de futebol amigáveis. Neste momento apenas está a ser utilizada pelos escritórios de Lisboa da &lt;a href="http://www.criticalsoftware.com/"&gt;Critical Software&lt;/a&gt;, mas sei que haverá mais pessoas que podem usufruir desta ferramenta.&lt;br /&gt;&lt;br /&gt;Assim, ainda em beta, apresento aqui o "&lt;a href="http://dasportbook.w4sys.com/"&gt;Da Sport Scrapbook&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;Que tem as seguintes funcionalidades:&lt;br /&gt;&lt;br /&gt;- Criação de um campeonato&lt;br /&gt;- Geração aleatória de equipas para os jogos agendados&lt;br /&gt;- Classificações (dah)&lt;br /&gt;- Gestão de faltas (penalizações para os faltosos)&lt;br /&gt;...e um link para poderem colocar as vossas dúvidas e sugestões.&lt;br /&gt;&lt;br /&gt;Espero que o sistema venha a evoluir através das sugestões que forem sendo feitas. Digam o que funcionalidades vos fazem falta e vão ver que dá ainda mais prazer jogar futebol com os amigos.&lt;br /&gt;&lt;br /&gt;Bons jogos,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-116163992017537581?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/116163992017537581/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=116163992017537581' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/116163992017537581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/116163992017537581'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/10/da-sport-book.html' title='Da Sport Book'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-116014814152678142</id><published>2006-10-06T16:22:00.000+01:00</published><updated>2006-10-06T16:22:21.650+01:00</updated><title type='text'>Imagens em saldos</title><content type='html'>Já lá vai o tempo que não dou noticias, e a desculpa é a mesma de sempre estando por isso em risco que não ser desculpado. De qualquer forma venho aqui deixar uma boa nova (para quem não conhece), principalmente para as pessoas que desenvolvem aplicações Web com poucos recursos financeiros (é o meu caso).&lt;br/&gt;&lt;br/&gt;Em primeiro lugar quero apresentar uma página que disponibiliza imagens de qualidade profissional a custo zero, mesmo para uso comercial. Apresento-vos o &lt;a href="http://www.freerangestock.com/index.php"&gt;FreeRange&lt;/a&gt;. Tem um número considerável de imagens sobre os mais diversos temas.&lt;br/&gt;Se mesmo assim não se encontra o que se pretende podemos abrir os cordões à bolsa e largar $1 por imagem (isso mesmo, uma imagem ao preço da imperial). Para tal existe o &lt;a href="http://www.fotolia.com/"&gt;Fotolia&lt;/a&gt;, que a preço reduzido nos deixa dar um ar profissional às aplicações Web.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Tiago Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-116014814152678142?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/116014814152678142/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=116014814152678142' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/116014814152678142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/116014814152678142'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/10/imagens-em-saldos.html' title='Imagens em saldos'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114966776104829655</id><published>2006-06-07T09:09:00.000+01:00</published><updated>2006-06-07T09:09:21.106+01:00</updated><title type='text'>Como estimar um projecto?</title><content type='html'>&lt;a href="http://techrepublic.com.com/5100-10878_11-6080089.html?tag=nl.e053"&gt;Aqui vai&lt;/a&gt; um resumo sobre o óbvio acerca de como estimar o custo de um projecto.&lt;br/&gt;&lt;br/&gt;É um texto sobre o básico, aquilo que toda a gente sabe mesmo antes de ter feito qualquer estimativa. No entanto, como já me apercebi várias vezes, ler ou dialogar sobre o óbvio ajuda-nos a organizar ideias e definir metodologias que nos ajudam a atingir melhor os objectivos.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114966776104829655?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114966776104829655/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114966776104829655' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114966776104829655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114966776104829655'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/06/como-estimar-um-projecto.html' title='Como estimar um projecto?'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114902690768098795</id><published>2006-05-30T23:08:00.000+01:00</published><updated>2006-06-07T09:16:24.383+01:00</updated><title type='text'>Curta</title><content type='html'>Ora &lt;a href="http://www.ad-awards.com/inc/video.swf?id=104"&gt;aqui&lt;/a&gt; está uma excelente curta, sugerida pelo meu colega &lt;a "http://arrozdecarne.blogspot.com/"&gt;cozinheiro&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114902690768098795?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114902690768098795/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114902690768098795' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114902690768098795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114902690768098795'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/05/curta.html' title='Curta'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114859865331553898</id><published>2006-05-26T00:10:00.000+01:00</published><updated>2006-05-26T00:17:22.223+01:00</updated><title type='text'>A memória e o Assembly</title><content type='html'>Na passada segunda-feira ouvi o programa do Prof. Júlio Machado Vaz, e disse uma coisa que me prendeu a atenção. O tema era sobre a memória e surgiu uma frase cujo conteúdo se resumia a:&lt;br /&gt;As pessoas têm uma capacidade muito grande, e as mais despaçaradas simplesmente memorizam as coisas mais importantes.&lt;br /&gt;Achei piada, pois considero-me um despaçarado e nem por isso acho que fixo as coisas mais importantes. Nem as menos, sou um autentico cabeça no ar. Se não fosse o calendário do computador a avisar-me das coisas estava perdido. Quer dizer... isto era a minha opinião, porque hoje tive uma prova em contrário.&lt;br /&gt;&lt;br /&gt;Agora vai entrar a parte só para geeks...&lt;br /&gt;&lt;br /&gt;Surgiu a dúvida acerca de um simples problema, em que o programa tinha que actualizar uma variável num sistema multi-thread. A solução era simples, já a tinha aprendido na faculdade há uns anos valentes, meter um mutex (ou semáforo) para garantir a exclusão mútua. Apesar disso tudo o detalhe não era óbvio, pois tratava-se apenas de actualizar um apontador, que nada mais é que um valor inteiro. Acontece que esta operação não é atómica, e podem-se perder umas longas oras em debug. De qualquer forma, lembrar-me de meter o mutex já não era mau... mas o mais impressionante é que quando sai do trabalho comecei a lembrar-me de todos os pormenores desta solução, mesmo depois de já terem passados alguns anos de a ter aprendido.... lembrar-me ao detalhe do assembly deixa-me pasmado.&lt;br /&gt;Ora cá vai:&lt;br /&gt;&lt;br /&gt;Imaginemos o seguinte programa:&lt;br /&gt;&lt;br /&gt;    i++&lt;br /&gt;    print i;&lt;br /&gt;&lt;br /&gt;Isto em assembly vai dar algo como:&lt;br /&gt;&lt;br /&gt;    mov(ax, 0FFF)&lt;br /&gt;    inc(ax)&lt;br /&gt;    mov(0FFF, ax)&lt;br /&gt;    push(ax)&lt;br /&gt;    call(BBBB)&lt;br /&gt;&lt;br /&gt;Ou seja, ler para o registo ax o valor que está na posição 0FFF, incrementar o registo, escrever o novo valor na posição de memória. As últimas duas instruções dizem respeito à chamada da função de print.&lt;br /&gt;&lt;br /&gt;Isto só com um thread até lá vai... mas os sistemas operativos actuais são multi-threaded. Ou seja, podemos colocar este código a correr duas vezes no mesmo contexto. E o sistema operativo pode suspender uma execução e colocar a outra a correr. Vistas bem as coisas podemos ter asneira.&lt;br /&gt;&lt;br /&gt;Para ilustrar vou supor que o valor inicial na posição 0FFF é 0. Se tivermos dois threads a correr o código acima e a partilhar a posição 0FFF no final terá o valor 2, certo? Bem, às vezes sim outras não. As cores servem para ajudar a destinguir os dois threads. Ora vejamos:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;mov(ax, 0FFF)        --- Thread 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;inc(ax)                    --- Thread 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;mov(ax, 0FFF)    --- Thread 2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;inc(ax)                   --- Thread 2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;mov(0FFF, ax)     --- Thread 2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;mov(0FFF, ax)     --- Thread 1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Qual o valor final em 0FFF? Um! Isto porque o primeiro thread foi suspenso antes de escrever o valor de ax em memória.&lt;br /&gt;Como é que se resolve? Com um mutex, um caso particular de semáforos.&lt;br /&gt;Como funcionam os semáforos? Bom, aqui não me lembra ao pormenor. Mas sei se tem que mascarar um interrupt. Este é disparado quando um programa tenta aceder à posição de memória que se pretende proteger (no pior dos casos a qualquer posição). A rotina do interrupt verifica então se a exclusividade está ou não garantida. Se estiver o thread continua a correr, senão este é posto numa fila até o mutex ser libertado.&lt;br /&gt;&lt;br /&gt;É o mais longe que consigo ir, mas tendo em conta que dei esta matéria quando ainda andava em Electrotécnica (a cadeira era de Informática mas eu andava a preparar a transferência), não está nada mal. Já lá vão cinco anos, e parece que o Prof. Júlio Machado Vaz tinha razão.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt; Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114859865331553898?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114859865331553898/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114859865331553898' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114859865331553898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114859865331553898'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/05/memria-e-o-assembly_26.html' title='A memória e o Assembly'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114790632818521306</id><published>2006-05-17T23:48:00.000+01:00</published><updated>2006-05-17T23:52:08.200+01:00</updated><title type='text'>Aposta</title><content type='html'>Parece que os tipos do Google fizeram uma aposta de 10 Biliões de Euros...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.dilbert.com/comics/dilbert/archive/images/dilbert2004885460517.gif"&gt;&lt;/img&gt;&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114790632818521306?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114790632818521306/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114790632818521306' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114790632818521306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114790632818521306'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/05/aposta.html' title='Aposta'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114738808453846482</id><published>2006-05-11T23:42:00.000+01:00</published><updated>2006-05-11T23:56:50.706+01:00</updated><title type='text'>Inocência</title><content type='html'>Fui ontem assistir à ante-estreia de "&lt;a href="http://www.imdb.com/title/tt0375233/"&gt;Innocence"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;É agradável a forma como o filme nos agarra através da capacidade do realizador para gerir o 'mistério'. Resume-se a isto, e tudo o que se acrescentar à sinopse é redundante.&lt;br /&gt;A fotografia é bela e o filme tem traços vincados de cinema europeu. No entanto não admirava se, caso fosse Americano, chegasse a 'Block Buster' com conotação de intelectual. Como a maior parte dos bons filmes polémicos que se fazem na terra do tio Sam, seria candidato a vários Óscares e não ganharia nenhum.&lt;br /&gt;&lt;br /&gt;Para saberem qual o tema da polémica que se poderia levantar terão que ver o filme porque eu não vou dizer :p&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114738808453846482?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114738808453846482/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114738808453846482' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114738808453846482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114738808453846482'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/05/inocncia.html' title='Inocência'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114630963688417516</id><published>2006-04-29T12:11:00.000+01:00</published><updated>2006-04-29T12:20:36.903+01:00</updated><title type='text'>Metro do Porto (post polémico)</title><content type='html'>Aviso desde já que este tema pode ferir a susceptibilidade das pessoas mais sensíveis.&lt;br /&gt;&lt;br /&gt;Eu já desconfiava, e afinal não era o único. A verdadeira revelação vem no &lt;a href="http://33whitehall.video.blip.tv/uploadedFiles/Fhf-Hi_ep_05_Porto606.m4v"&gt;quinto episódio&lt;/a&gt; do &lt;a href="http://ohorrorinominavel.blogspot.com/"&gt;Horror iNominável&lt;/a&gt; . Parece que no Porto existe um eléctrico e o metro, o verdadeiro, ainda está para vir.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114630963688417516?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114630963688417516/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114630963688417516' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114630963688417516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114630963688417516'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/04/metro-do-porto-post-polmico.html' title='Metro do Porto (post polémico)'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114598301087892200</id><published>2006-04-25T17:33:00.000+01:00</published><updated>2006-04-25T17:36:50.916+01:00</updated><title type='text'>Uma piada para Geeks</title><content type='html'>&lt;a href="http://www.cse.ogi.edu/~diatchki/jokes/programmer.html"&gt;Esta piada&lt;/a&gt; vem com os cumprimentos do meu amigo &lt;a href="http://dezoito.blogspot.com/"&gt;Luis Pedro&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;PS: só para Geeks&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114598301087892200?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114598301087892200/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114598301087892200' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114598301087892200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114598301087892200'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/04/uma-piada-para-geeks.html' title='Uma piada para Geeks'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114583117376651021</id><published>2006-04-23T23:11:00.000+01:00</published><updated>2006-04-23T23:26:37.726+01:00</updated><title type='text'>Movimentos Perpétuos</title><content type='html'>Está a decorrer desde 21 de Maio até 1 de Abril o festival de cinema independente de Lisboa (&lt;a href="http://pwp.netcabo.pt/0172079901/portugues/informacoes.html"&gt;INDIE Lisboa 2006&lt;/a&gt;). Ontem fui ver Movimentos Perpétuos, um file de Edgar Pêra que consiste num cine-tributo a Carlos Paredes. A decorrer no âmbito deste festival.&lt;br /&gt;&lt;br /&gt;A película tem a marca inconfundível do seu realizador, sendo filmada num estilo a que o Edgar Pêra já me habituou. Com uma fotografia excelente, que foca principalmente a personalidade do grande músico. Descreve as suas inspirações e levou-me a navegar entre Porto, Coimbra e Lisboa para que pudesse captar a fonte de onde bebeu Carlos Paredes.  A banda sonora é obviamente do espólio de Paredes e os 70 minutos do filme passaram a correr. Um filme imperdível, principalmente para os amantes da música deste autor.&lt;br /&gt;Contudo assisti ao génio Carlos a abafar completamente o génio Edgar. A música é tão bela que por vezes esqueci-me de que estava a ver um filme. Por mais que mantivesse os olhos abertos na direção do ecrã, estava cego. Completamente embriagado pela beleza da música que me foi apresentada. Paredes era um génio que morreu sem deixar legado.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114583117376651021?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114583117376651021/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114583117376651021' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114583117376651021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114583117376651021'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/04/movimentos-perptuos.html' title='Movimentos Perpétuos'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114566527377172838</id><published>2006-04-22T01:16:00.000+01:00</published><updated>2006-04-22T01:21:13.786+01:00</updated><title type='text'>Tsunami de 'Geeks'</title><content type='html'>&lt;a href="http://video.google.com/videoplay?docid=736573617552875185&amp;q=tsunami+inform%C3%A1ticos&amp;pl=true"&gt;Este &lt;/a&gt; é de todos o 'sketch' mais ofensivo dos Gato Fedorento.&lt;br /&gt;Gostava eu de saber onde é que eles foram buscar todo aquele palavreado técnico. Há lá coisas que não ouvia desde os primeiros anos de faculdade.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114566527377172838?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114566527377172838/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114566527377172838' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114566527377172838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114566527377172838'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/04/tsunami-de-geeks.html' title='Tsunami de &apos;Geeks&apos;'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114557314153688594</id><published>2006-04-20T23:36:00.000+01:00</published><updated>2006-04-20T23:46:02.540+01:00</updated><title type='text'>Lisbon is My Town</title><content type='html'>O João Jorge, um amigo desde as primeiras bebedeiras de faculdade, decidiu abrir um blogue. Dada a sua perspicácia em teorizar sobre as coisas do quotidiano, e não apenas por fazer parte de um grupo restrito de amigos, convido-vos a seguir atentamente o &lt;a href="http://lisbonismytown.blogspot.com/"&gt;Lisbon is My Town&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;PS: pode-lhe dar para falar de cinema, mas acho que é melhor a escolher vinhos.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114557314153688594?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114557314153688594/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114557314153688594' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114557314153688594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114557314153688594'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/04/lisbon-is-my-town.html' title='Lisbon is My Town'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114549027869806941</id><published>2006-04-20T00:40:00.000+01:00</published><updated>2006-04-20T00:44:38.713+01:00</updated><title type='text'>Programas desportivos</title><content type='html'>Odeio programas televisivos sobre desporto. Odeio-os por várias razões.&lt;br /&gt;&lt;br /&gt;Em primeiro lugar porque falam maioritariamente de futebol. E muitas vezes levam-nos mesmo a fazer querer que este é o único desporto que existe, pois passam-se semanas sem que veja uma única noticia sobre outra actividade desportiva.&lt;br /&gt;&lt;br /&gt;Em segundo lugar porque geralmente são programas sobre homens... ...para homens – repare-se no ‘h’ minúsculo. Há lá coisa mais deprimente. Onde é que estão os esplêndidos programas sobre ginástica artística, onde as russas (altas e esbeltas) ganham as medalhas todas depois de dar uns pulos valentes num trampolim ou num cavalo de madeira? Ou a luta na lama! Parece que já estou a imaginar a secção de desporto num qualquer jornal em horário nobre a mostrar umas valentes matulonas às ‘turras’ num pocilgo.&lt;br /&gt;&lt;br /&gt;Finalmente, acho que também os odeio por causa dos comentadores desportivos. Aposto que o meu cão tem melhor capacidade de argumentação que muitos desses broncos, apesar de não perceber nada de futebol (acho eu). Alguns desses comentadores são dirigentes do poder local, o que não abona muito a favor da classe política (apesar de ser uma excelente via para a promoção pessoal).&lt;br /&gt;&lt;br /&gt;Mas para que não se pense que isto é um autentico ‘marranso’ fundamentalista, vou dar a mão à palmatória. Há um programa (do qual já vi dizer muito mal) que às vezes merece uma meia hora de atenção. Que me leva ao fanático delírio e que me tira do sério. Que vibro, quando vejo que uma equipa com um nome engraçado vai à frente do campeonato. Trata-se da &lt;a href="http://programas.rtp.pt/EPG/tv/epg-janela.php?p_id=17658&amp;e_id=&amp;amp;c_id=7"&gt;Liga dos Últimos&lt;/a&gt;. Um programa onde é focado, por exemplo, um lindo campo de futebol que serve também para pasto das vacas fora do horário de jogo ou de treino. Um programa onde existe um derby vivido ao rubro, quando as duas equipas locais disputam o último lugar da tabela no campeonato das distritais. Um programa que fala sobre a carreira de jogadores excelentes como o Morcão, o Chocolate e o Fintas. Mais um daqueles programas interessantes, que não se percebe por que razão não passam na RTP-1. Por exemplo, em vez de concursos estúpidos que já provaram ser uma nódoa nas audiências e um exercício de tolerância ao tédio.&lt;br /&gt;Esta liga dá “às vezes” na RTP-N, infelizmente só para quem tem ‘cabo’.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114549027869806941?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114549027869806941/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114549027869806941' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114549027869806941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114549027869806941'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/04/programas-desportivos.html' title='Programas desportivos'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114522078609962717</id><published>2006-04-16T21:46:00.000+01:00</published><updated>2006-04-16T21:53:06.100+01:00</updated><title type='text'>Estava a estranhar...</title><content type='html'>Estava a estranhar. Há mais de um mês que não ouvia esta em lado nenhum, mas na quinta-feira passada meti o contador a zeros.&lt;br /&gt;&lt;br /&gt;Depois de apanhar o 47 com destino ao Campo-grande, estava um senhor de idade sentado num daqueles bancos encarnados e dizia para outro: "...e eu tenho setenta anos. No tempo da outra senhora isto não era nada assim.".&lt;br /&gt;&lt;br /&gt;Ao que parece cheguei tarde, não consegui perceber do que estavam a falar. Mas a frase, a genuína, ouvi-a eu mais uma vez. &lt;br /&gt;&lt;br /&gt;...pode ser que na próxima semana o veja na avenida da Liberdade a gritar "O povo unido jamais será vencido".&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114522078609962717?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114522078609962717/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114522078609962717' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114522078609962717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114522078609962717'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/04/estava-estranhar.html' title='Estava a estranhar...'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114522029540832163</id><published>2006-04-16T21:37:00.000+01:00</published><updated>2006-04-16T21:45:45.356+01:00</updated><title type='text'>Greve nos museus de Portugal.</title><content type='html'>Ao que parece os museus estiveram fechados Sexta-feira Santa e Domingo de Páscoa.&lt;br /&gt;&lt;br /&gt;Ao que parece os 'senhores' que trabalham nos museus fizeram greve porque querem passar os feriados com a família.&lt;br /&gt;&lt;br /&gt;Ao que parece fizeram greve, apesar de o governo pagar estes dias a 200%.&lt;br /&gt;&lt;br /&gt;Ao que parece este ano não vai haver prendinhas no sapatinho. O Pai Natal vai passar a consoada com a esposa e os filhos.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114522029540832163?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114522029540832163/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114522029540832163' title='8 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114522029540832163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114522029540832163'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/04/greve-nos-museus-de-portugal.html' title='Greve nos museus de Portugal.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114521986688141657</id><published>2006-04-16T21:36:00.000+01:00</published><updated>2006-04-16T21:37:46.893+01:00</updated><title type='text'>Cara lavada.</title><content type='html'>Andei à procura de um novo template para o blog, mas não encontrei nada de jeito.&lt;br /&gt;Azar! Menos trabalho tenho.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114521986688141657?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114521986688141657/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114521986688141657' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114521986688141657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114521986688141657'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/04/cara-lavada.html' title='Cara lavada.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114496716296405554</id><published>2006-04-13T23:17:00.000+01:00</published><updated>2006-04-13T23:26:02.976+01:00</updated><title type='text'>Mais por onde pecar.</title><content type='html'>O papa identificou um novo &lt;a href="http://www.publico.clix.pt/shownews.asp?id=1253839&amp;idCanal=93"&gt;pecado&lt;/a&gt;, desta vez temos três em um. Parece que ver televisão, ler jornais ou navegar na internet em excesso pode enviar os fiéis para o purgatório. Tudo porque com estes hábitos o tempo dedicado à fé é diminuto.&lt;br /&gt;&lt;br /&gt;Isto levanta (no mínimo) duas questões:&lt;br /&gt;&lt;br /&gt;1 - De onde é que se fez a dedução deste novo pecado? Da bíblia? Nunca li o livro sagrado mas, mesmo que fale em Jornais, de certeza que não fala em Televisão ou Internet... a menos que esteja para sair um novo 'Best Seller'.&lt;br /&gt;&lt;br /&gt;2 - Estou convicto de que, se as pessoas dedicarem menos tempo aos Jornais, à TV e à Internet não é a fé que aumenta mas sim a taxa de natalidade.&lt;br /&gt;&lt;br /&gt;Espero que com este comentário não me venha fechar o blogue.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;    Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114496716296405554?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114496716296405554/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114496716296405554' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114496716296405554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114496716296405554'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/04/mais-por-onde-pecar.html' title='Mais por onde pecar.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114425395174988318</id><published>2006-04-05T17:19:00.000+01:00</published><updated>2006-04-05T17:19:18.980+01:00</updated><title type='text'>+ Linux 2006</title><content type='html'>No seguimento do meu post anterior sobre a conferência Linux 2006, os slides das apresentações estão disponíveis &lt;a href="http://www.sybase.pt/gvsview/gvs/sybase-pt/eventos/eventos_detail.htm?id=45&amp;cat=."&gt;aqui&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Gostava de referir particularmente os slides da apresentação das 9:40, “Evolução do software livre em Portugal - o que esperar do futuro?”. Os dados que lá estão são interessantes e merecem alguma reflexão.&lt;br/&gt;&lt;br/&gt;Em primeiro lugar, e como seria de esperar, o mercado dos servidores tem aumentado. No entanto, o aumento da aquisição de servidores Windows tem sido (de longe) superior ao de Linux.&lt;br/&gt;&lt;br/&gt;Em segundo lugar, 40% dos organismo públicos já implementaram Linux (o que não implica que o tenham feito com sucesso).&lt;br/&gt;&lt;br/&gt;No que toca a empresas, a experiência resume-se a 20% do tecido empresarial Português.&lt;br/&gt;&lt;br/&gt;Dêem uma vista de olhos e façam a vossa interpretação dos resultados.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114425395174988318?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114425395174988318/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114425395174988318' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114425395174988318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114425395174988318'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/04/linux-2006.html' title='+ Linux 2006'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114372514539882538</id><published>2006-03-30T14:25:00.000+01:00</published><updated>2006-03-30T14:25:45.440+01:00</updated><title type='text'>Linux 2006</title><content type='html'>Acabei de vir da conferência &lt;a href="http://www.caixamagica.pt/linux2006/"&gt;Linux 2006&lt;/a&gt;, e ganhei um bonito pinguim da Sybase.&lt;br/&gt;&lt;br/&gt;Gostei de ver que começa a ganhar força uma cultura de software livre a nível nacional. E gostaria também de louvar a iniciativa dos organizadores de convidarem um representante da Microsoft para estar presente no debate antes do almoço. Por outro lado a Microsoft, atreves do seu representante, mostrou que não tem medo do software livre e que é possível as duas filosofias existirem em simultâneo. Foi reconhecido que este tipo de confrontos trás mais valias para o tecido empresarial português, e que é difícil ter uma afirmação a nível internacional baseada em fundamentalismos.&lt;br/&gt;&lt;br/&gt;Ficou no entanto a desejar o número de stands presentes (cerca de 10). Faltavam lá empresas importantes como a Computer Associates, a nível internacional, e as grandes consultoras a nível nacional. Questiono-me se a Novabase e a Pararrede não têm projectos em software aberto. Se sim porque é que não tomaram a iniciativa de estar presentes? Será que não foram convidadas?&lt;br/&gt;&lt;br/&gt;A nível académico também não vi lá nada. Será que as universidades ainda não perceberam que é imperativa a sua participação como ferramenta de apoio às iniciativas empresariais? Principalmente porque estas funcionam como um motor impulsionador deste tipo de software.&lt;br/&gt;&lt;br/&gt;Para terminar, gostaria de salientar algo que já foi dito nos média e que voltou a ser frisado nesta conferência. Finalmente temos um plano nacional com objectivos concretos (Plano Tecnológico). Desta forma o governo comprometeu-se, e poderá ser julgado em 2010 consoante as metas sejam ou não cumpridas. Um exemplo a seguir. Até porque custa sempre ver nos média a apresentação de projectos políticos cujos objectivos não são quantificados. Sem metas definidas não se vai a lado nenhum, e aqui temos um governo a dar o exemplo. E isto aplica-se a todos nós, desde meros cidadãos a empresários com poder de decisão, passando obrigatoriamente por todos os políticos. Metam a cabeça no cepo, e não tenham medo de ser avaliados por isso. Acima de tudo, aprendam com os sucessos e principalmente com os insucessos. Para que isso seja possível é necessário quantificar a meta que separa um sucesso de um insucesso. É aqui que está muitas a lacuna, o resto é conversa fiada.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114372514539882538?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114372514539882538/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114372514539882538' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114372514539882538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114372514539882538'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/03/linux-2006.html' title='Linux 2006'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114363782417111634</id><published>2006-03-29T14:10:00.000+01:00</published><updated>2006-03-29T14:10:26.750+01:00</updated><title type='text'>Viva a internet!</title><content type='html'>&lt;a href="http://www.publico.clix.pt/fotos.asp?id=1252242"&gt;Isto sim&lt;/a&gt; é uma medida digna de um plano tecnológico. Era bom que desse a mesma “pancada” ao nosso primeiro. Assim poderíamos ter os leilões públicos a ser feitos no e-bay ou no miau. Acabava-se a mama da informação privilegiada.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114363782417111634?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114363782417111634/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114363782417111634' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114363782417111634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114363782417111634'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/03/viva-internet.html' title='Viva a internet!'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114345104375889859</id><published>2006-03-27T10:17:00.000+01:00</published><updated>2006-03-27T10:17:23.810+01:00</updated><title type='text'>Emprego procura-se?</title><content type='html'>Nunca me tinha ocorrido mas pensando um bocado na coisa, começa a fazer sentido. E que tal usar um blogue como forma de arranjar emprego? &lt;a href="http://techrepublic.com.com/b2b-trcommunity/5254-6257-0.html?forumID=99&amp;threadID=191232&amp;messageID=1981517&amp;id=4380209&amp;tag=nl.e124"&gt;Aqui vão umas dicas&lt;/a&gt;, de quem já meditou sobre isso.&lt;br/&gt;Quanto a mim, ainda estou à espera que me façam uma proposta milionária... parece que nem com um blogue lá chego :p&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114345104375889859?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114345104375889859/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114345104375889859' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114345104375889859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114345104375889859'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/03/emprego-procura-se.html' title='Emprego procura-se?'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114320165414934137</id><published>2006-03-24T12:00:00.000Z</published><updated>2006-03-24T12:00:54.203Z</updated><title type='text'>Desculpem-me o palavreado.</title><content type='html'>&lt;a href="http://www.publico.clix.pt/shownews.asp?id=1251708&amp;idCanal=16"&gt;Foda-se!&lt;/a&gt; &lt;br/&gt;É só isto que tenho para dizer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114320165414934137?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114320165414934137/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114320165414934137' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114320165414934137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114320165414934137'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/03/desculpem-me-o-palavreado.html' title='Desculpem-me o palavreado.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114260888385017469</id><published>2006-03-17T15:21:00.000Z</published><updated>2006-03-17T15:21:23.906Z</updated><title type='text'>In the mood...</title><content type='html'>Há coisas com muita pinta! Uns tipos lembraram-se de procurar assinaturas sonoras em músicas e com isso fazer uma rádio via Internet à medida do ouvinte. É simples, vai-se ao &lt;a href="http://www.pandora.com/"&gt;Pandora&lt;/a&gt;, mete-se o nome de uma música ou artista e... Bimba!!!! Fica-se com uma estação de rádio que toca músicas ao nosso gosto do momento. Muito catita.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114260888385017469?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114260888385017469/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114260888385017469' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114260888385017469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114260888385017469'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/03/in-mood.html' title='In the mood...'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114243178904146401</id><published>2006-03-15T14:09:00.000Z</published><updated>2006-03-15T14:09:49.083Z</updated><title type='text'>Façam as vossas apostas!</title><content type='html'>Parece que vamos ter &lt;a href="http://video.google.com/videoplay?docid=-199899523054020719&amp;q=linux"&gt;concorrência&lt;/a&gt; com o Windows Vista. Preparem as pipocas e vejam os próximos episódios de “Microsoft e Apple têm Novell no sapatinho”.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114243178904146401?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114243178904146401/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114243178904146401' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114243178904146401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114243178904146401'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/03/faam-as-vossas-apostas.html' title='Façam as vossas apostas!'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114235642983577533</id><published>2006-03-14T17:13:00.000Z</published><updated>2006-03-14T17:13:49.883Z</updated><title type='text'>The Internet is for Porn!</title><content type='html'>Um &lt;a href="http://video.google.com/videoplay?docid=5430343841227974645"&gt;vídeo&lt;/a&gt; bastante original feito com personagens do &lt;a href="http://www.worldofwarcraft.com/lowbw.html"&gt;World of Warcraft&lt;/a&gt;. Lindo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114235642983577533?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114235642983577533/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114235642983577533' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114235642983577533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114235642983577533'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/03/internet-is-for-porn.html' title='The Internet is for Porn!'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114183207279830801</id><published>2006-03-08T15:34:00.000Z</published><updated>2006-03-08T15:34:32.836Z</updated><title type='text'>...</title><content type='html'>...hoje estava para escrever um post, mas não tinha nada de jeito para dizer. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114183207279830801?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114183207279830801/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114183207279830801' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114183207279830801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114183207279830801'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/03/blog-post.html' title='...'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114129452699258857</id><published>2006-03-02T10:15:00.000Z</published><updated>2006-03-02T10:15:27.190Z</updated><title type='text'>Bem vindo ao futuro!</title><content type='html'>Parece que a nova versão do sistema operativo da Microsoft, o Windows Vista, vem com reconhecimento de voz como parte integrante do sistema. O resultado é incrível, e pode ser visto &lt;a href="http://blogs.technet.com/chenley/archive/2006/02/21/420136.aspx"&gt;aqui&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114129452699258857?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114129452699258857/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114129452699258857' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114129452699258857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114129452699258857'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/03/bem-vindo-ao-futuro.html' title='Bem vindo ao futuro!'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114061719228007014</id><published>2006-02-22T14:06:00.000Z</published><updated>2006-02-22T14:08:04.090Z</updated><title type='text'>Alguem se lembra do Restaurador Olex?</title><content type='html'>Um &lt;a href="http://www.misteriojuvenil.com/piratas_momentomagico.htm"&gt;baú&lt;/a&gt; que fala por si.&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114061719228007014?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114061719228007014/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114061719228007014' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114061719228007014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114061719228007014'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/02/alguem-se-lembra-do-restaurador-olex.html' title='Alguem se lembra do Restaurador Olex?'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114046133631294150</id><published>2006-02-20T18:48:00.000Z</published><updated>2006-02-20T18:48:56.346Z</updated><title type='text'>Para quem é de boa boca!</title><content type='html'>O Sr. Engenheiro resolveu meter mãos à obra e abrir um &lt;a href="http://arrozdecarne.blogspot.com/"&gt;tasco&lt;/a&gt;! Bem visto, sim senhor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114046133631294150?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114046133631294150/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114046133631294150' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114046133631294150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114046133631294150'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/02/para-quem-de-boa-boca.html' title='Para quem é de boa boca!'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-114010186404169442</id><published>2006-02-16T14:57:00.000Z</published><updated>2006-02-16T14:57:47.326Z</updated><title type='text'>MMIs</title><content type='html'>A vida tem sido complicada, e o tempo não tem chegado para as encomendas. Mas as coisas começam agora a estabilizar e acabou-se o jejum.&lt;br/&gt;&lt;br/&gt;Anda de volta de interfaces gráficas para MMIs (Man Machine Interfaces). Como suspeitava, este tema é um mundo. Há muita teoria sobre isto, e existem alguns documentos de “Best Practices”. &lt;a href="http://java.sun.com/products/jlf/ed2/book/index.html"&gt;Este&lt;/a&gt; é apenas um deles, mas serve para aguçar a curiosidade. Se o tema interessar coloco aqui mais alguns “links” num futuro próximo.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-114010186404169442?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/114010186404169442/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=114010186404169442' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114010186404169442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/114010186404169442'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/02/mmis.html' title='MMIs'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113716006555244783</id><published>2006-01-13T13:47:00.000Z</published><updated>2006-01-13T14:28:18.623Z</updated><title type='text'>In Inimigo Público</title><content type='html'>Isto é um aparte que não tem certamente a ver com o objectivo deste blogue. De qualquer forma, é um post para desanuviar.&lt;br /&gt;&lt;br /&gt;“Na Turquia, a gripe das aves levou as autoridades a reforçar a luta contra a doença. Os direitos das aves estão agora ao nível dos direitos dos curdos.”&lt;br/&gt;&lt;br/&gt;“O Jornal ‘24 Horas’ está a oferecer pérolas aos leitores. É simbólico.”&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113716006555244783?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113716006555244783/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113716006555244783' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113716006555244783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113716006555244783'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/01/in-inimigo-pblico.html' title='In Inimigo Público'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113706212249566327</id><published>2006-01-12T10:35:00.000Z</published><updated>2006-01-12T10:35:22.543Z</updated><title type='text'>O futuro do Java</title><content type='html'>James Gosling foi entrevistado pela CNET &lt;a href="http://news.com/"&gt;News.com&lt;/a&gt; acerca do futuro do Java. A entrevista é muito interessante, principalmente a forma como aborda a disputa Java vs LAMP (Linux, Apache, MySql e PHP). Vale a pena perder uns minutos e tirar algumas conclusões. E entrevista está &lt;a href="http://builder.com.com/2008-6371_14-6022062.html?tag=nl.e601"&gt;aqui&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;br/&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113706212249566327?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113706212249566327/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113706212249566327' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113706212249566327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113706212249566327'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/01/o-futuro-do-java.html' title='O futuro do Java'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113692114595342849</id><published>2006-01-10T19:24:00.000Z</published><updated>2006-01-10T19:25:45.970Z</updated><title type='text'>À tempo que não ouvia...</title><content type='html'>Quem sabe faz, quem não sabe ensina.&lt;br /&gt;  --escrito durante o curso de gestão de projectos&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113692114595342849?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113692114595342849/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113692114595342849' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113692114595342849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113692114595342849'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/01/tempo-que-no-ouvia.html' title='À tempo que não ouvia...'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113680433159347437</id><published>2006-01-09T10:58:00.000Z</published><updated>2006-01-09T10:58:55.326Z</updated><title type='text'>Curso de PM</title><content type='html'>Começo hoje o &lt;a href="http://www.m-p.pt/conteudomodelo.php?Plano=project"&gt;curso de Gestão de Projectos&lt;/a&gt;, co-financiado pelo fundo social europeu.&lt;br/&gt;&lt;br/&gt;Para quem não sabe, o fundo social europeu tem como único objectivo o melhoramento do nível de vida dos cidadãos europeus. Daí a particularidade de apenas serem aceites neste curso pessoas que se encontrem empregadas. É talvez o único fundo social com esta característica.&lt;br/&gt;&lt;br/&gt;A &lt;a href="http://www.m-p.pt/"&gt;empresa&lt;/a&gt; que me dá a formação tem mais cursos com esta modalidade. Fiquem atentos, e concorram quando abrirem as vagas. Eu não tinha grande esperança, e afinal sempre tive mais uma prenda no sapatinho.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113680433159347437?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113680433159347437/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113680433159347437' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113680433159347437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113680433159347437'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/01/curso-de-pm.html' title='Curso de PM'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113630790572371161</id><published>2006-01-03T17:05:00.000Z</published><updated>2006-01-06T23:38:46.470Z</updated><title type='text'>Distributed Filesystem :D</title><content type='html'>Eu sei que a noticia não é nova, mas só agora é que me deu tirar partido dos mais de dois Gibabytes do &lt;a href="http://www.gmail.com/"&gt;GMail&lt;/a&gt;.&lt;br/&gt;Este &lt;a href="http://www.softpedia.com/get/Internet/E-mail/Mail-Utilities/GMail-Drive-shell-extension.shtml"&gt;programinha&lt;/a&gt; é muito fácil de instalar e adiciona uma nova drive ao Explorer do Windows. Depois basta aceder a esta drive, colocar o vosso nome de utilizar e a password e... já está! Nunca pensei que fosse tão fácil.&lt;br/&gt;&lt;br/&gt;PS: também existe uma coisa destas para &lt;a href="http://richard.jones.name/google-hacks/gmail-filesystem/gmail-filesystem.html"&gt;Linux&lt;/a&gt;, mas não a experimentei.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113630790572371161?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113630790572371161/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113630790572371161' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113630790572371161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113630790572371161'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/01/distributed-filesystem-d.html' title='Distributed Filesystem :D'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113621961295207434</id><published>2006-01-02T16:33:00.000Z</published><updated>2006-01-02T16:33:32.990Z</updated><title type='text'>Dois Mil e Seis</title><content type='html'>Feliz 2006 a quem tem a paciência de ler o que aqui escrevo.&lt;br/&gt;&lt;br/&gt;Estava a pensar em colocar aqui um ‘post’ a resumir a minha passagem de ano, mas há alguém que o conseguiu fazer bem melhor do que eu alguma vez faria. Vejam neste &lt;a href="http://istoedejoana.blogspot.com/"&gt;blog&lt;/a&gt;, que é de longe (para mim) um dos melhores blogues portugueses.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113621961295207434?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113621961295207434/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113621961295207434' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113621961295207434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113621961295207434'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2006/01/dois-mil-e-seis.html' title='Dois Mil e Seis'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113593501257146558</id><published>2005-12-30T09:30:00.000Z</published><updated>2005-12-30T09:30:17.050Z</updated><title type='text'>Oracle XE</title><content type='html'>A Oracle lançou a &lt;a href="http://oracle.com/technology/xe"&gt;Oracle Database 10g Express Edition&lt;/a&gt;. Trata-se de uma versão gratuita da conhecida base de dados Oracle 10g.&lt;br/&gt;Esta nova versão tem como particularidade o facto de poder ser distribuída de forma embebida nas nossas aplicações, mesmo para fins comerciais. No entanto nem tudo é ouro, pois esta versão sofre de algumas limitações. Por exemplo, a capacidade máxima dos dados que se podem armazenar tem como limite os 4GBs. Adicionalmente, mesmo que esta aplicação seja executada por um sistema com vários processadores, apenas um deles será utilizado, o que na era do &lt;a href="http://www.intel.com/technology/hyperthread/"&gt;“Hyper-threading”&lt;/a&gt; se pode tornar numa grande desvantagem.&lt;br/&gt;&lt;br/&gt;Seja como for, aqui está uma boa noticia que abre um excelente precedente.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113593501257146558?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113593501257146558/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113593501257146558' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113593501257146558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113593501257146558'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/12/oracle-xe.html' title='Oracle XE'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113577886213458306</id><published>2005-12-28T14:07:00.000Z</published><updated>2005-12-28T14:07:42.520Z</updated><title type='text'>Em integrar é que está o ganho.</title><content type='html'>Quando se usam metodologias ágeis, é comum compilar o código regularmente e correr os teste unitários. Quando se têm equipas grandes, torna-se imperativo que esta tarefa seja efectuada de forma automática e controlada.&lt;br/&gt;A esta etapa chama-se integração. É suposto que o código desenvolvido por um utilizador seja integrado com o do resto da equipa assim que a tarefa é terminada. O servidor de ‘builds’ vai confirmar se a integração foi ou não feita com sucesso através dos testes.&lt;br/&gt;&lt;br/&gt;Este &lt;a href="http://builder.com.com/5100-6371_14-5993189.html?tag=nl.e601"&gt;artigo&lt;/a&gt; explica de forma mais detalhada o procedimento. Espero que vos seja útil.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113577886213458306?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113577886213458306/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113577886213458306' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113577886213458306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113577886213458306'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/12/em-integrar-que-est-o-ganho.html' title='Em integrar é que está o ganho.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113570022991923784</id><published>2005-12-27T16:17:00.000Z</published><updated>2005-12-27T16:17:09.990Z</updated><title type='text'>GanttProject</title><content type='html'>Descobri no outro dia uma excelente ferramenta para gestão de projectos, o &lt;a href="http://ganttproject.sourceforge.net/"&gt;GanttProject&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Trata-se de uma aplicação desenvolvida em Java, que permite a elaboração de gráficos de Gantt, Pert, etc. Enfim, as coisas básicas e essenciais para um plano de projecto. Além destas coisas todas ainda permite que sejam importados projectos de várias ferramentas, incluindo o &lt;a href="http://office.microsoft.com/en-us/FX010857951033.aspx"&gt;MS Project&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Tudo isto numa ferramenta GPL e multi-plataforma.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113570022991923784?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113570022991923784/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113570022991923784' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113570022991923784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113570022991923784'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/12/ganttproject.html' title='GanttProject'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113535178613262660</id><published>2005-12-23T15:29:00.000Z</published><updated>2005-12-23T15:29:46.246Z</updated><title type='text'>Lamechices</title><content type='html'>O post lamechas mais comum da blogosphera.&lt;br/&gt;&lt;br/&gt;Queria desejar um bom natal aos leitores, com muitas prendas e muito vinho.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113535178613262660?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113535178613262660/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113535178613262660' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113535178613262660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113535178613262660'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/12/lamechices.html' title='Lamechices'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113447165136263965</id><published>2005-12-13T11:00:00.000Z</published><updated>2005-12-13T11:00:51.370Z</updated><title type='text'>Installer para Java</title><content type='html'>Já que estamos com as mãos no Java, cá vai mais uma pérola.&lt;br/&gt;&lt;br/&gt;O &lt;a href="http://www.advancedinstaller.com/"&gt;AdvanceInstaller&lt;/a&gt; é uma ferramenta que permite criar um pacote de instalação de aplicações Java, à moda do Windows (MSI). Tem uma versão gratuita, que a meu ver é bastante completa. Tudo através de uma interface gráfica, fácil de utilizar.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113447165136263965?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113447165136263965/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113447165136263965' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113447165136263965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113447165136263965'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/12/installer-para-java.html' title='Installer para Java'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113447134097234238</id><published>2005-12-13T10:55:00.000Z</published><updated>2005-12-13T10:55:41.023Z</updated><title type='text'>COTS de gráficos para SWING</title><content type='html'>Andava eu a desesperar por não encontrar COTS de jeito para SWING e dou de caras com o &lt;a href="http://www.jfree.org/jfreechart/index.php"&gt;JFreeChart&lt;/a&gt;. Tem bom aspecto, dá vontade de comer (&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113447134097234238?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113447134097234238/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113447134097234238' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113447134097234238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113447134097234238'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/12/cots-de-grficos-para-swing.html' title='COTS de gráficos para SWING'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113446699941402698</id><published>2005-12-13T09:43:00.000Z</published><updated>2005-12-13T09:45:42.343Z</updated><title type='text'>Há merdas que me deixam indignado.</title><content type='html'>O presidente da câmara municipal de Lisboa vai hoje propor à assembleia municipal a introdução de um imposto de 0,25%, nas facturas de telecomunicações dos seus munícipes. Este imposto servirá para financiar obras na rede de telecomunicações do concelho.&lt;br/&gt;&lt;br/&gt;Para quem pensava que o negócio das telecomunicações estava em alta, desengane-se. Parece que afinal dá prejuízo. De tal forma que serão os cidadãos a financiar infra-estruturas exploradas pelas empresas do sector.&lt;br/&gt;&lt;br/&gt;Um abraço,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113446699941402698?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113446699941402698/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113446699941402698' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113446699941402698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113446699941402698'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/12/h-merdas-que-me-deixam-indignado.html' title='Há merdas que me deixam indignado.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113386563814856705</id><published>2005-12-06T10:40:00.000Z</published><updated>2005-12-06T10:40:38.263Z</updated><title type='text'>Evoluir para pior</title><content type='html'>Nos dias que correm assistimos à migração da lógica para ficheiros de XML. São cada vez mais as tecnologias que acabam por convergir para esta nova filosofia, incluindo a ‘Avalon’, a nova camada de apresentação da Microsoft. Justiça seja feita, pode-se enumerar uma excepção a esta regra; EJB 3.0. Agora que o Java descobriu as anotações, o mundo dos EJBs acabou por suprimir a necessidade de se criarem três (sim três) ficheiros XML por cada ‘Bean’.&lt;br/&gt;Como já devem ter percebido, não estou muito satisfeito com esta nova filosofia. E penso que existem argumentos fortes para justificar o meu ponto de vista. O facto de se andarem a elaborar ‘Domain Specific Languages’ (DSLs) em XML é o suficiente para deixar qualquer profissional de TIs no mais profundo desespero, senão vejamos.&lt;br/&gt;&lt;br/&gt;Ando a investigar tecnologias para desenvolver ‘Rich Client Applications’, ou seja, interfaces gráficas que correm em programas instalados no computador do utilizador. E qual não é o meu espanto quando verifico que existem inúmeros projectos emergentes que possibilitam o desenvolvimento de interfaces através de ficheiros XML. O programador acaba por desenvolver uma parte considerável do código neste tipo de ficheiros, que mais tarde são interpretados por um motor gráfico. O curioso é que a maior parte das vezes o XML não chega, e acabamos por ter a lógica do programa espalhada por duas DSLs diferentes (i.e. Java e XML).&lt;br/&gt;&lt;br/&gt;Mesmo que as tecnologias permitissem o desenvolvimento integral da aplicação numa DSL desenvolvida sobre XML, esta filosofia acabaria por empurrar o software para linguagens que são interpretadas em vez de compiladas. E este factor é mais que suficiente para causar problemas e deixar os intervenientes à procura de erros no código pela noite dentro. Basta ter em conta que:&lt;br/&gt;&lt;ul&gt;&lt;li&gt;Muitas vezes estas DSLs não têm XML Schemas, deixando o programador à mercê da documentação e dos exemplos, quando existem&lt;/li&gt;&lt;br/&gt;&lt;li&gt;O Schema, quando existe, não muito é fácil de interpretar por humanos&lt;/li&gt;&lt;br/&gt;&lt;li&gt;Uma linguagem interpretada não detecta erros em tempo de compilação, simplesmente porque esta fase não existe. Alguns IDEs conseguirem encontrar incoerências no XML através do Schema, mas não é a mesma coisa&lt;/li&gt;&lt;br/&gt;&lt;li&gt;Ainda não existem técnicas de ‘refactoring’ decentes para facilitar o desenvolvimento e a manutenção do projecto&lt;/li&gt;&lt;br/&gt;&lt;li&gt;O XML foi desenvolvido com foco nos dados e não no código&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;Mas nem tudo são más noticias, pelo menos para as empresas que fornecem as tecnologias. Quando as coisas já se encontram estabilizadas e bem definidas no paradigma orientado aos Objectos, eis que surge uma nova filosofia e há sempre quem venha a ganhar balúrdios com migrações e formações adicionais. No papel que me toca, não vejo qualquer vantagem nesta “nova” filosofia, e antevejo muitas noites em branco no dia em que me vir obrigado a adoptá-la... para mal dos meus pecados, esse dia está cada vez mais perto.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113386563814856705?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113386563814856705/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113386563814856705' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113386563814856705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113386563814856705'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/12/evoluir-para-pior.html' title='Evoluir para pior'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113378259582485442</id><published>2005-12-05T11:36:00.000Z</published><updated>2005-12-05T11:37:53.256Z</updated><title type='text'>Money, Money, Money...</title><content type='html'>Parece que hoje tirei o dia para elogiar a Microsoft, mas penso que é tudo coincidência.&lt;br/&gt;&lt;br/&gt;Acabei de descobrir o &lt;a href="http://www.microsoft.com/money/default.mspx"&gt;Microsoft Money&lt;/a&gt;, e pela apresentação disponível na página parece muito útil. Pode ser que seja desta que vou dizer adeus aos desequilíbrios orçamentais... ou talvez não.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113378259582485442?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113378259582485442/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113378259582485442' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113378259582485442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113378259582485442'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/12/money-money-money.html' title='Money, Money, Money...'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113378151504582366</id><published>2005-12-05T11:18:00.000Z</published><updated>2005-12-05T11:18:35.086Z</updated><title type='text'>Autenticação em VB 2005</title><content type='html'>Neste &lt;a href="http://techrepublic.com.com/i/tr/downloads/home/0596009496_chapter_12.pdf"&gt;artigo&lt;/a&gt; é apresentado o funcionamento do sistema de autenticação em VB 2005. Mais uma vez a Microsoft prima por tornar simples aquilo que é comum.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113378151504582366?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113378151504582366/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113378151504582366' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113378151504582366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113378151504582366'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/12/autenticao-em-vb-2005.html' title='Autenticação em VB 2005'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113320351026340276</id><published>2005-11-28T18:45:00.000Z</published><updated>2005-11-28T18:45:10.263Z</updated><title type='text'>Dezoito</title><content type='html'>O &lt;a href="http://smv.unige.ch/~pedro/tiki-index.php"&gt;Luís Pedro&lt;/a&gt; está a ‘&lt;a href="http://dezoito.blogspot.com/"&gt;blogar’&lt;/a&gt;. Trata-se de um grande amigo meu, ex-colega do projecto ATLAS a fazer doutoramento na Suiça.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113320351026340276?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113320351026340276/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113320351026340276' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113320351026340276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113320351026340276'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/11/dezoito.html' title='Dezoito'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113320330380110858</id><published>2005-11-28T18:41:00.000Z</published><updated>2005-11-28T18:41:43.830Z</updated><title type='text'>Replicação a quanto obrigas.</title><content type='html'>Bom, ok. Ainda há muito trabalho a fazer.&lt;br/&gt;&lt;br/&gt;O MySql tem duas formas de replicação, uma Master/Slave e outra através do MySql Cluster. Sendo que nenhuma delas suporta chaves estrangeiras,&amp;nbsp;&amp;nbsp;e a primeira requer um ‘exclusive lock’ à base de dados. Entre muitas outras limitações...&lt;br/&gt;&lt;br/&gt;É tudo, apeteceu-me desabafar.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113320330380110858?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113320330380110858/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113320330380110858' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113320330380110858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113320330380110858'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/11/replicao-quanto-obrigas.html' title='Replicação a quanto obrigas.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113320054285453308</id><published>2005-11-28T17:55:00.000Z</published><updated>2005-11-28T17:55:42.886Z</updated><title type='text'>SCI Sockets</title><content type='html'>Hoje estava a ler uma documentação quando deparei com uma tecnologia que me era desconhecida: SCI Sockets.&lt;br/&gt;&lt;br/&gt;Através da mailing list do emprego alguém me iluminou, e para que não passem pela “vergonha” de ter que perguntar aqui vai um &lt;a href="http://standards.ieee.org/reading/ieee/std_public/description/busarch/1596-1992_desc.html"&gt;ajuda&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113320054285453308?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113320054285453308/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113320054285453308' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113320054285453308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113320054285453308'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/11/sci-sockets.html' title='SCI Sockets'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113196145184002775</id><published>2005-11-14T09:44:00.000Z</published><updated>2005-11-14T09:44:11.886Z</updated><title type='text'>Footloose.</title><content type='html'>Definitivamente há artigos que me deixam completamente pasmado. Começa a ser difícil encontrar publicações que tomam abordagens que rompem por completo com os conhecimentos adquiridos ao longo dos anos. Mas este fim-de-semana tive que ler um artigo sobre o Footloose. Genial!&lt;br/&gt;&lt;br/&gt;Acredito que alguns destes trabalhos só são possíveis quando uma pessoa se abstrai por completo das abordagens insistentemente tomadas pela maioria das propostas. Ou então talvez não. Talvez existam pessoas tão geniais que nem consigo imaginar o que lhes vai na cabeça.&lt;br/&gt;&lt;br/&gt;Seja como for, imaginem um sistema que permite o seguinte: O frigorifico do Manuel repara que as cervejas estão a acabar. Como não costuma comunicar com o PDA do Manuel, mas sabe que esta máquina costuma estar várias vezes perto do microondas, o frigorifico decide enviar uma mensagem a este dispositivo. Mais tarde o Manuel chega a casa, e como de costume coloca o PDA perto do microondas. O microondas informa o PDA que as cervejas estão a acabar, e este último coloca cervejas na lista de compras do supermercado. Quando o Manuel for comprar as suas merecerias encontrará na sua lista as cervejas.&lt;br/&gt;&lt;br/&gt;É este tipo de problemas que o Footloose resolve, e mais um ou outro caso particular. Esta tecnologia propõe uma solução para gerir a informação que esteja centrada em apenas um utilizador, sem que ele tenha uma intervenção directa nesta tarefa.&lt;br/&gt;&lt;br/&gt;Bom, já vos deixei com água na boca. Fica agora aqui o link para o &lt;a href="http://www.mit.edu/~jmp/research/footloose-wmcsa.pdf"&gt;artigo&lt;/a&gt;. Espero que fiquem tão surpreendidos como eu.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113196145184002775?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113196145184002775/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113196145184002775' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113196145184002775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113196145184002775'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/11/footloose.html' title='Footloose.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113164137203104982</id><published>2005-11-10T16:49:00.000Z</published><updated>2005-11-10T16:49:32.080Z</updated><title type='text'>Um pouco de gestão.</title><content type='html'>Para quem está interessado em gestão de projectos, &lt;a href="http://techrepublic.com.com/i/tr/downloads/home/10_things_about_being_great_it_manager.pdf"&gt;aqui&lt;/a&gt; vão 10 dicas importantes para o sucesso.&lt;br/&gt;&lt;br/&gt;Abraços,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113164137203104982?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113164137203104982/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113164137203104982' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113164137203104982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113164137203104982'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/11/um-pouco-de-gesto.html' title='Um pouco de gestão.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113051253682166923</id><published>2005-10-28T16:15:00.000+01:00</published><updated>2005-10-28T16:15:36.880+01:00</updated><title type='text'>AJAX para JSP</title><content type='html'>Seguindo o artigo “&lt;a href="http://gamafranco.blogspot.com/2005/10/moda-outonoinverno.html"&gt;Moda Outono/Inverno&lt;/a&gt;”, venho anunciar que foi finalmente lançado o COTS ‘&lt;a href="http://ajaxtags.sourceforge.net/"&gt;AjaxTags 1.0&lt;/a&gt;’.&lt;br/&gt;&lt;br/&gt;Tal como o nome indica, esta biblioteca introduz alguns ‘tags’ nas JSPs para manipular pedidos AJAX. Este componente visa facilitar a vida em quem desenvolve ‘Rich Client Web Applications’ com recurso a JSP. &lt;br/&gt;Mesmo para quem não tem esta tarefa vale a pena dar uma olhada.&lt;br/&gt;&lt;br/&gt;Um abraço,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113051253682166923?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113051253682166923/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113051253682166923' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113051253682166923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113051253682166923'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/10/ajax-para-jsp.html' title='AJAX para JSP'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113049654308416441</id><published>2005-10-28T11:49:00.000+01:00</published><updated>2005-10-28T11:49:03.130+01:00</updated><title type='text'>Papel electrónico</title><content type='html'>No &lt;a href="http://www.slashdot.org/"&gt;Slashdot&lt;/a&gt; é feita referência a dois artigos (&lt;a href="http://hardware.slashdot.org/article.pl?sid=05/10/19/1423257&amp;tid=196"&gt;aqui&lt;/a&gt; e &lt;a href="http://slashdot.org/article.pl?sid=05/10/13/2224250&amp;tid=126&amp;tid=129&amp;tid=149"&gt;aqui&lt;/a&gt;) sobre a invenção de um tipo de papel electrónico. Isto irá certamente revolucionar num futuro próximo a forma como os jornais estão disponíveis num futuro próximo, uma vez que já é possível produzir este tipo de produtos a cerca de 30£ o metro quadrado. Agora pensem o que pode fazer ao vosso portátil se o contraste for mesmo o que eles vendem.&lt;br/&gt;&lt;br/&gt;Um abraço,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113049654308416441?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113049654308416441/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113049654308416441' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113049654308416441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113049654308416441'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/10/papel-electrnico.html' title='Papel electrónico'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-113042985224989376</id><published>2005-10-27T15:56:00.000+01:00</published><updated>2005-10-27T17:17:32.283+01:00</updated><title type='text'>RFC (Request for comments)</title><content type='html'>Tenho visto pelas estatísticas do Google AdSense que este blogue começa a ter um número considerável de consultas diárias. No entanto não tenho recebido comentários nenhuns, o que torna difícil a adaptação dos conteúdos com o perfil de quem cá costuma vir.&lt;br /&gt;Por isso, meus amigos, deixem aqui alguns comentários. Digam de vossa justiça o que acham, para eu saber se vale ou não a pena dar-me ao trabalho de colocar aqui um post de vez em vez.&lt;br /&gt;&lt;br /&gt;Mesmo para o pessoal que lê o blogue com recurso a um gestor de RSS. Façam este pequeno esforço. Venham à página e deixem aqui um comentário. Digam o que vos vai na telha, terei muito prazer em saber o que se passa dentro dessas cabecinhas. :) &lt;br /&gt;&lt;br /&gt;Um abraço,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-113042985224989376?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/113042985224989376/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=113042985224989376' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113042985224989376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/113042985224989376'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/10/rfc-request-for-comments.html' title='RFC (Request for comments)'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112972873991464019</id><published>2005-10-19T14:32:00.000+01:00</published><updated>2005-10-19T14:32:19.943+01:00</updated><title type='text'>Saber onde apostar é uma mais valia</title><content type='html'>&lt;a href="http://w3.ualg.pt/~jlongras/"&gt;José Figueiredo&lt;/a&gt;, professor auxiliar da Universidade do Algarve, escreveu um &lt;a href="http://w3.ualg.pt/~jlongras/As-dez-tecnologias-quentes-do-futuro.html"&gt;artigo&lt;/a&gt; onde enumera dez tecnologias que deverão emergir no futuro. Para quem deseja (e tem o que) investir isto será um bom ponto de partida.&lt;br/&gt;&lt;br/&gt;Um abraço,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112972873991464019?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112972873991464019/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112972873991464019' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112972873991464019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112972873991464019'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/10/saber-onde-apostar-uma-mais-valia.html' title='Saber onde apostar é uma mais valia'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112956257265725092</id><published>2005-10-17T16:22:00.000+01:00</published><updated>2005-10-17T16:22:52.670+01:00</updated><title type='text'>Moda Outono/Inverno</title><content type='html'>No artigo anterior vimos como se podiam consumir pedidos de XML via JavaScript. Este é um tópico que está na moda por uma razão muito simples: AJAX. Esta tecnologia (é mais uma metodologia) encontra-se em forte expansão nos dias que passam, tudo graças a algumas aplicações como o &lt;a href="gmail.com"&gt;Google Mail&lt;/a&gt; ou o &lt;a href="http://www.flickr.com/"&gt;Flickr&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Para saberem o básico sobre este tópico (e garanto que não é tempo gasto em vão), aconselho vivamente a leitura &lt;a href="http://www-128.ibm.com/developerworks/library/j-ajax1/?ca=dgr-lnxw01Ajax"&gt;deste artigo&lt;/a&gt;. Vão ver que afinal o conceito até é simples, e vai surgir a questão: Porque raio não se utiliza isto à mais tempo?&lt;br/&gt;&lt;br/&gt;Um abraço,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112956257265725092?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112956257265725092/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112956257265725092' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112956257265725092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112956257265725092'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/10/moda-outonoinverno.html' title='Moda Outono/Inverno'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112928293978125417</id><published>2005-10-14T10:12:00.000+01:00</published><updated>2005-10-14T10:42:19.800+01:00</updated><title type='text'>Web Services via JavaScript</title><content type='html'>JavaScript. Ora aí está uma tecnologia horrível, incoerente e difícil de depurar (odeio esta palavra). No entanto é o que temos para desenvolvimento 'client side', e quando não se tem acesso a uma framework decente como ASP.Net ou Struts a sua utilização pode-se tornar incontornável. Ou seja, por vezes temos mesmo que recorrer a JavaScript. &lt;a href="http://builder.com.com/5100-6371_14-5887775-2.html"&gt;Neste artigo&lt;/a&gt; é feita uma demonstração de como se podem consumir WebServices nesta tecnologia. Se alguma vez tiverem que utilizar este método já ficam com uma ideia, de qualquer maneira desejo-vos boa sorte. As experiências que tive anteriormente com JavaScript deram-me cabo dos nervos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112928293978125417?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112928293978125417/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112928293978125417' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112928293978125417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112928293978125417'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/10/web-services-via-javascript.html' title='Web Services via JavaScript'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112919656737844506</id><published>2005-10-13T10:42:00.000+01:00</published><updated>2005-10-13T10:46:19.463+01:00</updated><title type='text'>Operações com Threads em Java.</title><content type='html'>Quando se trabalha com Threads em Java utiliza-se geralmente a keyword synchronized. Esta keyword indica que para aceder a um determinado método, o Thread tem que adquirir um lock. O que eu não sabia é que existe outro mecanismo que também permite manter a coerência entre vários processos leves, com recurso a uma técnica diferente. Vejam &lt;a href="http://techrepublic.com.com/5100-3513_11-5813958.html?tag=nl.e027"&gt;este artigo&lt;/a&gt; para descobrir qual é e quais as suas vantagens/desvantagens.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112919656737844506?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112919656737844506/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112919656737844506' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112919656737844506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112919656737844506'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/10/operaes-com-threads-em-java.html' title='Operações com Threads em Java.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112919580740611610</id><published>2005-10-13T10:30:00.000+01:00</published><updated>2005-10-13T10:30:07.500+01:00</updated><title type='text'>...e a vida fica mais fácil.</title><content type='html'>Ora &lt;a href="http://manageengine.adventnet.com/products/applications_manager/"&gt;aqui&lt;/a&gt; está uma daquelas ferramentas que nos poupam muito trabalho. O Applications Manager permite monitorizar uma variedade de sistemas com recurso a apenas uma aplicação de administração. Entre estes sistemas incluem-se JBoss, Tomcat, SQL Server, IIS, IBM WebSphere, Oracle, MySql e muitos outros. Uma lista completa dos sistemas suportados está disponível &lt;a href="http://manageengine.adventnet.com/products/applications_manager/applications-manager-comparison.html"&gt;nesta página&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Existem duas versões desta aplicação, uma gratuita e outra paga. A gratuita permite monitorizar até 5 sistemas durante um período ilimitado. Ou seja, o ideal para quem tem um pequeno negócio ou trabalha numa empresa de pequena dimensão. Outra divergência em relação à versão paga é a ausência de actualizações e a possibilidade de suporte apenas por E-mail.&lt;br/&gt;&lt;br/&gt;Um abraço,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112919580740611610?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112919580740611610/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112919580740611610' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112919580740611610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112919580740611610'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/10/e-vida-fica-mais-fcil.html' title='...e a vida fica mais fácil.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112911123784778992</id><published>2005-10-12T11:00:00.000+01:00</published><updated>2005-10-12T11:00:38.140+01:00</updated><title type='text'>Uma questão simples sobre segurança.</title><content type='html'>É um dado adquirido que grande parte das aplicações multi-utilizador têm algum mecanismo de identificação. Na maior parte dos casos este mecanismo resume-se à identificação de um utilizador através de um identificador único e uma password. Geralmente o identificador único é um ‘username’, ou algo idêntico.&lt;br/&gt;&lt;br/&gt;No entanto alguns programadores não levam em conta que a base de dados onde se armazenam as palavras-passe, podem ser consultadas com recurso a técnicas muito simples para obtenção de acesso não autorizado. Algumas dessas técnicas estão muito bem documentadas, e um programador menos experiente terá pouca dificuldade em as utilizar.&lt;br/&gt;&lt;br/&gt;Disto isto, parece óbvio que a informação mais sensível deverá ser codificada, ou melhor ainda, ser armazenada com recurso a técnicas que permitam a identificação sem se guardar a palavra-chave original.&lt;br/&gt;&lt;br/&gt;Mais uma vez, irei recorrer a um &lt;a href="http://techrepublic.com.com/5100-22_11-5218673.html?tag=nl.e050"&gt;artigo&lt;/a&gt; para explicar este ponto de vista. Nele são apresentadas algumas técnicas, e é exemplificada a sua utilização com recurso a tecnologia da Oracle. No entanto as ideias apresentadas podem ser utilizadas em qualquer plataforma de desenvolvimento.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112911123784778992?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112911123784778992/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112911123784778992' title='9 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112911123784778992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112911123784778992'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/10/uma-questo-simples-sobre-segurana.html' title='Uma questão simples sobre segurança.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112902711608219064</id><published>2005-10-11T11:38:00.000+01:00</published><updated>2005-10-11T11:38:36.116+01:00</updated><title type='text'>Um cheirinho de Robótica.</title><content type='html'>Apesar de não ser a minha área, não deixei de achar este &lt;a href="http://www-128.ibm.com/developerworks/wireless/library/wi-robot3/?ca=dgr-lnxwRobotP3"&gt;link&lt;/a&gt; interessante. Tem um excelente tutorial de como se pode construir protótipos de autómatos (Robots) rapidamente.&lt;br/&gt;&lt;br/&gt;Para os mais interessados, vejam também este &lt;a href="http://www-128.ibm.com/developerworks/library/wi-robot2/?ca=dgr-lnxwRobotP2"&gt;link&lt;/a&gt;. Aqui fala de que forma se pode construir um robot que se pode controlar através de tecnologia ‘wireless’.&lt;br/&gt;&lt;br/&gt;Um abraço,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112902711608219064?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112902711608219064/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112902711608219064' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112902711608219064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112902711608219064'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/10/um-cheirinho-de-robtica.html' title='Um cheirinho de Robótica.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112888576362498478</id><published>2005-10-09T20:15:00.000+01:00</published><updated>2005-10-09T20:22:43.636+01:00</updated><title type='text'>Filme de Terror</title><content type='html'>Passei a tarde de domingo a ver 'The Shining', um filme de terror realizado pelo mestre Stanley Kubrick. Mas o verdadeiro terror aconteceu quando desliguei o meu velhinho VHS e vi as previsões da RTP1 para as Autárquicas. Isaltino, Valentino e Fátima fazem parte dos eleitos... &lt;br /&gt;&lt;br /&gt;Acho que em Kuala Lumpur estão a precisar de profissionais de TI.&lt;br /&gt;&lt;br /&gt;Um abraço,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112888576362498478?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112888576362498478/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112888576362498478' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112888576362498478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112888576362498478'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/10/filme-de-terror.html' title='Filme de Terror'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112841939339934463</id><published>2005-10-04T10:49:00.000+01:00</published><updated>2005-10-04T10:49:53.430+01:00</updated><title type='text'>Pensamento do dia</title><content type='html'>"If at first you don't succeed, find out if the loser gets anything."&lt;br/&gt;Bill Lyon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112841939339934463?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112841939339934463/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112841939339934463' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112841939339934463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112841939339934463'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/10/pensamento-do-dia.html' title='Pensamento do dia'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112833624445632593</id><published>2005-10-03T11:44:00.000+01:00</published><updated>2005-10-03T11:44:04.496+01:00</updated><title type='text'>Balde de água fria pela manhã.</title><content type='html'>&lt;a href="http://techrepublic.com.com/5254-6257-0.html?forumID=99&amp;threadID=177006&amp;messageID=1851768&amp;id=935599&amp;tag=nl.e027"&gt;Aqui&lt;/a&gt; vai um balde de água fria para quem pensa que não existe diferença para&amp;nbsp;&amp;nbsp;a palavra “protected” entre Java e .Net. É engraçado porque pensava que o efeito era igual para ambas as tecnologias. Espero que não fiquem tão surpreendidos como eu.&lt;br/&gt;&lt;br/&gt;Um abraço,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112833624445632593?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112833624445632593/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112833624445632593' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112833624445632593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112833624445632593'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/10/balde-de-gua-fria-pela-manh.html' title='Balde de água fria pela manhã.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112712643168719584</id><published>2005-09-19T11:40:00.000+01:00</published><updated>2005-09-19T11:40:32.356+01:00</updated><title type='text'>Linux chega aos portáteis</title><content type='html'>A &lt;a href="http://www.news.com.com/"&gt;CNET&lt;/a&gt; tem um &lt;a href="http://news.com.com/Mandriva+Linux+pre-installed+on+Dell+laptop/2110-1044_3-5869094.html"&gt;artigo&lt;/a&gt; onde informa que a Dell passou a ter disponível um portátil com a distribuição de Linux Mandriva.&lt;br/&gt;&lt;br/&gt;É interessante, lembro-me de ler num artigo de opinião do Linux Journal que isto seria um enorme passo em frente para este sistema operativo. Se tivermos em conta que o artigo tem mais de dois anos, esta notícia peca por ser tardia. No entanto não deixa de um marco.&lt;br/&gt;&lt;br/&gt;O curioso é que o artigo de opinião referia que isto iria acontecer por exigência de uma grande empresa (que decidia baixar o custos de aquisição de equipamento), e que os fabricantes de portáteis teriam uma grande guerra pela frente para ganhar o contracto. O fabricante vencedor ficaria de costas voltadas com a Microsoft, mas estava atravessada a barreira. A partir daí seria uma guerra aberta para fazer chegar ao consumidor final soluções baseadas neste sistema operativo, ameaçando a hegemonia do gigante de Redmond. Afinal não é isto que está a acontecer, e parece que talvez exista uma lacuna no mercado de consumo. Ou talvez não, e nesse caso não irá haver procura para este tipo de produtos, deixando esta primeira iniciativa condenada ao fracasso.&lt;br/&gt;&lt;br/&gt;Provavelmente só o futuro irá dizer, e não está tão distante quanto isso.&lt;br/&gt;&lt;br/&gt;Um abraço,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112712643168719584?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112712643168719584/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112712643168719584' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112712643168719584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112712643168719584'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/09/linux-chega-aos-portteis.html' title='Linux chega aos portáteis'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112679440045522526</id><published>2005-09-15T15:26:00.000+01:00</published><updated>2005-09-15T15:26:40.483+01:00</updated><title type='text'>JUnit4</title><content type='html'>Elliotte Rusty Harold fez um &lt;a href="http://www-128.ibm.com/developerworks/java/library/j-junit4.html?ca=dgr-lnxw01JUnit4"&gt;resumo&lt;/a&gt; acerca da nova versão do JUnit (versão 4). Para quem não conhece, trata-se de uma framework para testes unitários em Java.&lt;br/&gt;&lt;br/&gt;Esta nova versão tem algumas inovações em relação à versão 3.8, algumas delas fortemente inspiradas no NUnit (biblioteca para testes unitários para .Net). Das novas alterações gostaria de realçar o facto de os testes tirarem agora partido das anotações, introduzidas no Java 1.5. Além disso agora é permitido fazer classes de testes que não derivam de TestCase. A vantagem? É simples, agora podemos ter uma classe de testes que deriva da classe que pretendemos testar, o que permite testes a métodos ‘protected’.&lt;br/&gt;&lt;br/&gt;Vale a pena dar uma olhada para ver o que se pode esperar desta nova versão. Estou certo que vai dar muito que falar (ainda está em beta).&lt;br/&gt;&lt;br/&gt;Um abraço,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112679440045522526?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112679440045522526/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112679440045522526' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112679440045522526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112679440045522526'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/09/junit4.html' title='JUnit4'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112548643753236058</id><published>2005-08-31T12:07:00.000+01:00</published><updated>2005-08-31T12:07:17.553+01:00</updated><title type='text'>Como vai o open source?</title><content type='html'>Quem me conhece sabe que tenho um carinho especial por Linux e o universo open source. No entanto confesso que estou um bocado desiludido pelo facto de ter sido prometida muita coisa à volta deste sistema, e os passos têm sido dados a um ritmo demasiado lento. Mas os progressos vão sendo feitos, principalmente com o aparecimento de algumas empresas a seguirem uma filosofia POSS (Professional Open Source Software). Tomando por exemplo MySQL, JBOSS, etc.&lt;br/&gt;Também já fui mais radical, mas talvez se tenha devido ao facto de desconhecer as soluções proprietárias. Há áreas onde a Microsoft está a fazer um excelente trabalho, e os progressos impulsionados por esta empresa são de louvar (i.e. Business Intelligence).&lt;br/&gt;&lt;br/&gt;Gostaria de salientar que os países onde a tecnologia tem tido mais sucesso encontram-se no hemisfério sul, os denominados países em vias de desenvolvimento. Portugal tem ainda muito que evoluir nesta matéria, e penso que o facto de ser prática comum a aquisição de software proprietário a custo zero através de práticas ilegais (P2P) prejudica a adopção de plataformas alternativas. Quem é que está disposto a fazer a migração de uma suite de Office numa PME, se é possível obter a custo zero a solução da Microsoft com riscos praticamente nulos? E qual a probabilidade de captar recursos para desenvolver em Unix/Linux se a maior parte dos técnicos sempre teve em casa versões proprietárias pelas quais não pagou? Ou se pagou este preço já vinha incluído no seu desktop, uma vez que os grandes fabricantes não têm por política a distribuição de raiz de software gratuito que iria baixar o preço do produto final.&lt;br/&gt;&lt;br/&gt;Depois podemos também levantar a questão do tempo que leva a desenvolver aplicações para cada uma destas plataformas. Acredito que o Time to Market de uma solução .Net seja inferior a outra baseada em Java, que pode ser desenvolvida por inteiro recorrendo a tecnologias gratuitas (e que corre em qualquer sistema). No entanto o que interessa ponderar na maioria dos projectos é o retorno do investimento (ROI). Será que pelo facto de eu introduzir no mercado algumas semanas antes um produto cujo investimento foi muito superior terá um maior retorno? Nalgumas situações sim, noutras não. Além disso posso sempre cortar os valores das licenças e meter mais um programador no projecto. Desta forma o investimento fica retido no nosso país, o que é mais saudável para a economia nacional. Mas mais uma vez, na maioria dos casos temos a PME a comprar uma licença e a disponibilizar o software para N programadores. Desta forma não há ROI que aguente!&lt;br/&gt;&lt;br/&gt;E temos ainda o problema do suporte. Mas este começa a ser cada vez mais um mal menor. A maioria das alternativas no mercado tem geralmente esta opção (paga). Agora será que compensa? Ora vejamos, se tiver uma licença de SIEBEL para um ambiente de desenvolvimento, outra para o de testes e mais uma para produção, e ao fim disso tudo desembolsar um determinado valor para obter suporte do fornecedor chego (claramente) a um valor exorbitante. Por outro lado posso sempre fazer o download (gratuito) do SugarCRM, fazer a instalação nos três ambientes e pagar (apenas) pelo suporte. Infelizmente não é fácil arranjar técnicos no mercado para SugerCRM, mas para SIEBEL também não! Além disso se subirmos a fasquia para bom/muito bom ficamos reduzidos a meia dúzia.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Para finalizar, e foi isto que me despertou o interesse por colocar aqui este pensamento, aconselho a leitura &lt;a href="http://www.linux-watch.com/news/NS8124627492.html"&gt;deste artigo de opinião&lt;/a&gt;. Aqui são apresentadas 5 razões para não se utilizar Linux. Não deixa de ter alguma piada.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Um abraço,&lt;br/&gt;&amp;nbsp;&amp;nbsp;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112548643753236058?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112548643753236058/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112548643753236058' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112548643753236058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112548643753236058'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/08/como-vai-o-open-source.html' title='Como vai o open source?'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112496734707721486</id><published>2005-08-25T11:55:00.000+01:00</published><updated>2005-08-25T11:55:47.120+01:00</updated><title type='text'>Comparação entre Web Services e .Net Remoting (ou Java RMI)</title><content type='html'>Neste &lt;a href="http://builder.com.com/5100-6371_14-5841906.html?tag=nl.e601"&gt;artigo&lt;/a&gt; é apresentada uma breve comparação entre .Net Remoting e Web Services. O objectivo é simples, ajudar a determinar quando é que se deve optar por uma solução em detrimento da outra. O artigo é pequeno, pouco detalhado mas sempre dá algumas luzes aos menos esclarecidos nesta matéria.&lt;br/&gt;Pela minha experiência sei que esta comparação também é valida quando feita entre Java RMI e Web Services. &lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112496734707721486?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112496734707721486/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112496734707721486' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112496734707721486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112496734707721486'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/08/comparao-entre-web-services-e-net.html' title='Comparação entre Web Services e .Net Remoting (ou Java RMI)'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112481436170830569</id><published>2005-08-23T17:26:00.000+01:00</published><updated>2005-08-23T17:27:11.643+01:00</updated><title type='text'>Agile vs resto do mundo (Round I)</title><content type='html'>Felizmente, durante estes dois últimos anos, consegui absorver algum conhecimento em dois projectos que seguiram metodologias opostas. Para o primeiro (projecto A) foi utilizada uma metodologia baseada em Análise Orientada aos Objectos (OOA, recurso a UML). No segundo (projecto B) foi adoptada uma metodologia ágil (eXtreme Programming).&lt;br /&gt;Na primeira parte deste artigo vou apresentar uma breve descrição das metodologias adoptadas em cada projecto. Na segunda irei fazer uma pequena comparação entre estas duas metodologias, enumerando as vantagens e desvantagens de cada uma delas. É claro que será apenas uma comparação baseada na minha experiência pessoal, ausente de qualquer justificação científica.&lt;br /&gt;&lt;br /&gt;Na primeira fase do projecto A houve um levantamento de requisitos, seguido das fases de análise, desenho da arquitectura, implementação, testes e finalmente a entrada em produção. Este processo foi efectuado em espiral, ou seja, existiram sucessivas iterações entre a fase de análise e as que a sucedem.&lt;br /&gt;&lt;br /&gt;O projecto B teve um processo de desenvolvimento bastante diferente. Existiu uma pequena fase de análise com os principais objectivos de se definir qual a tecnologia a utilizar, elaborar um calendário com diversas ‘milestones’ e acordar as linhas orientadoras do processo. Após esta breve fase começou-se o desenvolvimento, puro e duro.&lt;br /&gt;Antes de se fazer uma linha de código criava-se um teste unitário (Unit Test). Se o teste falhasse (o mais comum) fazia-se o desenvolvimento da funcionalidade, e em seguida fazia-se o ‘refactoring’ do código. Depois corriam-se os testes unitários na totalidade para verificar se não se estragou nada do que estava feito até à data.&lt;br /&gt;Os ‘milestones’ acordados na primeira fase foram Feature Complete (FC), Zero Bugs Bounce (ZBB), Beta 1, Beta 2 e finalmente Final Release. Em baixo faço a descrição de cada ‘milestone’.&lt;br /&gt;&lt;br /&gt;FC: todas as ‘features’ foram terminadas até esta data, ou seja, a partir deste ‘milestone’ apenas se catalogaram e corrigiram ‘bugs’. Gostaria de realçar que neste projecto nem todos os ‘bugs’ foram resolvidos. Foi feita uma selecção de quais valeria a pena resolver ponderando a sua criticidade e os efeitos secundários da sua resolução. Além disso tentou-se sempre atrasar a resolução de um bug o mais possível, assim garantíu-se que as tarefas mais importantes eram sempre realizadas primeiro. Alias, esta filosofia aplicava-se também às ‘features’, mas este comportamento é comum a quase todas as metodologias que eu conheço.&lt;br /&gt;&lt;br /&gt;ZBB: Quando este ‘milestone’ foi atingido os bugs a resolver tinham no máximo 24 horas. Ou seja, era obrigatório que todos os ‘bugs’ reportados num dia fossem resolvidos no dia seguinte, caso se optasse pela sua resolução.&lt;br /&gt;&lt;br /&gt;Beta 1: Primeira versão a enviar para produção num grupo restrito de clientes. Aqui foram feitos testes de integração e de aceitação.&lt;br /&gt;&lt;br /&gt;Beta 2: Versão para substituir a anterior no mesmo universo de clientes.&lt;br /&gt;&lt;br /&gt;FR: “Abram uma garrafa de ‘Don Perignon’ e metam na conta do chefe”.&lt;br /&gt;&lt;br /&gt;Para finalizar, gostaria de notar duas particularidades acerca desta metodologia.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;O cliente faz parte da equipa de desenvolvimento.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;As ‘features’ são acordadas através de ‘User Stories’&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Isto quer dizer que o próprio processo de desenvolvimento é feito em ciclos muito curtos, e o projecto tem o comportamento de um protótipo evolutivo. Pode-se observar as fases de cada ciclo &lt;a href="http://www.extremeprogramming.org/map/iteration.html"&gt;neste diagrama&lt;/a&gt; (autoria de J. Donovan Wells).&lt;br /&gt;&lt;br /&gt;No próximo artigo irei fazer a prometida comparação entre estas duas metodologias, focando alguns pontos comuns em qualquer projecto. Será uma experiência realmente interessante, porque apesar do objectivo passar sempre por entregar um produto final no prazo acordado e deixar o cliente satisfeito, estas duas metodologias seguem filosofias opostas.&lt;br /&gt;&lt;br /&gt;Gostaria apenas de salientar que irei fazer uma comparação tendo em conta o seguimento destas metodologias tal como foram descritas. Projectos com duração considerável sofrem sempre de alguns imprevistos, e quer num caso quer no outro não foram feitas análises de risco. Quando os imprevistos aconteceram... improvisou-se.&lt;br /&gt;&lt;br /&gt;Também vou salientar que o um dos projectos ainda está a decorrer, e eu já não sou membro da equipa. O que quer dizer que na segunda parte do artigo irei especular acerca da sua conclusão, supondo sempre que esta será um sucesso (acredito que sim pois a equipa é liderada por pessoas com grandes capacidades nesta área).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112481436170830569?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112481436170830569/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112481436170830569' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112481436170830569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112481436170830569'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/08/agile-vs-resto-do-mundo-round-i.html' title='Agile vs resto do mundo (Round I)'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112470912221634357</id><published>2005-08-22T12:12:00.000+01:00</published><updated>2005-08-23T17:25:14.486+01:00</updated><title type='text'>Mais uma da autoria de Joel Spolsky</title><content type='html'>&lt;a href="http://www.joelonsoftware.com/"&gt;Joel Spolsky&lt;/a&gt;, o líder da empresa “Frog Creek Software” que utiliza uma estratégia revolucionária de recursos humanos, escreve neste &lt;a href="http://www.joelonsoftware.com/articles/AardvarkSpec.html"&gt;artigo&lt;/a&gt; uma pequena comparação entre os métodos ágeis e os processos de desenvolvimento centrados na documentação. Este artigo é baseado na sua opinião pessoal, e não é alvo de uma comparação com resultados objectivos. No entanto considero uma leitura interessante para quem, tal como eu, tem dúvidas acerca de qual será a melhor abordagem para um determinado projecto. Infelizmente o artigo serve apenas para aumentar as dúvidas, mas de qualquer forma não deixa de ser uma leitura interessante.&lt;br /&gt;&lt;br /&gt;No artigo está também uma ligação para a especificação de uma ferramenta de software desenvolvida por esta empresa. Trata-se de um documento com alguns detalhes técnicos interessantes.&lt;br /&gt;&lt;br /&gt;PS: Aconselho vivamente a leitura regular deste blogue.&lt;br /&gt;&lt;br /&gt;Um abraço,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112470912221634357?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112470912221634357/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112470912221634357' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112470912221634357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112470912221634357'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/08/mais-uma-da-autoria-de-joel-spolsky.html' title='Mais uma da autoria de Joel Spolsky'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-112470372582271440</id><published>2005-08-22T10:42:00.000+01:00</published><updated>2005-10-04T00:39:57.656+01:00</updated><title type='text'>Maldita preguiça!</title><content type='html'>Já à algum tempo que me dá a preguiça para deixar aqui algumas ideias. Acho que posso justificar a minha falta de pró-actividade (palavra da moda nos dias que correm) com a época que estamos a passar. Este mês de Agosto não dá vontade fazer o que quer que seja. Parece que sou contagiado pelas férias dos outros, já que as minhas foram tão curtas que quase nem me lembro delas.&lt;br/&gt;&lt;br/&gt;Para quebrar esta monotonia vou deixar aqui um breve ‘post’, de leitura fácil para recomeçar aos poucos a publicar alguma coisa. A &lt;a href="http://builder.com.com/5100-6315_14-5838230.html?tag=nl.e601"&gt;leitura&lt;/a&gt; que vos proponho é uma entrevista ao autor de mais um livro de ‘Agile Project Management’, vulgo APM.&lt;br/&gt;&lt;br/&gt;Aconselho a sua leitura numa pausa de cinco minutos antes do almoço, para abrir o apetite ;)&lt;br/&gt;&lt;br/&gt;Um abraço,&lt;br/&gt;&amp;nbsp;&amp;nbsp; Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-112470372582271440?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/112470372582271440/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=112470372582271440' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112470372582271440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/112470372582271440'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/08/maldita-preguia.html' title='Maldita preguiça!'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-111996976547817998</id><published>2005-06-28T15:21:00.000+01:00</published><updated>2005-06-28T15:43:44.676+01:00</updated><title type='text'>Uma questão de Inteligência.</title><content type='html'>É comum revoltarmo-nos com um determinado jogo simplesmente porque a Inteligência Artificial não é lá grande coisa. A maior parte das vezes apenas somos batidos pela máquina porque esta conta com algumas facilidades, como por exemplo a produção de recursos a uma velocidade superior. Outras vezes levamos autênticas tareias porque os autores decidiram colocar o oponente com o dobro de recursos em relação ao jogador.&lt;br /&gt;&lt;br /&gt;Isto acontece porque os algoritmos de inteligência artificial são programados a priori, e geralmente o oponente não consegue adaptar-se aos diversos comportamentos imprevisíveis do jogador. Quantas vezes não chegamos a vencer o computador utilizando sempre a mesma táctica do princípio ao fim do jogo?&lt;br /&gt;&lt;br /&gt;Mas existe esperança para um futuro melhor. Um grupo de investigadores da Universidade do Texas encontra-se a produzir um jogo com um conceito novo. &lt;a href="http://nerogame.org/"&gt;Nele&lt;/a&gt; o jogador é convidado a treinar um conjunto de agentes a reagir a determinadas situações, e depois poderá observar o seu comportamento em batalhas contra agentes treinados por outros jogadores.&lt;br /&gt;&lt;br /&gt;Os agentes são treinados com recurso a Redes Neuronais, e o aperfeiçoamento da população é feita através de Algoritmos Genéticos. A ideia não é nova, mas nos produtos existentes no mercado o jogador tinha sempre que desenvolver a inteligência artificial dos agentes. Neste caso são os agentes que aprendem as tácticas indicadas pelo jogador. Talvez num futuro próximo tenhamos um PC à nossa altura.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-111996976547817998?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/111996976547817998/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=111996976547817998' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111996976547817998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111996976547817998'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/06/uma-questo-de-inteligncia.html' title='Uma questão de Inteligência.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-111772370320235813</id><published>2005-06-02T15:07:00.000+01:00</published><updated>2005-06-02T15:48:23.210+01:00</updated><title type='text'>Tenho esta mania...</title><content type='html'>Geralmente quando descubro uma ferramenta nova e esta é proprietária, tenho por hábito procurar uma com as mesmas funcionalidades e licença open source. É uma daquelas manias, e às vezes até descubro umas coisas engraçadas.&lt;br /&gt;&lt;br /&gt;Para quem sofre da mesma doença, &lt;a href="http://www.linuxrsp.ru/win-lin-soft/table-eng.html"&gt;aqui&lt;/a&gt; vai uma lista bastante completa.&lt;br /&gt;&lt;br /&gt;Um abraço,&lt;br /&gt; Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-111772370320235813?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/111772370320235813/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=111772370320235813' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111772370320235813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111772370320235813'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/06/tenho-esta-mania.html' title='Tenho esta mania...'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-111763524901516630</id><published>2005-06-01T15:03:00.000+01:00</published><updated>2005-06-01T15:14:09.020+01:00</updated><title type='text'>Oracle e os Database Links para... a concorrência.</title><content type='html'>Quem já trabalhou com bases de dados distribuídas, certamente já ouviu falar em 'Database Links' (DBLinks). Em Oracle um DBLink permite que o utilizador venha a aceder a uma tabela numa base de dados remota da mesma forma que acede a uma tabela local.&lt;br /&gt;&lt;br /&gt;O que eu não sabia (chamem-me ignorante) é que o Oracle permite que se crie um DBLink para uma tabela numa base de dados de um DBMS da concorrência (i.e. MySQL, SQL Server, etc...).&lt;br /&gt;&lt;br /&gt;Está tudo &lt;a href="http://techrepublic.com.com/5100-9592_11-5725974.html?tag=nl.e050"&gt;aqui&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Um abraço,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-111763524901516630?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/111763524901516630/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=111763524901516630' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111763524901516630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111763524901516630'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/06/oracle-e-os-database-links-para.html' title='Oracle e os Database Links para... a concorrência.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-111745194505274584</id><published>2005-05-30T11:28:00.000+01:00</published><updated>2005-05-30T13:23:31.236+01:00</updated><title type='text'>EXISTS, IN e NULL</title><content type='html'>Ora &lt;a href="http://techrepublic.com.com/5100-9592_11-5319615.html?tag=nl.e050"&gt;aqui está&lt;/a&gt; um daqueles artigos que servem para tirar algumas dúvidas base.&lt;br /&gt;&lt;br /&gt;Quando se aprende uma tecnologia nova, há alguns pontos que passam despercebidos, e levam-nos mais tarde a perder algum tempo de volta do google para clarificar algumas dúvidas subtis. O artigo em causa fala do comportamento dos operadores EXISTS e IN acerca de valores NULL.&lt;br /&gt;&lt;br /&gt;Espero que vos seja esclarecedor tanto quanto foi para mim.&lt;br /&gt;&lt;br /&gt;Um abraço,&lt;br /&gt;  Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-111745194505274584?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/111745194505274584/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=111745194505274584' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111745194505274584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111745194505274584'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/05/exists-in-e-null.html' title='EXISTS, IN e NULL'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-111718939328836873</id><published>2005-05-27T11:22:00.000+01:00</published><updated>2005-05-27T16:47:10.820+01:00</updated><title type='text'>Os testes e o modelo de dados.</title><content type='html'>O modelo de dados é certamente uma das partes mais importantes de qualquer projecto, e é geralmente o ponto de partida da fase de desenvolvimento. Também é comum destacar-se uma camada para aceder a esses mesmos dados. No caso do Java, a maioria das vezes, utiliza-se o modelo ‘MVC’, cabendo à camada ‘Model’ esta tarefa. Nas arquitecturas de .Net a camada equivalente é denominada de ‘DataAccess’.&lt;br /&gt;&lt;br /&gt;Quem utiliza métodos ágeis depara sempre com o mesmo problema no início de qualquer projecto: “Como é que vou testar a camada de acesso aos dados sem introduzir alterações na base de dados de testes?”&lt;br /&gt;Esta dúvida surge porque, se estamos a testar a inserção dos dados de clientes num teste unitário, e noutro a verificar o número de clientes que existem no sistema, é certo que o segundo vai falhar se correr depois do primeiro. Desta forma está-se a violar o princípio do ‘&lt;a href="http://c2.com/cgi/wiki?UnitTestIsolation"&gt;Isolamento&lt;/a&gt;’.&lt;br /&gt;Neste artigo irei sugerir uma técnica que permite testar a interacção entre o nosso programa e o modelo de dados, sem que se viole o isolamento dos testes de regressão.&lt;br /&gt;A filosofia desta técnica consiste em registar todos os acessos numa única transacção, e depois de verificadas todas as condições, forçar o ‘rollback’ da mesma.&lt;br /&gt;&lt;br /&gt;Por questões de simplicidade o exemplo será apresentado em Java recorrendo a uma ligação JDBC para MySql, mas a sua utilização em C# ou noutra linguagem orientada aos objectos é análoga. Gostaria apenas de realçar que para se utilizar esta técnica é necessário que o ‘DBMS’ ou a ‘Framework’ suporte transacções. Para uma arquitectura em Java com MySql é obrigatória a utilização de tabelas do tipo ‘INNODB’ por ser o único que suporta transacções. Alternativamente pode-se recorrer a um contentor de ‘EJBs’ que garanta a transacção ao nível da ‘Framework’.&lt;br /&gt;Para a tecnologia .Net a minha preferência resume-se à utilização do ‘Distribucted Transaction Manager’, e efectuar manualmente a gestão das transacções.&lt;br /&gt;&lt;br /&gt;Em primeiro lugar é necessário encapsular a ligação à base de dados utilizada, desta forma ficaremos com a classe:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class Database implements IDatabase&lt;br /&gt;{&lt;br /&gt;  private Connection connection;&lt;br /&gt;  private boolean transactionStarted = false;&lt;br /&gt;&lt;br /&gt;  public Database(String databaseName, String username, String password)&lt;br /&gt;     throws ClassNotFoundException, SQLException&lt;br /&gt;  {&lt;br /&gt;     Class.forName("org.gjt.mm.mysql.Driver");&lt;br /&gt;     connection = DriverManager.getConnection(...);&lt;br /&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;A nossa classe irá implementar um Interface que apresenta todos os seus métodos públicos, e a ligação à base de dados é feita no construtor. A forma como a ligação é feita é irrelevante, e pode-se optar por ler os dados da ligação de um ficheiro de configuração.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  public Connection getConnection()&lt;br /&gt;  {&lt;br /&gt;      return connection;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void beginTransaction()&lt;br /&gt;     throws TransactionAlreadyStartedException, SQLException&lt;br /&gt;  {&lt;br /&gt;     if (transactionStarted)&lt;br /&gt;        throw new TransactionAlreadyStartedException();&lt;br /&gt;     setTransactionStarted(true);&lt;br /&gt;     connection.setAutoCommit(false);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void commitTransaction()&lt;br /&gt;     throws TransactionNotStartedException, SQLException&lt;br /&gt;  {&lt;br /&gt;      if (!transactionStarted)&lt;br /&gt;          throw new TransactionNotStartedException();&lt;br /&gt;      connection.commit();&lt;br /&gt;      connection.setAutoCommit(true);&lt;br /&gt;      setTransactionStarted(false);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void rollbackTransaction()&lt;br /&gt;     throws TransactionNotStartedException, SQLException&lt;br /&gt;  {&lt;br /&gt;      if (!transactionStarted)&lt;br /&gt;          throw new TransactionNotStartedException();&lt;br /&gt;      connection.rollback();&lt;br /&gt;      connection.setAutoCommit(true);&lt;br /&gt;      setTransactionStarted(false);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public boolean inTransaction()&lt;br /&gt;  {&lt;br /&gt;      return transactionStarted;&lt;br /&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;O método getConnection() retorna a ligação que se está a utilizar, mas é importante garantir que o nosso código não vai executar métodos que afectem o estado das transacções. Eu optei por esta forma por questões de simplicidade, mas se quisermos ser rigorosos teremos que utilizar uma técnica em que a ligação não seja exposta publicamente.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; &lt;br /&gt;  protected void setTransactionStarted(boolean transactionStarted)&lt;br /&gt;  {&lt;br /&gt;      this.transactionStarted = transactionStarted;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Este método será utilizado para se iniciar uma nova transacção.&lt;br /&gt;&lt;br /&gt;Em seguida iremos criar uma '&lt;a href="http://www.dofactory.com/Patterns/PatternAbstract.aspx"&gt;Factory&lt;/a&gt;', por duas razões. Em primeiro lugar queremos garantir que apenas existirá um objecto do tipo Database no nosso programa, depois porque mais tarde iremos substituir este objecto por outro sem que o nosso programa se aperceba disso.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class DatabaseFactory implements IDatabaseFactory&lt;br /&gt;{&lt;br /&gt;   private IDatabase database;&lt;br /&gt;   private ILog log;&lt;br /&gt;  &lt;br /&gt;   public ModelFactory() throws ClassNotFoundException, SQLException&lt;br /&gt;   {&lt;br /&gt;   }&lt;br /&gt;  &lt;br /&gt;   public setDatabase(IDatabase database)&lt;br /&gt;   {&lt;br /&gt;       this.database = database;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public IDatabase getDatabase()&lt;br /&gt;   {&lt;br /&gt;       return database;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Esta classe é bastante simples, e penso que dispensa comentários.&lt;br /&gt;&lt;br /&gt;Agora falta arranjar uma forma que permita ao nosso programa localizar a factory disponível, por forma a obter a ligação. Eu optei pelo padrão '&lt;a href="http://c2.com/cgi/wiki?ServiceLocator"&gt;Service Locator&lt;/a&gt;', mas existem outras técnicas válidas.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public final class Services {&lt;br /&gt;  &lt;br /&gt;   private static IModelFactory modelFactory;&lt;br /&gt;  &lt;br /&gt;   private Services() {&lt;br /&gt;   }&lt;br /&gt;  &lt;br /&gt;   public static IModelFactory geModelFactory()&lt;br /&gt;   {&lt;br /&gt;       return modelFactory;&lt;br /&gt;   }&lt;br /&gt;  &lt;br /&gt;   public static void setModelFactory(IModelFactory factory)&lt;br /&gt;   {&lt;br /&gt;       modelFactory = factory;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;No ponto de arranque do nosso programa procede-se à configuração da classe Services, para podermos disponibilizar as fábricas que serão utilizadas durante a execuçãp. Neste exemplo apenas temos uma 'Factory' mas é comum existir pelo menos uma por camada.&lt;br /&gt;&lt;br /&gt;Agora que temos o nosso ambiente de desenvolvimento completo, podemos começar a trabalhar uma classe que irá aceder aos dados. No entanto, à boa maneira ágil, iremos começar pelos testes :)&lt;br /&gt;O nosso objectivo é registar um cliente e a sua morada, estando estes dados em tabelas diferentes (o exemplo poderia ser melhor, mas estou com falta de imaginação). Por questões de simplicidade o cliente é apenas composto pelo seu nome, a morada pela localidade e não irei utilizar sequências nas tabelas (o nome é a chave).&lt;br /&gt;&lt;br /&gt;Nos testes iremos substituir a classe Database por uma outra cuja transacção não seja efectuada. Assim teremos uma classe de nome DatabaseTestInstance para ser utilizada exclusivamente nos testes.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;   &lt;br /&gt;public class DatabaseTestInstance extends Database implements IDatabase&lt;br /&gt;{&lt;br /&gt;   public Database(String databaseName, String username, String password)&lt;br /&gt;       throws ClassNotFoundException, SQLException&lt;br /&gt;   {&lt;br /&gt;       super(databaseName, username, password);&lt;br /&gt;       getConnection().setAutoCommit(false);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public void commitTransaction()&lt;br /&gt;       throws SQLException, TransactionNotStartedException&lt;br /&gt;   {&lt;br /&gt;       rollBackTransaction();&lt;br /&gt;   }&lt;br /&gt;  &lt;br /&gt;   public void rollBackTransaction()&lt;br /&gt;       throws SQLException, TransactionNotStartedException&lt;br /&gt;   {&lt;br /&gt;       super.rollbackTransaction();&lt;br /&gt;       getConnection().setAutoCommit(false);&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Como podemos observar, o contrutor desta classe desliga o modo 'auto-commit' e faz sempre 'rollback' quando uma transacção termina.&lt;br /&gt;&lt;br /&gt;Passando ao teste propriamente dito temos:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class ClientTest extends TestCase&lt;br /&gt;{&lt;br /&gt;   private IClientModel clientModel;&lt;br /&gt;&lt;br /&gt;   public TestBase(String name) throws ClassNotFoundException, SQLException&lt;br /&gt;   {&lt;br /&gt;       super(name);&lt;br /&gt;       IDatabaseFactory databaseFactory = new DatabaseFactory();&lt;br /&gt;       modelFactory.setDatabase(&lt;br /&gt;               new model.tests.unit.injections.Database&lt;br /&gt;                      ("database", "user", "pass"));&lt;br /&gt;       Services.setModelFactory(databaseFactory);&lt;br /&gt;   }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Aqui pode-se observar que estamos a substituir a classe que representa a ligação por uma classe de testes. A este conceito dá-se o nome de '&lt;a href="http://martinfowler.com/articles/injection.html"&gt;Dependency Injection&lt;/a&gt;'.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   public static junit.framework.Test suite()&lt;br /&gt;   {&lt;br /&gt;       junit.framework.TestSuite suite =&lt;br /&gt;             new junit.framework.TestSuite(MillionaireTest.class);&lt;br /&gt;       return suite;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   protected void setUp() throws java.lang.Exception {&lt;br /&gt;       super.setUp();&lt;br /&gt;       clientModel = new ClientModel();&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public void testInsertClient() throws SQLException {&lt;br /&gt;       clientModel.InsertClient("Maria", "Lisboa");&lt;br /&gt;&lt;br /&gt;       IDatabase database = Services.getDatabaseFactory().getDatabase();&lt;br /&gt;       Statement statement = database.getConnection().createStatement();&lt;br /&gt;       String query = "SELECT count(*) as count " +&lt;br /&gt;                      "FROM clients, local" +&lt;br /&gt;                      "WHERE name like 'Maria'";&lt;br /&gt;       statement.execute(query);&lt;br /&gt;       ResultSet result = statement.getResultSet();&lt;br /&gt;       result.next();&lt;br /&gt;&lt;br /&gt;       assertTrue("Client not inserted.", result.getInt("count") == 1);&lt;br /&gt;&lt;br /&gt;       result.close();&lt;br /&gt;   }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Este teste verifica a inserção de um novo cliente. O próximo testa se o número de clientes na tabela é o esperado.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public void testCountClients() throws SQLException {&lt;br /&gt;       assertIsTrue("Number of clients is not the expected",&lt;br /&gt;           clientModel.countClients() == 10);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Desde já pode-se verificar que se o isolamento entre os testes não se verificar, correr testInsertClient e depois testCountClients é diferente de correr testCountClients e depois testInsertClient.&lt;br /&gt;&lt;br /&gt;Agora que temos os testes, falta apenas programar a classe ClientModel:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public class ClientModel implements IClientModel&lt;br /&gt;{&lt;br /&gt;  &lt;br /&gt;   private final String GET_NUMBER_CLIENTS = "SELECT count(*) as count " +&lt;br /&gt;                                             "FROM clients";&lt;br /&gt;  &lt;br /&gt;   private final String INSERT_CLIENT = "INSERT INTO clients VALUES(?)";&lt;br /&gt;  &lt;br /&gt;   private final String INSERT_LOCAL = "INSERT INTO local VALUES(?, ?)";&lt;br /&gt;&lt;br /&gt;   public ClientModel()&lt;br /&gt;   {&lt;br /&gt;   }&lt;br /&gt;  &lt;br /&gt;   public int countClients() throws SQLException&lt;br /&gt;   {&lt;br /&gt;       IDatabase  database = Services.getDatabaseFactory().getDatabase();&lt;br /&gt;       Statement statement = database.getConnection().createStatement();&lt;br /&gt;&lt;br /&gt;       statement.execute(GET_NUMBER_CLIENTS);&lt;br /&gt;       ResultSet result = statement.getResultSet();&lt;br /&gt;       result.next();&lt;br /&gt;&lt;br /&gt;       int numberOfClients = result.getInt("count");&lt;br /&gt;       result.close();&lt;br /&gt;&lt;br /&gt;       return numberOfClients;&lt;br /&gt;   }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Note-se a subtileza da declaração da variável 'database'. O valor atribuído a esta variável é o que a fábrica retornar, e é isso que torna possível substituir a ligação à base de dados sem que o programa tenha conhecimento.&lt;br /&gt;&lt;br /&gt;Agora o método em falta:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   public void insertClient(String clientName, String local)&lt;br /&gt;       throws SQLException, InvalidValueException, ModelException&lt;br /&gt;    {&lt;br /&gt;       IDatabase  database = Services.getDatabaseFactory().getDatabase();&lt;br /&gt;       Statement statement = database.getConnection().createStatement();&lt;br /&gt;&lt;br /&gt;       try {&lt;br /&gt;           db.beginTransaction();&lt;br /&gt;           insertClient(clientName);&lt;br /&gt;           insertLocal(local, clientName);&lt;br /&gt;           db.commitTransaction();&lt;br /&gt;       }&lt;br /&gt;       catch (TransactionException e)&lt;br /&gt;       {&lt;br /&gt;           throw new ModelException(e);&lt;br /&gt;       }&lt;br /&gt;    }&lt;br /&gt;    ...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Deixo por implementar os métodos insertClient e insertLocal. De qualquer forma, é possível verificar que o comportamento de db.commitTransaction() é diferente caso se esteja em testes ou a executar o programa.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Resumo:&lt;br /&gt;Verificámos como é possível garantir o isolamento dos testes unitários no que diz respeito à utilização de um modelo de dados. Para isso tivemos que encapsular a ligação numa classe, utilizar uma fábrica e injectar as dependências através de um 'service locator'.&lt;br /&gt;Gostaria ainda de realçar que esta técnica funciona se o nosso programa não efectuar vários pedidos ao DBMS em simultâneo (i.e. não efectuar transacções concorrentes). Além disso, se acima da camada de acesso aos dados necessitar de iniciar transacções, esta técnica deve ser aplicada nessa camada também. Para evitar problemas futuros, é aconselhável começar transacções sempre na mesma camada.&lt;br /&gt;&lt;br /&gt;Um abraço,&lt;br /&gt; Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-111718939328836873?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/111718939328836873/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=111718939328836873' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111718939328836873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111718939328836873'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/05/os-testes-e-o-modelo-de-dados.html' title='Os testes e o modelo de dados.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-111694333868897683</id><published>2005-05-24T14:37:00.000+01:00</published><updated>2005-05-24T15:50:16.906+01:00</updated><title type='text'>Da Web para a Net.</title><content type='html'>Quem tem o vício de subscrever '&lt;a href="http://en.wikipedia.org/wiki/Rss"&gt;RSS&lt;/a&gt;' e está constantemente a trocar de 'PC' ou a formatar a sua máquina habitual, certamente deparou com o problema de colocar novamente a sua lista em funcionamento. A maior parte das aplicações podem exportar a lista para um determinado formato mas não deixa de ser um procedimento aborrecido, e corre-se sempre o risco de formatar a máquina antes de se lembrar que havia uma lista de 'RSS' para copiar. Já para não referir aqueles caso em que acontece uma catástrofe a ao PC, mas também quem é que não faz 'Backups'???&lt;br /&gt;&lt;br /&gt;Aconteceu-me que tinha uma lista considerável de 'Blogs' e afins no computador onde trabalhava até à um mês e meio, e esta lá ficou. Como tive que refazer a lista, decidi que desta vez iria utilizar uma página na Internet para o efeito. Antes de deitar mãos à obra, fiz uma pesquisa no '&lt;a href="http://google.com/"&gt;Google&lt;/a&gt;' para ver se alguém teve uma ideia semelhante à minha (acontece sempre). Depois deparei com o '&lt;a href="http://www.bloglines.com/"&gt;Bloglines&lt;/a&gt;'. Este serviço permite organizar uma lista de 'RSS', mas tem outras funcionalidades, das quais gostava de destacar duas delas.&lt;br /&gt;&lt;br /&gt;A primeira permite a visualização de uma lista de 'Blogs' com o mesmo contexto de um que se esteja a seguir. Já encontrei alguns 'sites' interessantes à custa desta funcionalidade.&lt;br /&gt;A outra funcionalidade que gostaria de destacar é a facilidade com que partilhamos a nossa lista de 'RSS', &lt;a href="http://bloglines.com/public/gamafranco"&gt;ora vejam&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Adicionalmente existem também uma variedade de 'plugins' que permitem receber notificações quando um novo artigo é colocado num 'site' da nossa lista. Cheguei mesmo a instalar um para o '&lt;a href="http://www.firefox.com/"&gt;Firefox&lt;/a&gt;', mas este não funcionou como eu esperava...&lt;br /&gt;&lt;br /&gt;Agora só estou à espera de um pouco de paciência para tentar aplicar esta técnica à minha lista de favoritos. Sempre me agradou a ideia de ter os recursos disponíveis na internet em vez de na própria máquina. Páginas como o 'Bloglines' são sempre de grande utilidade.&lt;br /&gt;&lt;br /&gt;Um abraço,&lt;br /&gt;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-111694333868897683?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/111694333868897683/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=111694333868897683' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111694333868897683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111694333868897683'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/05/da-web-para-net.html' title='Da Web para a Net.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-111659649302967203</id><published>2005-05-20T14:01:00.000+01:00</published><updated>2005-05-27T17:41:47.563+01:00</updated><title type='text'>O custo de uma boa variável.</title><content type='html'>Desde os primeiros anos de faculdade que participei em várias discussões sobre qual o nome a dar a uma determinada variável. Na realidade, os meus primeiros programas tinham sempre algo do tipo:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;char *cstmr;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Que com muita imaginação se pode perceber que nesta variável iria guardar o nome de um cliente. É claro que conforme ia introduzindo 'bugs' nos meus programas passava a dar mais valor ao nome das variáveis, mas depois surgia a dúvida sobre o tipo de notação a utilizar:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;char *costumer_name;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;ou&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;char *costumerName;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;ou ainda&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;char *CostumerName;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Na realidade estas acabavam por ser discussões inúteis, que nada contribuíam para a celeridade do trabalho. Muitas vezes a filosofia da tecnologia com que se está a desenvolver já tem algo a dizer sobre a notação que utilizar, mas quando isso não acontece acho que a única coisa importante é que todos os elementos do projecto sigam a mesma regra.&lt;br /&gt;&lt;br /&gt;Mas apesar disto houve algo que me passou despercebido até ler &lt;a href="http://www.joelonsoftware.com/articles/Wrong.html"&gt;este artigo&lt;/a&gt;, da autoria de &lt;a href="http://joel.spolsky.com/"&gt;Joel Spolsky&lt;/a&gt;. Nele é sugerida uma notação que facilita a detecção de erros, e creio que todos sabemos a dor de cabeça que é detectar e corrigir bugs. Apesar de ser uma sugestão simples, a sua subtileza surpreendeu-me. Acho que vale a pena perder dez minutos e evitar alguns dissabores.&lt;br /&gt;&lt;br /&gt;Aposto que após lerem o artigo ficarão a pensar no custo efectivo de uma má escolha no nome das variáveis, pelo menos foi o que aconteceu comigo.&lt;br /&gt;&lt;br /&gt;Um abraço,&lt;br /&gt;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-111659649302967203?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/111659649302967203/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=111659649302967203' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111659649302967203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111659649302967203'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/05/o-custo-de-uma-boa-varivel.html' title='O custo de uma boa variável.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13002663.post-111652242376885896</id><published>2005-05-19T17:33:00.000+01:00</published><updated>2005-05-22T19:52:52.266+01:00</updated><title type='text'>O primeiro e provavelmente o pior.</title><content type='html'>Como é fácil de verificar este é a primeira entrada no recém-criado "A vida não é um padrão". Sendo novo nestas lides, espero que este seja de todos o meu pior 'post'.&lt;br /&gt;&lt;br /&gt;Em primeiro lugar gostaria de registar a razão deste Blog (sei que não será fácil identificar a piadola do nome). "A vida não é um padrão" serve para registar e divulgar algumas leituras importantes que vou encontrando pela 'net', focando-me principalmente nas novas tecnologias e mais precisamente na Engenharia de Software. É possível que numa ou outra altura venha a fugir deste tema, mas espero que seja raro.&lt;br /&gt;&lt;br /&gt;Como costuma dizer um amigo meu, "esta coisa de ser Engenheiro Informático é pior do que ser médico". É claro que se refere meramente ao esforço que temos que fazer para nos mantermos actualizados, tendo em conta a velocidade vertiginosa a que esta área evolui. Este facto é mais verdadeiro se notarmos a existência de alguns masoquistas que (tal como eu) se recusam a focar os seus conhecimentos apenas numa tecnologia.&lt;br /&gt;&lt;br /&gt;Logo aqui podemos notar dois tipos de abordagem a exercer Engenharia Informática, uma que se foca numa tecnologia e provavelmente fica-se a ganhar um ordenado chorudo antes de se ter filhos, a outra tenta-se saber um pouco de tudo e a probabilidade baixa radicalmente. Esta é a percepção que tenho, e tem muito a ver com a natureza do mercado Português. Mas sobre este tema espero falar mais tarde.&lt;br /&gt;&lt;br /&gt;De qualquer forma, pretendo durante os próximos tempos colocar neste local referências aos artigos que acho mais pertinentes, e talvez mais tarde publicar alguns da minha autoria (serão os menos lidos). Isto porque quem perde algum tempo a investigar novas metodologias e tecnologias acaba sempre por apanhar muito lixo pelo meio, porque a boa informação, aquela que marca a diferença, é difícil de encontrar.&lt;br /&gt;&lt;br /&gt;Um abraço,&lt;br /&gt;Gama Franco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13002663-111652242376885896?l=gamafranco.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamafranco.blogspot.com/feeds/111652242376885896/comments/default' title='Enviar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13002663&amp;postID=111652242376885896' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111652242376885896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13002663/posts/default/111652242376885896'/><link rel='alternate' type='text/html' href='http://gamafranco.blogspot.com/2005/05/o-primeiro-e-provavelmente-o-pior.html' title='O primeiro e provavelmente o pior.'/><author><name>Tiago Franco</name><uri>http://www.blogger.com/profile/18164727294511051554</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_5--UPLxQLlE/SYMxnB_-x-I/AAAAAAAAABY/2Hgehc_HByc/s1600-R/avatar.php%3Fgravatar_id%3D0d9848a6226f44926ec748e5bb581c84'/></author><thr:total>0</thr:total></entry></feed>
