tag:blogger.com,1999:blog-69406222024-03-21T10:02:31.938-03:00A Maldita ComédiaTranqueiras e AgilidadeVictor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.comBlogger215125tag:blogger.com,1999:blog-6940622.post-6949543086039519232010-09-28T11:36:00.003-03:002010-09-28T11:44:31.151-03:00Minicurso Groovy & GrailsOlá!<br />Bem, ontem estive na <a href="http://www.globalcode.com.br">Globalcode</a> para ministrar um curso rápido de <a href="http://groovy.codehaus.org/">Groovy</a> e <a href="http://grails.org">Grails</a>. A intenção foi apresentar os principais conceitos e alguns benefícios de se utilizar essas tecnologias para sua próxima aplicação que rodará na JVM. A interoperabilidade entre Java -> Groovy lhe permite usar as APIs que você já conhece, sem ter que se preocupar em migrar tudo.<br /><br />O feedback foi super bacana! Pena que o tempo não foi suficiente para mostrar tudo!<br /><br />Descrição do Minicurso:<br /><blockquote><br /><p>O fato de existirem inúmeras linguagens que rodam na JVM já não é novidade nenhuma, principalmente com o sucesso de Scala e JRuby. Seguindo a linha das principais linguagens do mercado, Groovy apresenta-se como uma ótima alternativa para aqueles que querem tentar uma nova linguagem, mas ainda gostam na sintaxe Java. Ganhando popularidade nos últimos tempos, Groovy é uma linguagem dinâmica inspirada em Python, Ruby e Smalltalk que pode ampliar e muito a produtivade em seu dia-a-dia.<br /><p>Quanto tempo você leva para fazer um site utilizando as principais ferramentas Java? Pois em Grails isso pode ser ainda mais rápido! Inspirado no framework Ruby on Rails, Grails tem ganhado popularidade entre as opções para desenvolvimento web devido ao seu alto grau de integração com a plataforma Java, e adicionando a isso conceitos como interceptors, tag libs, Groovy Servers Pages (GSP), além de uma grande variedade de plugins para facilitar ainda mais o desenvolvimento web.<br /></blockquote><br /><br /><center><br /><div style="width:425px" id="__ss_5296888"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/victorhg/minicurso-groovy-grails" title="Minicurso groovy grails">Minicurso groovy grails</a></strong><object id="__sse5296888" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=minicursogroovygrails-100927085825-phpapp01&stripped_title=minicurso-groovy-grails&userName=victorhg" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5296888" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=minicursogroovygrails-100927085825-phpapp01&stripped_title=minicurso-groovy-grails&userName=victorhg" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/victorhg">Victor Hugo Germano</a>.</div></div><br /></center><div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com1tag:blogger.com,1999:blog-6940622.post-37747669188121785792010-07-18T08:16:00.005-03:002010-07-18T08:30:53.014-03:00Palestra Pycon Ireland 2010: Having fun with XMPP/jabber botsSaudações!<br /><br />Bem, ontem foi a minha apresentacao sobre xmpp e jabber no evento <a href="http://www.python.ie/pyconireland/">Pycon Ireland 2010</a>.<br />Super bacana, varias pessoas na sala... e o feedback foi bom! Inclusive no segundo dia, Sprint day- alguns até estiveram testando o <a href="http://github.com/victorhg/botnet/blob/master/botnet/gtalkbot.py">GTalkBot</a><br /><br />Ainda essa semana integro o audio, mas ai estão os slides:<br /><center><br /><div style="width:425px" id="__ss_4780868"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/victorhg/having-fun-with-jabber-bots" title="Having fun with jabber bots">Having fun with jabber bots</a></strong><object id="__sse4780868" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=havingfunwithjabberbots-100718051225-phpapp01&stripped_title=having-fun-with-jabber-bots" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4780868" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=havingfunwithjabberbots-100718051225-phpapp01&stripped_title=having-fun-with-jabber-bots" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/victorhg">Victor Hugo GErmano</a>.</div></div></center><br /><br /><br />that's all...<div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com0tag:blogger.com,1999:blog-6940622.post-76207053236305194502010-07-06T15:45:00.008-03:002010-07-06T16:21:46.258-03:00GTalkBot - Jabber bot para GTalk networkBem, no <a href="http://malditacomedia.blogspot.com/2010/06/seu-primeiro-jabber-bot-em-python.html">último post</a> eu expliquei os conceitos mais básico para entender esse negócio de XMPP, xmppPy e jabber... pra facilitar a vida, eu criei uma API: GTalkBot, q esta disponivel no projeto botnet na minha conta do github:<br /><br /><blockquote><a href="http://github.com/victorhg/botnet">http://github.com/victorhg/botnet</a></blockquote> <br /><br />Faça o download do arquivo em: <br /><blockquote><a href="http://github.com/victorhg/botnet/blob/master/botnet/gtalkbot.py">gtalkbot.py@github</a></blockquote><br /><h3>Como Utilizar</h3><br />Usando python, basta vc extender a classe definir os methodos que serah expostos como comandos utilizando a notacao <i>@botcommand</i>. Segue um exemplo:<br /><blockquote><br /><pre><br />from gtalkbot import GTalkBot, botcommand<br /><br />class MyBot(GTalkBot): <br /> <br /> def __init__(self):<br /> user = 'USER_ID@gmail.com'<br /> pwd = 'passwd'<br /> super(MyBot,self).__init__(user,pwd)<br /> <br /> @botcommand<br /> def hello(self, mess, args):<br /> return "Hi! how can I help you?"<br /><br /></pre> <br /></blockquote><br />Para iniciar o bot basta executar o metodo <i>run_server()</i><br /><blockquote><br /><pre><br />MyFirstGtalkBot().run_server()<br /></pre><br /></blockquote><br /><br />Pronto! Agora, basta acessar seu bot pelo gtalk,pidgin, miranda e comecar a testar!<br /><br /><br />bom proveito!<br /><br />O projeto está disponibilizado seguindo a <a href="http://en.wikipedia.org/wiki/WTFPL">WTF Public License</a>... acho que entao vc ja sabe sobre o q pode fazer com o projeto...<div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com0tag:blogger.com,1999:blog-6940622.post-87858968550650591502010-06-12T12:04:00.004-03:002010-06-12T17:02:24.455-03:00Seu primeiro Jabber Bot em pythonSaudações!<br /><br />Então vamos lá, falar um pouco sobre o modelo Jabber, Xmpp e python. Resolvi escrever este tutorial, que tera 3 partes, para registrar meus estudos, e tb pq os exemplos que achei tentam sempre esconder a parte principal de criar um bot: handlers e acesso ao xmpp<br /><br /><h2>Super rápida introdução a XMPP</h2><br /><p><i><br />Segundo os autores do protocolo, o <a href="http://xmpp.org/">XMPP</a> é uma tecnologia aberta para comunicação em tempo real que permite a criação de vários tipos de aplicações, tais como instanting messaging, presença, chats multi-usuários, chamadas de voz e vídeo, colaboração, middleware, content syndication e qualquer transmissão de dados via <a href="http://en.wikipedia.org/wiki/XML">XML</a>. <img src="http://xmpp.org/images/xmpp.png" style="float:right" /> Talvez a definição mais curta possível seja: é um protocolo para a criação de middlewares orientado a mensagens. E canais de troca de mensagens existem em qualquer sistema distribuído, e acredite, XMPP pode ser usado em cada um deles, desde que, é claro, isso traga benefícios ao sistema ou ao desenvovimento<br /></i></p><br /><br />Para aprofundar um pouco mais o seu conhecimento, o <a href="http://twitter.com/lfcipriani" alt="lccipriani">Luis Cipriani (lccipriani)</a>, da Abril, escreveu uma introdução super bacana sobre o protocolo: <a href="http://blog.talleye.com/2010/02/02/breve-introducao-ao-xmpp" alt="Breve Introducao ao XMPP">Breve Introducao ao XMPP</a> (vale a leitura, e da onde eu extrai o texto acima)<br /><br />Para este primeiro exemplo, você nao precisa nem saber muito sobre o protocolo em si, já que as bibliotecas deixam tudo bastante transparente.<br /><br /><h2>Jabber who?</h2><br /><br /><a href="http://www.jabber.org/">Jabber</a> é o nome de um dos mais famosos serviços de Mensagens instantâneas que existe. A coisa é tão grande, que "jabber" é praticamente um sinomimo de qualquer servico rodando em cima de XMPP (Google Talk, Live Journal Talk, Nimbuzz, Ovi são outros nodos famosos da rede).<br /><br /><h2>O primeiro Bot</h2><br /><br />Bem, usando python, a coisa é super tranquila. Você vai precisar instalar uma implementação qqer do protocolo. Vamos usar o <a href="http://xmpppy.sourceforge.net/">XMPPPy</a>, cujo foco é ser uma fonte simples de criar scripts em cima do protocolo xmpp. O site oficial possui varios exemplos de bots e scripts para interagir com um serviço xmpp.<br /><blockquote><br /><pre><br />$> easy_install xmpp<br /></pre><br />Info sobre setuptools: <a href="http://pypi.python.org/pypi/setuptools">python.org</a><br /></blockquote><br /><br />Vou usar utilizar o GTalk como servidor XMPP, pra facilitar a vida.<br /><br /><pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"><code><br />import xmpp<br /><br />jid = xmpp.protocol.JID('LOGIN_DO_BOT@gmail.com')<br />pwd = 'senha'<br />server = "talk.google.com" <br />port = 5222<br /> <br />conn = xmpp.Client(jid.getDomain(),debug=[]) <br /><br />conn.connect([server, port])<br /><br />conn.auth(jid.getNode(), pwd)<br /><br />conn.send(xmpp.protocol.Message("SEU_EMAIL@gmail.com", "hello world"))<br /><br />conn.disconnect()<br /></code><br /></pre><br /><br />Importante saber que você vai precisar estar com o usuario BOT adicionado em sua lista de contatos (nos proximos posts vou mostrar como trabalhar com autorizacao de chat entre usuários).<br /><br />As primeiras linhas do código sao apenas configuracoes basicas: servidor, porta, criacao de um objeto JID utilizando o email e senha para se autenticar no serviço.<br /><br />Logo após, basta se conectar ao servidor, criando uma instancia de xmpp.Client e passando o token de authenticacao. Para criar uma mensagem, basta instanciar a classe <code>xmpp.protocol.Message</code> com os parametros <code>destino</code> e <code>mensagem</code><br /><br />Executando o codigo acima, vc deve recebeu uma mensagem "Hello World" no seu gtalk!<br /><br />Yay... legal, mas ainda nao é um bot, já que o código nao interage com o usuário. Para que isso aconteça, vamos adicionar um pouco de amor no código acima. Para tal, precisamos:<br /><ul><br /><li>Após conectar, avisar as pessoas na lista de contatos do bot de que ele está online</li><br /><li>Definir um metodo de callback para quando as messagens chegarem</li><br /><li>Manter o processo rodando aguardando mensagens</li><br /></ul><br /><br />E aqui está o resultado final:<br /><br /><pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"><code><br />import xmpp<br /><br />jid = xmpp.protocol.JID('pycon.bot@gmail.com')<br />pwd = 'pycon123'<br />server = "talk.google.com" <br />port = 5222<br /> <br />conn = xmpp.Client(jid.getDomain(),debug=[]) <br />conn.connect([server, port])<br />conn.auth(jid.getNode(), pwd)<br /><br /><br /><br />#avisando contatos de disponibilidade<br />conn.sendInitPresence()<br /><br /><br />def callback_message(conn, mess):<br /> message_body = mess.getBody()<br /> if not message_body:<br /> return<br /> reply_message = "You typed: "+message_body<br /> conn.send(xmpp.protocol.Message(mess.getFrom(), reply_message))<br /><br />conn.RegisterHandler( 'message', callback_message)<br /><br />#main loop<br />def idle_proc( ):<br /> """This function will be called in the main loop."""<br /> pass<br /><br />while True:<br /> try:<br /> conn.Process(1)<br /> idle_proc()<br /> except KeyboardInterrupt:<br /> print 'bot stopped by user request. shutting down.'<br /> conn.disconnect()<br /> break<br /> except xmpp.protocol.InternalServerError:<br /> print "Server error at Google, trying again"<br /><br /></code><br /></pre><br /><br /><br />Bem, ai esta. O código acima vai receber uma mensagem pelo gtalk e retornar a mesma mensagem para o usuário. <br /><br />Espero que seja útil.<br /><br />Os códigos deste post estao em: <a href="http://github.com/victorhg/botnet/tree/master/botnet/blog">http://github.com/victorhg/botnet/tree/master/botnet/blog</a><br /><br /><br />cheers... <br />agora é hora de Guinness aqui na irlanda... fui!<div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com0tag:blogger.com,1999:blog-6940622.post-58049917093510752772010-05-23T00:47:00.003-03:002010-05-23T00:55:45.661-03:00Submissao para PyConf IrelandSaudações!!<br /><br />Segue abaixo a descrição da palestra que enviei esta semana para a <a href="http://www.python.ie/pyconireland/">PyCon Ireland</a>.<br /><br />Mesmo que nao seja aceita (fingers crossed), vou tentar escrever por aki o que tenho feito com bots,<br /><br /><blockquote><verbatim><br />Title: Having fun with Xmpp Bots<br /><br />Type: Tutorial / Presentation<br /><br />Abstract:<br /> "The Extensible Messaging and Presence Protocol (XMPP), is a set of<br />xml technologies for presence and real-time created by the Jabber<br />community in 1999" (from <a href="http://xmpp.org/">http://xmpp.org/</a>)<br /> Imagine the possibility of creating a real time channel, capable of<br />notifying and interact, using a simple instant messaging application.<br />Integrating such tool on your application could bring real value to<br />you and customers.<br /> The main focus of this presentation is to show an easy way to create<br />and use computer bots through the python language, suggesting useful<br />applications, and bring together some advanced considerations about<br />security and natural language processing.<br /><br /> Learn how to create a bot using jabberBot (5minutes tutorial):<br /> - basics<br /> - testing<br /> - live example<br /><br /> How to make it useful?<br /> - Real time notification system<br /> - Integration with Yahoo, Exchange APIs<br /> - System administration<br /><br /> Getting serious<br /> - Alternative libraries<br /> - Language Processing<br /><br />Topics:<br /> * JabberBot, Google App Engine, Xmppy, Twisted<br /> * XMPP<br /> * System Admin<br /><br />Suggested length:<br /> 30 minutes<br /><br />Level:<br /> Beginner<br /></verbatim><br /></blockquote><br /><br />Como acompanhar?<br /><br />Já iniciei o projeto no Github (<a href="http://github.com/victorhg/botnet">http://github.com/victorhg/botnet</a>), e a intenção é seguir evoluindo o botnet até a apresentação,junto com outros exemplos usando google app engine e twisted...<br /><br />stay tuned...<div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com1tag:blogger.com,1999:blog-6940622.post-18410368173749840012010-03-09T17:18:00.003-03:002010-03-09T18:09:37.884-03:00Ricardo Semler - Precisamos de Gerentes?Vou levantar a lebre aqui :<br /><br />Já ouvi várias pessoas comentando contra o auto-gerenciamento. Até mesmo durante uma palestra no Scrum Gathering Brasil falando sobre como o PMI está próximo do Scrum, <a href="http://www.ricardo-vargas.com/">Ricardo Vargas</a> ficou de calças curtas após uma pergunta simples do <a href="http://www.teamware.com.br">Bernabó</a>:<i> estaria o PMI preparado para um mundo sem gerentes?</i> Foi muito interessante ver o palestrante se contradizer completamente ao afirmar que <a href="http://blog.teamware.com.br/2009/05/pmi-e-scrum-gap-de-paradigmas.html">não acreditava em auto gerenciamento</a>, deixando claro que as pessoas precisam ser "observadas", "cobradas" e vigiadas... vai entender neh.<br /><br />Você já ouviu falar no outro Ricardo, o <a href="http://en.wikipedia.org/wiki/Ricardo_Semler">Semler</a>? Pois deveria! Impressionante como o cara é conhecido fora do Brasil! Bem, pra encurtar a história, ele "gerencia" <a href="http://www.semco.com.br/pt/default.asp">uma empresa</a> com projetos que chegam a 3 bilhões de dólares. Coloquei entre aspas o termo <i>gerencia</i> pois inclusive no video abaixo ele comenta que não toma decisões na própria empresa, pois quase tudo é decidido pelas equipes (que são auto gerenciadas e formadas de forma ad hoc)... difícil de acreditar? Vou colocar a tradução de alguns trechos do video:<br /><br /><blockquote>Nós mandamos nossos filhos para qualquer lugar do mundo para morrer pela Democracia... Mas eu nunca vi um ambiente de trabalho democrático. Estão ela é muito importante para nossa vida, menos para o lugar em que passamos 60% de nosso tempo. Deve haver algo de errado nisso tudo.</blockquote><br />Como é verdadeira essa afirmaçao! É como se toda a nossa evolução como seres humanos(e por que não, sociedades), fosse jogada fora todas as vezes que batemos ponto...<br /><blockquote><br />Todas as nossas reuniões são volutárias. Por que se começar a ficar chato, vá embora... Se não sobrar ninguém, será mesmo que precisamos dela?<br /></blockquote><br />Seria esta uma solução à desculpa de vários gerentes? "Não consigo mais trabalhar, passo o dia em reuniões!"... pense nisso!<br /><blockquote><br />O processo típico para contratações e seleções em empresas é basicamente um processo de paquera na internet. Você diz que sua empresa é o Brad Pitt e ela diz que é a Angelina Jolie. Vocês se encontram em um bar... ficam juntos em dois rápidos encontram e decidem se casar esperando que dê certo...<br /><br />[Ao invés disso], nós pegamos os candidatos qualificados, que se encaixam na vaga, e pedimos a eles a virem juntos. Então encontramos qualquer um que queira estar envolvido entrevistando estas pessoas. Isto pode levar horas. Então os entrevistadores anotam as duas pessoas que eles gostariam que ficassem. Os dois que pontuarem melhor voltam para passar um dia inteiro por aqui e conversar com qualquer um que queiram... O resultado é um turnover de menos de 2% ao ano.<br /></blockquote><br />Fico feliz em saber que várias empresas legais no Brasil já fazem isso! Claro que turnover não é a principal preocupação de várias empresas (afinal, pessoas são substituíveis, não é mesmo?!)... mas lembre-se você também de que <b>Empresas também são substituíveis!</b> Ainda mais na área de software...<br /><br />Sem mais enrolações... ai vai o video (sim, ja deve ser conhecido de várias pessoas!):<br /><center><br /><br /><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="481" height="361" id="Main" align="middle"><param name="allowScriptAccess" value="always" /><param name="movie" value="http://mitworld.mit.edu/flash/player/Main.swf?host=cp58255.edgefcs.net&flv=mitw-00324-leadership-semler-omission-22sep2005&preview=http://mitworld.mit.edu//uploads/mitwstill-00324-leadership-semler-omission-22sep2005.jpg" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><embed src="http://mitworld.mit.edu/flash/player/Main.swf?host=cp58255.edgefcs.net&flv=mitw-00324-leadership-semler-omission-22sep2005&preview=http://mitworld.mit.edu//uploads/mitwstill-00324-leadership-semler-omission-22sep2005.jpg" quality="high" bgcolor="#000000" width="481" height="361" name="Main" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" ></embed></object><br />Fonte: <a href="http://mitworld.mit.edu/video/308">MIT World</a><br /></center><div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com3tag:blogger.com,1999:blog-6940622.post-3788839695808214782010-03-08T14:22:00.003-03:002010-03-08T15:48:45.435-03:00Anti patterns para Gerentes<img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 250px;" src="http://amelitraining.com/wp-content/uploads/2009/06/sgt_yelling_at_cadet.jpg" border="0" alt="anti pattern gerencimanto" /><br />Tenho lido vários posts sobre as "boas práticas" para gerentes de software (O <a href="http://twitter.com/akitaonrails">@akitaonrails</a> vive escrevendo sobre isso [<a href="http://akitaonrails.com/2009/07/11/off-topic-livros-de-refer-ncia-2008-2009">1</a>, <a href="http://akitaonrails.com/2010/01/06/off-topic-literatura-para-gerentes-ageis">2</a>], já li <a href="http://www.amazon.com/Leading-Geeks-Manage-Deliver-Technology/dp/0787961485">um livro</a> inteiro a respeito e até mesmo <a href="http://www.csb.gov.hk/hkgcsb/hrm/e-bookmark/e-index.htm">na China se fala disso</a>!).<br /><br /> Mas antes de falar sobre boas práticas, gostaria de ressaltar alguns anti padrões que podemos observar (alguns já vivenciei... outros tenho a sorte de não ter visto ainda):<br /><h3>O Gerente desmotivador</h3><br />Conhece profundamente a arte de desconsiderar qualquer idéia que seja diferente de sua própria percepção do mundo. Pronto para contradizer qualquer sugestão, assumindo normalmente o papel de "Desculpator Master" (sempre existe algum problema para ser resolvido em que a sugestão não se aplica). Normalmente este anti padrão vem acompanhado de outros, principalmente o "Muita boca e pouco ouvido". As implicações de tal comportamento estão intimamente ligadas ao descaso dos funcionários e à falta de credibilidade dos gerente junto ao grupo.<br /><h3>O Gerente muita boca e pouco ouvido</h3><br />Muito influenciado pelo background do gerente que, inconscientemente ou não, acredita que já sabe todas as soluções para os problemas da empresa, e por isso deve estar numa posição superior aos demais. O comportamento padrão é: falar muito, normalmente repetindo-se a todo instante, como se estivesse falando para si mesmo um discurso, justificando o próprio raciocínio, distante dos demais. Dificilmente aborda funcionários para um conversa franca, pedindo opinião e sugestões sobre problemas. Os funcionários tendem a evitar a conversa, já que não existe nenhuma abertura para expor idéias e opiniões.<br /><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 230px" src="http://tvmedia.ign.com/tv/image/article/875/875920/reaper-devil-puppeteer_1211491745.jpg" border="0" alt="gerente alpinista control freak" /><br /><h3>O Gerente Alpinista</h3><br />A escória dos gerentes, alcançando a glória através do resultado dos outros e assumindo todos os louros para sí em detrimento daqueles que realmente apresentam resultados. O gerente possui uma eloquência envolvente e por vários momentos lhe fará duvidar de que esteja agindo de má fé. Atua intimamente ligado às esferas superiores de gerência, apresentando idéias roubadas de terceiros e atribuindo a si mesmo a "capacidade" e "liderança" para alcançar resultados. Tem vida curta nesta posição pois facilmente arrumará inimigos, e é por isso que está sempre disposto a novos desafios, novos projetos. É comum também que este gerente não assuma responsabilidade quando erros ocorrem.<br /><h3>O Gerente Control Freak</h3><br />Este é um padrão de trabalho para profissionais que não confiam nas pessoas com quem trabalhar para realizar uma tarefa. Estão sempre à frente de todas as decisões, inclusive as mais simples, pois acreditam que os demais não são capazes de fazer nada sem que estejam supervisionados. O comportamento padrão é o autoritarismo. Funcionários podem descrever sentimentos de repulsa ou indiferença e já que não lhes é dado poder de decisão,, erros são comuns devido à falta de zelo pelas próprias atividades.<br /><h3>O Gerente detalhista</h3><br />Gerentes nesta categoria pensam que todos os detalhes dos resultados apresentados por seus subordinados devem ser escrutinados e dissecados dos pés à cabeça. Sentindo que sua autoridade será menosprezada se as pessoas não apresentarem todos os problemas nos mínimos detalhes (até as coisas mais estúpidas). Entre os comportamentos comuns existe sempre um "checklist sobre como resolver o problema" seguido de pouca preocupação com os resultados.<br /><br /><br />Sugestões sobre mais anti padrões?<div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com0tag:blogger.com,1999:blog-6940622.post-89525171001652579732010-03-07T14:02:00.005-03:002010-03-07T14:15:19.171-03:00Você tem orgulho do seu Código?No mesmo clima do <a href="http://malditacomedia.blogspot.com/2010/03/de-volta-ao-trabalho.html">último post</a>, me esqueci de disponibilizar os slides da minha última palestra no Brasil, feita em Floripa no evento <a href="http://sites.google.com/site/caravanagujavasc09/">Carvana GuJavaSC 09</a>. Que foi super divertido, com uma demonstração do uso de asterisk+java pelo <a href="http://twitter.com/rlimonta">Ricardo Limonta</a>.<br /><br />Alguns disseram que este foi um momento completamente pessoal meu (epifânico, catárzico, auto revelador), com a minha visão sobre trabalho, orgulho e melhoria contínua. Mas a intenção principal estava em descrever literalmente o significado de ter (ou não) orgulho do próprio código, e como utilizar a busca pelo aperfeiçoamento profissional para mudar o próprio indivíduo.<br /><br />Gostaria de apresentar novamente estes slides (talvez um screencast...)<br /><br /><center><br /><div style="width:425px" id="__ss_2657181"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/victorhg/voce-tem-orgulho-do-seu-codigo" title="Voce Tem Orgulho Do Seu Codigo">Voce Tem Orgulho Do Seu Codigo</a></strong><object width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=vocetemorgulhodoseucodigo-091205180029-phpapp02&stripped_title=voce-tem-orgulho-do-seu-codigo" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=vocetemorgulhodoseucodigo-091205180029-phpapp02&stripped_title=voce-tem-orgulho-do-seu-codigo" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/victorhg">Victor Hugo Germano</a>.</div></div><br /></center><div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com1tag:blogger.com,1999:blog-6940622.post-36327723269320075332010-03-07T12:19:00.004-03:002010-03-07T13:09:28.565-03:00De volta ao Trabalho!<img src="http://blog.elfster.com/wp-content/uploads/2009/10/leprechaun-copy-650x417.jpg" width="200" style="float:right; margin-left:10px"/><br />Salve!<br /><br />Vários meses desde o meu <a href="http://malditacomedia.blogspot.com/2009/06/uncle-bob-e-o-dilema-do.html">último post</a>, resolvi voltar a escrever neste blog (incentivado pelo <a href="http://ismaels.net/">Ismael</a>)... Para aqueles que não sabem, já não moro mais em Florianópolis (local onde estive nos últimos 10 anos trabalhando, bebendo e escrevendo).<br /><br />Desde Fevereiro estou morando na <b>Irlanda</b>, terra dos <a href="http://en.wikipedia.org/wiki/Leprechaun">Leprechauns</a>, <a href="http://en.wikipedia.org/wiki/Irish_whiskey">pure pot still whiskey</a> e da cerveja <a href="http://en.wikipedia.org/wiki/Guinness">Guinness</a> - que por aqui é deliciosa, e não tem gosto de café requentado como no Brasil. So far, so good - a cidade de Dublin (minha atual moradia) é super ativa e a cerveja é sempre boa! No momento estou buscando oportunidades de trabalho (e com boas perspectivas).<br /><br /><img src="http://cache.daylife.com/imageserve/02v09zA38zbv3/340x.jpg" style="float:left;margin-right:10px" width="200"/><br />Minha principal motivação motiva de me mudar para Dublin foi a oportunidade de ter uma experiência fora do Brasil trabalhando como desenvolvedor de software (já que estava completamente frustrado com minhas experiências de trabalho no sul do Brasil). Como não sou uma pessoa de desistir facilmente das próprias crenças e valores, deixei meu antigo trabalho na <a href="http://www.audaces.com">Audaces</a> e vim para Dublin fazer uma especialização em Gestão e Marketing na <a href="http://www.abbeycollege.ie">Abbey College</a> <br /><br />E aqui estamos! Pretendo escrever um pouco mais sobre o que venho estudando nos últimos tempos: <br /><br /><center><b>Precisamos, ou não, de gerenciamento? Estamos prontos para o auto gerenciamento?</b></center><br />Começando com a descrição das raízes do gerenciamento, até modelos mais maduros de gestão (que o <a href="http://twitter.com/alegomes">@alegomes</a> consagrou chamando de <a href="http://blog.seatecnologia.com.br/2009/01/12/manifesto-2-0">Manifesto 2.0</a>). Para os que me conhecem do movimento Ágil brasileiro, não se assustem... Agile é apenas o começo.<br /><br />Espero que gostem...<div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com4tag:blogger.com,1999:blog-6940622.post-58204531144376238972009-06-07T12:52:00.003-03:002009-06-07T12:53:47.587-03:00Uncle Bob e o dilema do profissionalismoAcredito que seja um video não apenas para a comunidade Ruby / Rails, mas para a comunidade mundial de desenvolvimento de software...<br /><br /><center><embed src="http://blip.tv/play/AYGAlmaGvAQ" type="application/x-shockwave-flash" width="640" height="390" allowscriptaccess="always" allowfullscreen="true"></embed> <br /></center><div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com2tag:blogger.com,1999:blog-6940622.post-10332583281874036792009-05-15T12:27:00.004-03:002009-05-19T21:49:56.960-03:00Scrum Gathering Brazil: ImpressõesScrum Gathering Brazil: Impressões<br /><br />Saudações!!<br /><b>Antes de continuar com este post, um esclarescimento:</b> Como sou um dos editores da <a href="http://www.infoq.com/br">InfoQ Brasil</a>, não publicarei informações sobre as palestras neste blog, já que MUITA informação será disponibilizada no <a href="http://www.infoq.com/br">http://www.infoq.com/br</a> no decorrer dos próximos dias. Fique no aguardo!<br /><br />Agora voltando às impressões pessoais do evento:<br /><br />Cara, Scrum Gathering talvez esta tenha sido a principal oportunidade de encontrar a maioria dos caras que formam a comunidade Ágil brasileira! E todos num único lugar!<br />Durante os dois dias de evento, nos revezamos discutindo, criticando e trocando informações importantíssimas sobre Agilidade e o impacto disso no mundo dos negócios. O perfil do evento possibilitou imensamente o contato, tendo sido realizado no Hyatt Hotel, em são paulo.<br /><br />Gostei muito do que vi, apesar de alguns absurdos (como apresentado já pelo <a href="http://blog.aspercom.com.br/2009/05/14/scrum-gathering-brazil-09/">Rodrigo Yoshima</a>), mas saí com a impressão que precisamos nos focar em discussões mais profundas sobre práticas e incluir, que sabe, mais práticas ágeis no evento.<br /><br />Fotos do evento por Manoel Pimentel: <a href="http://www.manoelpimentel.com/galerias/fotos_eventos/galeria/72157618069767482">Scrum Gathering Brazil</a><br /><br /><br />E pra aproveitar esse povo todo em são paulo, fomos tomar cerveja!!<br /><br /><br /><center><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCdmPwmtugPVq8fBkVVPHfKdvrWkoFZvDJiXjOmTvvjhyQ14DwTvn3aeJJnq3fvVjnKqLP9pXwVBB8-ISUTMPKiL0JPJBYbZXb1YM4GbfjGj_Zv9xq0ymRBTrWewahumf9sQ5T/s640/hooters1.JPG" /><BR>Foto por <a href="http://blog.aspercom.com.br">@rodrigoy</a></center><br /><br />Tem tanta gente nessa foto que não tenho nem coragem de começar a escrever os nomes, com medo de esquecer de alguém. Mas vou citar uma pessoa importante: O Martim Fowler brasileiro: Felipe Rodrigues! Veja-o ao lado de Manoel Pimentel: <a href="http://twitpic.com/57iil"> O Martim Fowler Brasileiro</a><br /><br />Valeu galera!!! Hooters foi o bicho! <br /><br />Parabéns Alexandre Magno e Edmilson Miyasaki pela organização!<br />Até a próxima!!<br /><br /><br />PS: <b>Tire férias em outubro!</b> <a href="http://www.agiles2009.org">Ágiles 2009</a> vem ai!<div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com4tag:blogger.com,1999:blog-6940622.post-13008796319927962232009-04-30T21:18:00.003-03:002009-04-30T22:01:03.027-03:00Impressões: Agile WeekendSenhores!<br /><br />Bem, o último final de semana estive em Porto Alegre para prestigiar o <a href="http://agileweekend.guma-rs.org/">Agile Weekend</a>, evento promovido pelo <a href="http://www.guma-rs.org/">Guma-RS</a>, em comemoração de seu quinto aniversário (parabens guma!)<br /><br />Muita gente apareceu para conferir o evento, inclusive muito mais do que eles imaginavam... o que é um indício de uma demanda extremamente reprimida no sul do brasil por eventos de qualidade e foco em Metodologias Ágeis.<br /><br />O evento foi muito show!! Imaginem programar um evento para 100 - 150 pessoas, e de repente aparecerem 300 para participar... povo teve que se desdobrar em 5 pra fazer a coisa acontecer... e claro: <b>aconteceu</b>!!<br /><br />O evento começou com uma apresentação dos organizadores, seguido de uma palestra "motivacional" de <a href="http://danielwildt.blogspot.com/">Daniel Wildt</a> e Luiz Parzianello, fundadores do Guma. Extremamente divertidos e de improviso eles falaram sobre as origens do Lean e as ramificações que o modelo criou mundo a fora... mostrando que Lean escala e que Desenvolvimento Ágil tem um pai! Detalhe: respondi a uma pergunta e ganhei um livro!! Coisaboua participar de evento em Porto alegre! Já é o segundo que ganho!! Agora vou aprofundar mais meus conhecimentos em Lean... me segura!!<br /><br />Um show a parte: <b>o coffee break!!</b> Credo! muito bom!!<br /><br />Bem, pra variar, encontrei o pessoal da <a href="http://www.seatecnologia.com.br">Sea Tecnologia</a> (@alegomes, @rwilli e @brunopedroso)... esse povo não deve trabalhar... assim como eles acham que eu não trabalho... somos todos arroz de festa! (e o proximo: <a href="http://www.scrumalliance.org/events/57-brazil-scrum-gathering">Scrum Gathering</a>!)<br /><br />A próxima palestra foi feita pelo <a href="http://twitter.com/peleteiro">Peleteiro</a>, da <a href="http://www.globo.com">Globo.com</a>, falando sobre anti padrões de equipes ágeis. Acredito que tenha sido a palestra com maior intereção com o publico... <br /><br />Logo depois assisti à apresentação de Fabrízio Mello, falando sobre refactoring em banco de Dados... bem, seguindo as palavras do próprio Fabrízio: Scott Ambler colocou os nomes bonitos na maior parte das funções rotineiras que usamos para desenvolvimento com banco de dados... mas foi bastante produtivo... quer dizer que o que antes era chuncho agora virou Refactoring Pattern!!<br /><br />No outro dia, conversamos sobre Agile no ensino. O Guma RS está com uma iniciativa muuuuito interessante para levar metodologias ágeis para o ensino, pra evitar que se fale muita porcaria em artigos e teses orientadas por professores que não sabem do que estão falando... gostei!<br /><br />Ah! O pessoal da SEA apresentou o case de seu trabalho junto à força aérea brasileira, semelhante ao apresentado no último <a href="http://www.maredeagilidade.com.br">Maré de Agilidade</a><br /><br />O Daniel Wildt desabafou todas as suas mágoas numa palestra entitulada "Eu odeio metodos Ágeis"... muito bom!<br /><br />Pra finalizar, uma mesa redonda com a maior parte dos palestrantes. A discussão girou em torno de contratação de projetos Ágeis... tema já bastante conhecido e abordado, por exemplo, por <a href="http://josepaulopapo.blogspot.com/">Jose Papo</a>, inclusive com uma apresentação no último <a href="http://www.falandoemagile.com.br">Falando em Agile</a> e que falará sobre o mesmo tema: contratos! )<br /><br />E foi isso... ótima experiência, voltei completamente renovado para o trabalho... <br /><br />Parabens aos organizadores! <br /><br />Bá! Trí legal esse evento!<br /><br /><br />E pra fechar o dia, claro: Cerveja!!!<div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com2tag:blogger.com,1999:blog-6940622.post-8776410467375971312009-04-24T21:15:00.001-03:002009-04-24T21:16:53.410-03:00I am a Craft Brewer<center><object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4298464&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=8a8a8a&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4298464&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=8a8a8a&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object><br /><a href="http://vimeo.com/4298464">I Am A Craft Brewer</a> from <a href="http://vimeo.com/user1639839">I Am A Craft Brewer</a> on <a href="http://vimeo.com">Vimeo</a></center><div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com2tag:blogger.com,1999:blog-6940622.post-10428516017322344922009-04-24T19:04:00.003-03:002009-04-24T19:33:39.380-03:00aula 2: Teste de Software no CTAISaudações!!<br /><br />Bem, estou aqui em casa após mais um dia de aulas no <a href="http://sc.senai.br">Senai CTAI</a>... realmente cansado...<br /><br />Desta vez, a intenção foi ser o mais didático possível na utilizaç!ao de documentação de testes. Apesar de concordar com o <a href="http://guilherme.pro/2009/04/05/why-i-dont-write-code-comments/">@gchapiewski </a>, algumas coisas não podemos fugir de documentar... mas pelo menos que sejam agregando valor!<br /><br />Segue abaixo os slides de mais essa aula.<br /><br /><center><br /><div style="width:425px;text-align:left" id="__ss_1339301"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/victorhg/ctai-teste-de-software-aula-2?type=powerpoint" title="Ctai Teste De Software Aula 2">Ctai Teste De Software Aula 2</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ctaitestedesoftwareaula2-090424173049-phpapp02&stripped_title=ctai-teste-de-software-aula-2" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ctaitestedesoftwareaula2-090424173049-phpapp02&stripped_title=ctai-teste-de-software-aula-2" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/victorhg">Victor hugo Germano</a>.</div></div><br /></center><div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com1tag:blogger.com,1999:blog-6940622.post-16843515823358059742009-04-22T20:42:00.006-03:002009-04-22T21:05:09.245-03:00Aula: Teste de Software no CTAISaudações!<br /><br />Bem, alguns já devem estar sabendo, mas vale lembrar: no momento estou atuando também como professor do <a href="http://sc.senai.br">Senai CTAI</a> em Florianópolis. Minha primeira ação nesta nova função está sendo no curso: <a href="http://sc.senai.br/site/montagem.html?pag=sgn/curso_informacoes.html&id_modalidade=1&id_unidade_escolhida=1923&id_curso=154852">Teste de Software </a><br /><br />Pode parecer, mas este não é um curso de teste comum... de tradicionalidade, NADA!<br /><br />Estou tentando colocar em jogo minha visão do desenvolvimento de software, e de que maneira um processo de testes se encaixa nisso tudo.<br /><br />Longe de ser uma aula completamente teórica, minha intenção é reconstruir de forma evolucionária e incremental o conceito de teste de software, trazendo um desafio: Trabalhemos conscientemente para a construção da qualidade de software! Eliminemos desperdícios e estejamos prontos para criticar os modelos burocráticos de teste de software. Antes de mais nada, o que importa é <a href="http://malditacomedia.blogspot.com/2007/09/os-princpios-do-manifesto-gil.html">Software Funcionando</a>!<br /><br />Além disso, incorpore ferramentas de teste ao seu dia a dia, reduzindo muitos dos custos atrelados a um processo de softwre.<br /><br /><br />Seria esta a vitória do <a href="http://malditacomedia.blogspot.com/search/label/Agile">Desenvolvimento Ágil</a> na Academia? Difícil de dizer no momento, então vou esperar até o final do curso. =)<br /><br /><br />Enquanto isso, seguem os slides da aula de hoje:<br /><center><br /><div style="width:425px;text-align:left" id="__ss_1329613"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/victorhg/ctai-teste-de-software-aula-1?type=powerpoint" title="Ctai Teste De Software Aula 1">Ctai Teste De Software Aula 1</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ctaitestedesoftwareaula1-090422183717-phpapp01&stripped_title=ctai-teste-de-software-aula-1" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ctaitestedesoftwareaula1-090422183717-phpapp01&stripped_title=ctai-teste-de-software-aula-1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/victorhg">Victor hugo Germano</a>.</div></div> </center><div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com6tag:blogger.com,1999:blog-6940622.post-55306751596295288132009-04-16T20:40:00.003-03:002009-04-16T20:56:50.203-03:00Quer trabalhar na Audaces? Pergunte-me como!Bem, não gosto muito de me repetir... bem por isso que não tenho postado tanto no blog... mas vou abrir uma exceção!<br /><br />Um dos posts mais visitados neste blog, sem dúvida, foi <a href="http://malditacomedia.blogspot.com/2008/10/cansado-de-telas-de-cadastro.html">o anuncio de vagas</a> na <a href="http://www.audaces.com.br/">Audaces</a> para um projeto no mínimo interessante: <b>Um simulador 3D em Java!</b><br /><br />Até colocamos o Eduardo, líder do projeto, <a href="http://wiki.java.net/bin/view/JUGs/MesDeJava2008%22">para falar no Mês do Java 2008</a>, e aguarde, logo ele falará de novo! Para os que acreditam software 3D não é viável em java... aguarde e confie!<br /><br /><br /><br />Bem, chegou a hora! <b> Precisamos de mais desenvolvedores!</b><br /><br /><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6CEWVc6kX55jImxVGnfG0mN8waQDYMxe7t-2EQEA7prDpY_Z_gRiLSb2Yu4fZusu6ZSgNDNab26i2rma1NpgMUQgF0A1s1pYHuPRqlUUOH1S6r0yb57qOGw4SvRAG1PmPPcAh/s400/3d.png" style="float:left">Procuramos pessoas que sejam apaixonadas pelo próprio trabalho, gostem de aprender coisas novas e estejam dispostas a criar produtos com máxima qualidade! Você gosta de matemática? Gosta de desenvolvimento "ao extremo", e está cansado daquelas aplicações chatas? Adoraria passar o dia inteiro olhando para a Ivy?? Venha ser entrevistado!!<br /><br />OpenGL, Eclipse RCP, Scrum, TDD, Modelagem 3D, Simulação Física... enfim: <b>DIVERSÃO</b><br /><br /><br /><br /><br /><h2 style="color: rgb(37, 130, 164); ">Trabalhe Conosco</h2><br /><h3 style="color: rgb(37, 130, 164); ">victor.germano [at] audaces [ponto] com</h3><br /><br /><b>E então, topa o desafio? Entre em contato!</b><div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com0tag:blogger.com,1999:blog-6940622.post-9425464684083463652009-03-30T13:52:00.004-03:002009-03-30T14:00:05.863-03:00Fotos do evento: Maré de Agilidade<center><a href="http://www.manoelpimentel.com/galerias/fotos_eventos/galeria/72157616119750978/1"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlUiP1nnJl6cMpy5zgyndxRnyxsLr_33DCfIM56mYJKDspg25eJBqYAaDHSYD-GcRgTp8pj795029jqtikO7_ToBWDR2zLJHs82Oiim5LkbqzhnnN3wzyM-kO43B_KVEsS3Taq/s720/mare.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5319025191730378178" width="500" /></a></br><br /><a href="http://www.manoelpimentel.com/galerias/fotos_eventos/galeria/72157616119750978/1">Fotos Maré de Agilidade by Manoel Pimentel</a><br /></center><div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com0tag:blogger.com,1999:blog-6940622.post-28428980079571699602009-03-28T14:41:00.003-03:002009-03-28T14:47:28.991-03:00Maré de AgilidadeBem, pra quem não sabe, estou na Bahia, Salvadô... convidado para o evento <A href="http://www.maredeagilidade.com.br">Maré de Agilidade</a><br /><br /><br />Vim para falar sobre o conceito de <a href="http://malditacomedia.blogspot.com/search/label/IntegraçãoContínua">Integração contínua</a>.<br /><br />O pessoal da organização do evento disponibilizou um blog com as informações. Confira! (Slides da minha apresentacao neste blog)<br /><br /><a href="http://maredeagilidade.blogspot.com">http://maredeagilidade.blogspot.com</a><br /><br />até mais!<div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com2tag:blogger.com,1999:blog-6940622.post-62556483469737276802009-02-20T10:22:00.002-03:002009-02-20T10:39:43.511-03:00Somos professionais de software?<a href="http://www.objectmentor.com">Uncle Bob</a>, sempre pragmático (e porque nao dizer, radical), se apresentou no JAOO com a seguinte palestra: <a href="http://www.infoq.com/presentations/craftmanship-ethics">Craftsmanship and Ethics</a>. <br /><br />O cara levanta uma bandeira muito interessante: não somos profissionais... somos apenas trabalhadores... e isso se deve pela falta de disciplina que NAO temos aos construir código. E ele faz muito bem o seu papel: evangelização (com uma inclinação meio maluca).<br /><br /><br />Veja o vídeo:<a href="http://www.infoq.com/presentations/craftmanship-ethics">Craftsmanship and Ethics</a><br /><br />E então, ainda tocando os tambores?<div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com1tag:blogger.com,1999:blog-6940622.post-62542714056609028872009-02-19T10:08:00.001-03:002009-02-19T10:08:38.452-03:00Capital de Risco para projeto Open SourceDica super interessante!<br />Que tal criar um business plan de um projeto curto e <b>opensource</b>, e concorrer a uma grana?<br />Bem, essa é a ideia de <a href="http://blogmaverick.com/">Mark Cuban</a>, que promete criar um modelo de investimento para projetos opensource. <br /><br />Sua ideia consistem em receber projetos promissores (postados publicamente em seu blog) que esperam ter retorno rápido e consistente. Caso o cara goste, ele vai botar uma grana... e talvez encontrar mais participantes para o projeto.<br /><br />Leia mais em: <a href="http://blogmaverick.com/2009/02/09/the-mark-cuban-stimulus-plan-open-source-funding/">The Mark Cuban Stimulus Plan</a><br /><h3>Regras</h3><br /><blockquote><br />1. It can be an existing business or a start up.<br />2. It can not be a business that generates any revenue from advertising. Why ? Because I want this to be a business where you sell something and get paid for it. Thats the only way to get and stay profitable in such a short period of time.<br />3. It MUST BE CASH FLOW BREAK EVEN within 60 daysÂ<br />4. It must be profitable within 90 days.<br />5. Funding will be on a monthly basis. If you dont make your numbers, the funding stops<br />6. You must demonstrate as part of your plan that you sell your product or service for more than what it costs you to produce, fully encumbered<br />7. Everyone must work. The organization is completely flat. There are no employees reporting to managers. There is the founder/owners and everyone else<br />8. You must post your business plan here, or you can post it on slideshare.com , scribd.com or google docs, all completely public for anyone to see and/or download<br />9. I make no promises that if your business is profitable, that I will invest more money. Once you get the initial funding you are on your own<br />10. I will make no promises that I will be available to offer help. If I want to , I will. If not, I wont.<br />11. If you do get money, it goes into a bank that I specify, and I have the ability to watch the funds flow and the opportunity to require that I cosign any outflows.<br />12. In your business plan , make sure to specify how much equity I will receive or how I will get a return on my money.<br />13. No mult-level marketing programs (added 2/10/09 1pm)<br /></blockquote><br /><br />Alguma idéia?<br /><br />[]s<br />Victor<div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com0tag:blogger.com,1999:blog-6940622.post-39801095687412296432009-02-10T15:24:00.003-02:002009-02-10T15:32:01.051-02:00Succession na InfoqBrazilSaudações...<br /><br />Não sei ao certo se as pessoas que leêm este blog(ou liam - estou muito vagal ultimamente), leêm também o <a href="http://www.infoq.com/br">infoq Brazil</a>... <br /><br /><a href="http://www.infoq.com">O site gringo</a> começou com uma discussão muito bacana sobre o último assunto de Kent Beck (<a href="http://www.infoq.com/news/2009/02/Succession-Agile-Architecture">veja a notícia em inglês</a>). <br /><br />Bem, repliquei a notícia no site brasileiro, e convido a todos para se juntarem à discussão:<a href="http://www.infoq.com/br/news/2009/02/Succession-Agile-Architecture" >Veja a notícia</a><div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com0tag:blogger.com,1999:blog-6940622.post-78891992387264863982009-01-13T21:38:00.003-02:002009-01-13T22:12:32.179-02:00TOP 25 Most Dangerous Programming ErrorsSaudações a todos! <br /><br />Voltando de férias esta semana me deparei com um documento <b>MUITO</b> importante para a comunidade de software mundial, resultado do encontro de inúmeras empresas de segurança e autores conhecidos da área em Washington/DC, esta semana.<br /><br />O encontro visou chegar a um consenso sobre quais seriam os principais erros cometidos no desenvolvimento de software e que possuem o maior impacto na segurança das aplicações web. Bem... a discussão não foi tão intensa, e foi relativamente fácil chegar ao número acima: Os Top 25 (sql injection, code injection, xss e muitos mais).<br /><br />Bob Martin é o portavoz do documento, e apresenta sua versão sobre a criação. Segue uma pequena parte do texto de introdução:<br /><blockquote><br />(January 12, 2009) Today in Washington, DC, experts from more than 30 US and international cyber security organizations jointly released the consensus list of the 25 most dangerous programming errors that lead to security bugs and that enable cyber espionage and cyber crime. Shockingly, most of these errors are not well understood by programmers; their avoidance is not widely taught by computer science programs; and their presence is frequently not tested by organizations developing software for sale.<br /></blockquote><br /><a href="http://www.sans.org/top25errors/">Leia o Documento Completo</a><br /><br /><br />De forma bem humorada, o catálago apresenta a descrição dos erros e como utilizar patterns para mitigar tais riscos. Confira em: <a href="http://cwe.mitre.org/top25/">http://cwe.mitre.org/top25/</a><br /><br /><br />Para constar, os envolvidos:<br /><blockquote><br />Robert C. Seacord, CERT <br />Pascal Meunier, CERIAS, Purdue University <br />Matt Bishop, University of California, Davis <br />Kenneth van Wyk, KRvW Associates <br />Masato Terada, Information-Technology Promotion Agency (IPA), (Japan) <br />Sean Barnum, Cigital, Inc. <br />Mahesh Saptarshi and Cassio Goldschmidt, Symantec Corporation <br />Adam Hahn, MITRE <br />Jeff Williams, Aspect Security <br />Carsten Eiram, Secunia <br />Josh Drake, iDefense Labs at VeriSign, Inc. <br />Chuck Willis, MANDIANT <br />Michael Howard, Microsoft <br />Bruce Lowenthal, Oracle Corporation <br />Mark J. Cox, Red Hat Inc. <br />Jacob West, Fortify Software <br />Djenana Campara, Hatha Systems <br />James Walden, Northern Kentucky University <br />Frank Kim, ThinkSec <br />Chris Eng and Chris Wysopal, Veracode, Inc. <br />Ryan Barnett, Breach Security <br />Antonio Fontes, New Access SA, (Switzerland) <br />Mark Fioravanti II, Missing Link Security Inc. <br />Ketan Vyas, Tata Consultancy Services (TCS) <br />Lindsey Cheng, Ian Peters and Tom Burgess, Secured Sciences Group, LLC<br />Hardik Parekh and Matthew Coles, RSA - Security Division of EMC Corporation <br />Mouse <br />Ivan Ristic <br />Apple Product Security <br />Software Assurance Forum for Excellence in Code (SAFECode) <br />Core Security Technologies Inc. <br />Depository Trust & Clearing Corporation (DTCC) <br />The working group at the first OWASP ESAPI Summit <br />National Security Agency (NSA) Information Assurance Division <br />Department of Homeland Security (DHS) National Cyber Security Division</blockquote><div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com0tag:blogger.com,1999:blog-6940622.post-67058711172058200272008-12-10T14:48:00.001-02:002008-12-10T14:50:07.802-02:00Ferias!Desculpem a demora em responder...<br />Feliz entrada de anos pra todos! Estou de ferias!<br /><img src="http://lh3.ggpht.com/__dLJSByOtiE/ST8244GY3oI/AAAAAAAAExc/YD0Sr1ZfIFE/s640/IMG_8073.jpg" align="center"/><div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com1tag:blogger.com,1999:blog-6940622.post-26048423269545785762008-12-06T10:14:00.003-02:002008-12-06T10:31:47.342-02:00TDC 2008: Download das ApresentaçõesSaudações!<br /><br />Globalcode & VOffice disponibilizaram as palestras do TDC 2008 Floripa. É a change de ver as apresentações... inclusive a minha (novamente...). <a href="http://www.thedevelopersconference.com.br/download-floripa.html">Confira!</a><br /><br />Existem também algumas fotos do evento no picasa (Faltaram as fotos do papo de bar... mas tudo bem... ). <a href="http://picasaweb.google.com/comunidade.globalcode/TDCFloripa">Confira tambem</a>!<div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com3tag:blogger.com,1999:blog-6940622.post-31221828635317264662008-12-01T21:46:00.004-02:002008-12-01T22:16:15.358-02:00TDC 2008: Integração ContínuaSaudações!<br /><br />Gostaria de disponibilizar a minha apresentação, realizada no TDC 2008 Floripa.<br /><br /><center><br /><div style="width: 425px; text-align: left;" id="__ss_807614"><a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;" href="http://www.slideshare.net/victorhg/tdc2008-integrao-contnua-presentation?type=powerpoint" title="TDC2008 Integração Contínua">TDC2008 Integração Contínua</a><object style="margin: 0px;" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=tdc2008victorhugogermano-1228174644567904-9&stripped_title=tdc2008-integrao-contnua-presentation"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=tdc2008victorhugogermano-1228174644567904-9&stripped_title=tdc2008-integrao-contnua-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View SlideShare <a style="text-decoration: underline;" href="http://www.slideshare.net/victorhg/tdc2008-integrao-contnua-presentation?type=powerpoint" title="View TDC2008 Integração Contínua on SlideShare">presentation</a> or <a style="text-decoration: underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration: underline;" href="http://slideshare.net/tag/continuous">continuous</a> <a style="text-decoration: underline;" href="http://slideshare.net/tag/agile">agile</a>)</div></div></center><br /><br />Uma pequena transcrição da palestra:<br /><ol><li>Vamos falar de Integração contínua e os benefícios da automatização de build</li><li>Eu? Eu sou o victor! Um pouco sobre mim...</li><li>Agenda da apresentação</li><li>Tudo começa com as origens: tradicionalmente, o momento de integração era a realização de um grande passo no projeto - <span style="font-style: italic;">juntar tudo</span> - e obviamente que, na teoria, a vida é sempre bela!</li><li>Minha percepção desse modelo, inclusive ensinado nas universidades por essas bandas: <span style="font-weight: bold;">O Mais puro conto de fadas!</span> Com direito a vestido esvuaçante, sapatinho de cristal e castelo ao fundo.</li><li>Como em todo conto de fadas, acreditamos em uma série de premissas, e a principal delas é: nossos clientes estão dispostos a esperar por resultados apenas no longo prazo. Qualidade nunca é importante o suficiente (afinal, se houver tempo, pode cortar os testes).</li><li>Mas a realidade é sombria, e extremamente dura com akelas que entram no mercado de trabalho: riscos sempre são subestimados, retrabalho em um <span style="font-style: italic;">Pattern, </span>atrasos uma constante</li><li>Precisamos nos preparar para um mundo novo, onde Clientes não podem e não querem esperar por software. E para isso, precisamos eliminar desde as primeiras fases de um projeto riscos com integração de software. É necessário também estar preparado para realizar mudanças rápidas, e responder às interpéries e baixas do mercado. E por último, e conseguirmos reduzir custos de produção, com certeza estaremos mais preparados.</li><li>Se conseguíssemos reunir: Velocidade para atendimento de requisições de um cliente, Qualidade para evitar que decisões de hoje não alterem as decisões de amanha, além de recolher informações para a tomada de decisão, chegaremos a:</li><li><span style="font-weight: bold;">Valor de Negócio</span>. Perceptível pelo cliente: respostas rápidas às mudanças, alinhamento com as necessidades do negócio e satisfação</li><li>Trocando em miúdos, é necessário criar um Botão Virtual, que nos possibilite entregar, rapidamente, valor ao cliente.</li><li>Isto é integração contínua</li><li>Representação Grafica do processo</li><li>Citando as principais etapas do processo: Construção, Testes, Inspeção e Feedback</li><li><span style="font-weight: bold;">Construção</span>: normalmente confundido com o próprio termo de Integração Continua. Representa a automatização da construção do sistema, utilizando normalmente uma ferramenta de script (ant ou maven)... (por causa desse slide, o motivo do primeiro slide - essa a automatização em si - integrando todas as ferramentas citadas nessa apresentação)</li><li>Pausa para uma reflexão: Esqueca TODA esta apresentação se você não utiliza controle de versões... não caia nesse erro: CONTROLE DE VERSÕES É PRIMORDIAL!!! Saia da idade da pedra! Páre de guardar HD's antigos ou código fonte zipado</li><li><span style="font-weight: bold;">Testes</span>: Sim, devem existir! É irresponsabilidade profissional não existir testes unitários automatizados para cada linha de teste! Neste ambiente, não fala-se apenas de testes unitários: aceitação, performance, integração, carga... IC significa mitigar riscos criando um ambiente de testes para garantir que sua base de código é confiável</li><li>Pra não ficar por menos, algumas ferramentas!</li><li><span style="font-weight: bold;">Inspeção</span>: Tradicionalmente existe um problema em criar equipes independentes de qualidade/teste e desenvolvimento. Imagine o seguinte exemplo - você está lah no <span style="font-style: italic;">bem bom</span> com a patroa e um cara do lado te dizendo "Não cara, não é assim, mais pro lado... isso não estava no roteiro, vc não pode colocar esta perna aí, é para o outro lado...". Para resolver este problema, podemos nos valer de anos de estudo de autores e desenvolvedores e buscar formas de mensurar qualidade de código através de métricas conhecidas, e através de ferramentas</li><li>Mais ferramentas: Você se acha bom desenvolvedor? Então execute o CPD no seu código, e depois conversamos! Com estas ferramentas, a própria aceitação dos desenvolvedores será influenciada: não é o zé mané da qualidade falando, é uma ferramenta... normalmente a impressão é melhor...</li><li>Imagine aplicar os conceitos de Business Intelligence para software? Cria-se assim a <span style="font-style: italic;">Software Itelligence</span>, tomada de decisão através de dados concretos, acompanhados desde o início do ciclo de vida do produto, para que se possa tomar decisões a respeito do software utilizando cobertura de código, comportamento de testes, avaliação de duplicidade de código, avisos do compilador... muito mais acertivo que os achismos de especialistas...</li><li>Como reunir tudo isso?? ora! ferramentas de feedback... segue uma pequena lista...</li><li>Referencias</li><li>Obrigado!! Obrigado pela oportunidade</li><li>Dúvidas...</li></ol><br />E então, você foi na apresentação e gostou??? Faça um comentário! Preciso do feedback para poder melhorar...<br /><br />O evento foi muito bacana! Alta qualidade, pessoas interessantes e muita diversão!<br /><br /><br />Obrigado Globalcode e VOffice pela oportunidade! Ao final do evento ainda rolou um Papo de Boteco... coisalinda de Deus!!<br /><br /><br />[]s!!<div class="blogger-post-footer">--
A Maldita Comédia [http://malditacomedia.blogspot.com]</div>Victor Hugo Germanohttp://www.blogger.com/profile/12030160604255283986noreply@blogger.com2