<?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-1432623474907196223</id><updated>2011-11-27T22:44:33.159-02:00</updated><category term='license'/><category term='CoGrOO'/><category term='eclipse'/><category term='maven2'/><category term='open source'/><category term='Java'/><category term='Ubiquity'/><category term='Corretor Gramatical'/><category term='FISL'/><category term='development'/><title type='text'>William Colen programando</title><subtitle type='html'>Blog do William Colen</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://wcolen.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://wcolen.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>William Colen</name><uri>http://www.blogger.com/profile/13366982127952437945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1432623474907196223.post-4229166500790609048</id><published>2011-10-06T16:54:00.000-03:00</published><updated>2011-10-06T16:54:19.001-03:00</updated><title type='text'>Meu novo projeto: LTasks</title><content type='html'>Longo tempo sem posts, mas não estou parado! O &lt;a href="http://ccsl.ime.usp.br/cogroo/comunidade/"&gt;CoGrOO Comunidade&lt;/a&gt;&amp;nbsp;segue a todo vapor, assim como o &lt;a href="http://cogroo.sf.net/"&gt;Cogroo 4.0&lt;/a&gt; está cada dia mais perto de ficar pronto.&lt;br /&gt;Tenho trabalhando agora no projeto &lt;a href="http://incubator.apache.org/opennlp"&gt;Apache OpenNLP&lt;/a&gt;. No final de 2009 eu entrei como contribuidor e hoje sou um dos principais committers. Prometo que vou começar a falar aqui sobre o que tenho feito lá.&lt;br /&gt;&lt;br /&gt;Mas hoje gostaria de apresentar um projeto totalmente novo. É o &lt;a href="http://ltasks.com/"&gt;LTasks&lt;/a&gt; (Language Tasks). Um projeto&amp;nbsp;idealizado&amp;nbsp;pelo &lt;a href="http://twitter.com/#!/wseidel"&gt;Wesley Seidel&lt;/a&gt;&amp;nbsp;e por mim, e que pretende desenvolver produtos de processamento de linguagem natural. Hoje temos já em BETA um poderoso extrator de entidades nomeadas. Veja a demonstração online em &lt;a href="http://ltasks.com/"&gt;http://ltasks.com&lt;/a&gt;. Desenvolvedores e pequenos negócios podem usar gratuitamente. Experimente!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1432623474907196223-4229166500790609048?l=wcolen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wcolen.blogspot.com/feeds/4229166500790609048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1432623474907196223&amp;postID=4229166500790609048' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/4229166500790609048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/4229166500790609048'/><link rel='alternate' type='text/html' href='http://wcolen.blogspot.com/2011/10/meu-novo-projeto-ltasks.html' title='Meu novo projeto: LTasks'/><author><name>William Colen</name><uri>http://www.blogger.com/profile/13366982127952437945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1432623474907196223.post-2659263945550402261</id><published>2010-08-10T13:32:00.003-03:00</published><updated>2010-09-03T20:43:02.706-03:00</updated><title type='text'>CoGrOO Comunidade</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_rwM53ZN38-E/TIGHzbqMbdI/AAAAAAAACZ4/Nji-K6GN2zY/s1600/cogroo_comunidade.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 398px; height: 100px;" src="http://1.bp.blogspot.com/_rwM53ZN38-E/TIGHzbqMbdI/AAAAAAAACZ4/Nji-K6GN2zY/s400/cogroo_comunidade.png" alt="" id="BLOGGER_PHOTO_ID_5512836736546008530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Em breve teremos uma novidade no CoGrOO: um portal comunitário.&lt;br /&gt;&lt;br /&gt;Nesse portal os usuários da ferramenta poderão fazer suas contribuições para a evolução da ferramenta. Elas podem ser simples, como simplesmente avisar que num texto o corretor errou, até escrever novas regras de erros.&lt;br /&gt;&lt;br /&gt;Quando fizermos o lançamento será possível apenas submeter erros, e um fórum de discussão sobre os erros. Nesse fórum poderemos classificar, priorizar etc. Outras funcionalidades serão incorporadas aos poucos.&lt;br /&gt;&lt;br /&gt;Em breve volto com detalhes desse desenvolvimento!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1432623474907196223-2659263945550402261?l=wcolen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wcolen.blogspot.com/feeds/2659263945550402261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1432623474907196223&amp;postID=2659263945550402261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/2659263945550402261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/2659263945550402261'/><link rel='alternate' type='text/html' href='http://wcolen.blogspot.com/2010/08/cogroo-comunidade.html' title='CoGrOO Comunidade'/><author><name>William Colen</name><uri>http://www.blogger.com/profile/13366982127952437945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_rwM53ZN38-E/TIGHzbqMbdI/AAAAAAAACZ4/Nji-K6GN2zY/s72-c/cogroo_comunidade.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1432623474907196223.post-354376982076118523</id><published>2010-01-11T21:57:00.013-02:00</published><updated>2010-08-10T13:36:38.492-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Corretor Gramatical'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Verificador Gramatical em um programa Java</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Compatível apenas com CoGrOO 3.0.5, para versão de desenvolvimento veja &lt;a href="https://cogroo.svn.sourceforge.net/svnroot/cogroo/cogroo3/trunk/docs"&gt;aqui&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Que tal verificar a gramatica (crase, concordância etc) dos textos que o usuário do seu programa Java digitar? Isto é possível com o CoGrOO, o corretor gramatical para a língua portuguesa do BrOffice.org. Este pequeno tutorial pode servir como ponto de partida. Ele explica como utilizar o CoGrOO para verificar o texto digitado no console. Os requisitos são CoGrOO Base 3.0.5 e Java 1.5 ou melhor.&lt;div&gt;Obtenha o CoGrOO Base 3.0.5 &lt;a href="http://downloads.sourceforge.net/cogroo/CoGrOOBase-3.0.5-bin.zip"&gt;aqui&lt;/a&gt; e extraia o conteúdo pasta. Isto resultará numa pasta com todos os jars necessários para executar o corretor gramatical, e ainda os arquivos de dados necessários (dicionários, modelos linguísticos e regras).&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rwM53ZN38-E/S0u-BMzE11I/AAAAAAAACRk/yxWyxNuP8Ik/s1600-h/Screenshot-CoGrOOBase-3.0.5-bin+-+File+Browser-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 298px;" src="http://2.bp.blogspot.com/_rwM53ZN38-E/S0u-BMzE11I/AAAAAAAACRk/yxWyxNuP8Ik/s320/Screenshot-CoGrOOBase-3.0.5-bin+-+File+Browser-1.png" alt="" id="BLOGGER_PHOTO_ID_5425639103922493266" border="0" /&gt;&lt;/a&gt;&lt;div&gt;Todos os jars dessa pasta deverão ser incluídos no Java classpath do seu programa, e o diretório de execução deverá ser a raiz da pasta que contém os recursos (pastas bin, data e rules).&lt;/div&gt;&lt;div&gt;Vamos então criar nosso programa. Bem simples, ele aguarda o usuário digitar uma linha de texto e   usa o método &lt;i&gt;checkText&lt;/i&gt; da classe &lt;i&gt;GrammarCheckerBrazilianPortuguese&lt;/i&gt; para obter a lista com dos possíveis erros. Dessa lista podemos extrair dados como o identificador da regra, texto de mensagem ao usuário (longo e curto), sugestões para correção (quando disponível) e a posição do erro no texto.&lt;/div&gt;&lt;div&gt;Vamos ao código. Crie o arquivo CorretorGramatical.java na pasta CoGrOOBase-3.0.5-bin com o seguinte conteúdo:&lt;/div&gt;&lt;div&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;import java.util.List;&lt;br /&gt;import java.util.Scanner;&lt;br /&gt;&lt;br /&gt;import br.usp.pcs.lta.cogroo.entity.Mistake;&lt;br /&gt;import br.usp.pcs.lta.cogroo.grammarchecker.GrammarCheckerBrazilianPortuguese;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class CorretorGramatical {&lt;br /&gt;&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;&lt;br /&gt;// cria instância do corretor gramatical&lt;br /&gt;GrammarCheckerBrazilianPortuguese corretorGramatical = new GrammarCheckerBrazilianPortuguese();&lt;br /&gt;// prepara para obter o texto&lt;br /&gt;Scanner kb = new Scanner(System.in);&lt;br /&gt;System.out.println("Digite o texto seguido de Enter para verificar. Digite 't' seguido de Enter em uma nova linha para terminar: ");&lt;br /&gt;String entrada = kb.nextLine();&lt;br /&gt;// aguarda texto&lt;br /&gt;while (!entrada.equals("t")) {&lt;br /&gt;   // verifica erros do texto&lt;br /&gt;   List&amp;lt;Mistake&amp;gt; erros = corretorGramatical.checkText(entrada);&lt;br /&gt;   int contador = 1;&lt;br /&gt;   // imprime detalhes de cada erro&lt;br /&gt;   for (Mistake erro : erros) {&lt;br /&gt;       System.out.println("Erro " + contador++ + " -");&lt;br /&gt;       System.out.println("   Regra          '" + erro.getRuleIdentifier() + "'");&lt;br /&gt;       System.out.println("   Mensagem curta '" + erro.getShortMessage() + "'");&lt;br /&gt;       System.out.println("   Mensagem longa '" + erro.getFullMessage() + "'");&lt;br /&gt;       System.out.println("   Texto com erro '" + entrada.substring(erro.getStart(), erro.getEnd()) + "'");&lt;br /&gt;       System.out.print(  "   Sugestões " );&lt;br /&gt;       for (String sugestao : erro.getSuggestions()) {&lt;br /&gt;           System.out.print("[" + sugestao + "] ");&lt;br /&gt;       }       &lt;br /&gt;       System.out.println();&lt;br /&gt;   }&lt;br /&gt;   // aguarda o próximo texto digitado&lt;br /&gt;   entrada = kb.nextLine();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;Pronto, agora é só compilar e executar:&lt;/div&gt;&lt;div&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;javac -classpath CoGrOOBase-3.0.5.jar CorretorGramatical.java&lt;br /&gt;java -classpath CoGrOOBase-3.0.5.jar CorretorGramatical&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rwM53ZN38-E/S0vRUpqKzyI/AAAAAAAACR0/gMey8nyRO0A/s1600-h/Screenshot-colen%40colen-laptop:+%7E-TutorialCogroo-CoGrOOBase-3.0.5-bin.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 363px; height: 400px;" src="http://2.bp.blogspot.com/_rwM53ZN38-E/S0vRUpqKzyI/AAAAAAAACR0/gMey8nyRO0A/s400/Screenshot-colen%40colen-laptop:+%7E-TutorialCogroo-CoGrOOBase-3.0.5-bin.png" alt="" id="BLOGGER_PHOTO_ID_5425660328808206114" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:monospace;"&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span" style=";font-family:Georgia,serif;font-size:130%;"  &gt;&lt;span class="Apple-style-span" style=""&gt;&lt;div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1432623474907196223-354376982076118523?l=wcolen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wcolen.blogspot.com/feeds/354376982076118523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1432623474907196223&amp;postID=354376982076118523' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/354376982076118523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/354376982076118523'/><link rel='alternate' type='text/html' href='http://wcolen.blogspot.com/2010/01/verificador-gramatical-em-um-programa.html' title='Verificador Gramatical em um programa Java'/><author><name>William Colen</name><uri>http://www.blogger.com/profile/13366982127952437945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_rwM53ZN38-E/S0u-BMzE11I/AAAAAAAACRk/yxWyxNuP8Ik/s72-c/Screenshot-CoGrOOBase-3.0.5-bin+-+File+Browser-1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1432623474907196223.post-5391467748828036276</id><published>2009-08-05T00:05:00.004-03:00</published><updated>2009-08-05T00:13:59.831-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Corretor Gramatical'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubiquity'/><category scheme='http://www.blogger.com/atom/ns#' term='CoGrOO'/><title type='text'>Vai um corretor gramatical onipresente no browser?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rwM53ZN38-E/Snj4YCnsmLI/AAAAAAAABhw/p14OcDWZ8Ms/s1600-h/ubiquity_screenshot_07.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 223px;" src="http://3.bp.blogspot.com/_rwM53ZN38-E/Snj4YCnsmLI/AAAAAAAABhw/p14OcDWZ8Ms/s320/ubiquity_screenshot_07.png" alt="" id="BLOGGER_PHOTO_ID_5366312047915866290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Que tal verificar a gramática de seus textos numa combinação de comandos do &lt;a href="http://wcolen.blogspot.com/2009/07/voce-ja-conhece-o-firefox-ubiquity.html"&gt;Firefox Ubiquity&lt;/a&gt;, independente do contexto da navegação? É o que propõe o comando "gramática" que pode ser assinado no seu Firefox Ubiquity através do link &lt;a href="http://apoema.net/langbot/pt_BR/gc.lb"&gt;http://apoema.net/langbot/pt_BR/gc.lb&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Com este comando você consegue verificar e corrigir erros gramaticais - como mau uso da crase, regência e concordância - ao escrever e-mails, documentos no Google Docs, posts em fóruns, blogs, twitter... enfim, qualquer contexto! A funcionalidade está disponível em diversos idiomas, como português, inglês e espanhol. A análise gramatical é feita remotamente usando a técnologia do &lt;a href="http://cogroo.sf.net/"&gt;CoGrOO&lt;/a&gt;, para a língua portuguesa, e o &lt;a href="http://www.languagetool.org/"&gt;LanguageTool&lt;/a&gt; para os demais idiomas.  &lt;p&gt;   Confira mais no &lt;a href="http://brnsantanna.blogspot.com/2009/08/habilitando-correcao-gramatical-no.html"&gt;blog do autor&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1432623474907196223-5391467748828036276?l=wcolen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wcolen.blogspot.com/feeds/5391467748828036276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1432623474907196223&amp;postID=5391467748828036276' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/5391467748828036276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/5391467748828036276'/><link rel='alternate' type='text/html' href='http://wcolen.blogspot.com/2009/08/vai-um-corretor-gramatical-onipresente.html' title='Vai um corretor gramatical onipresente no browser?'/><author><name>William Colen</name><uri>http://www.blogger.com/profile/13366982127952437945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_rwM53ZN38-E/Snj4YCnsmLI/AAAAAAAABhw/p14OcDWZ8Ms/s72-c/ubiquity_screenshot_07.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1432623474907196223.post-7287710420001622210</id><published>2009-07-29T00:18:00.005-03:00</published><updated>2009-07-29T20:32:51.117-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubiquity'/><title type='text'>Você já conhece o Firefox Ubiquity?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_rwM53ZN38-E/Sm_A7AFMShI/AAAAAAAABho/61O8GMHFAO4/s1600-h/ubiquity.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 116px; height: 165px;" src="http://2.bp.blogspot.com/_rwM53ZN38-E/Sm_A7AFMShI/AAAAAAAABho/61O8GMHFAO4/s320/ubiquity.png" alt="" id="BLOGGER_PHOTO_ID_5363717801088141842" border="0" /&gt;&lt;/a&gt;A palavra Ubiquity remete a &lt;i&gt;onipresença&lt;/i&gt;, que é a capacidade de estar em todos os lugares ao mesmo tempo. A definição da palavra reflete bem o que esta nova extensão do Firefox propõe - disponibilizar, em qualquer contexto na navegação, ferramentas úteis, acessíveis por uma simples combinação de teclas e um comando em linguagem natural, humana.&lt;br /&gt;&lt;br /&gt;&lt;img id="psuy" style="float: left; margin-left: 0pt; margin-right: 1em;" src="http://docs.google.com/File?id=dcqsrqh5_4c6jrn6dv_b" height="216" width="292" /&gt;Não consegue imaginar do que está extensão é capaz? Que tal um exemplo?&lt;br /&gt;&lt;br /&gt;Imagine que hoje você pretende convidar um amigo para visitar uma exposição no museu que você acabou de encontrar navegando na web pelo Firefox. Que tal enviar a ele um e-mail com um link para o site?&lt;br /&gt;&lt;br /&gt;Simples - Abra o Ubiquity (CTRL + ESPAÇO) e digite "e-mail Vamos visitar esta exposição hoje? à Bruno Sant" e enter! Pronto! Você nem precisou completar o nome do remetente, o Ubiquity buscou o nome do seu amigo nos contatos do Gmail. Ao apertar Enter o Ubiquity gera o e-mail para você.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: left;"&gt;&lt;div id="v.iq" style="text-align: center;"&gt;&lt;div id="nu4k" style="text-align: center;"&gt;&lt;img style="width: 648px; height: 263.28px;" src="http://docs.google.com/File?id=dcqsrqh5_8fw8dnzhf_b" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;img id="cs:." style="float: left; margin-left: 0pt; margin-right: 1em; width: 326px; height: 264px;" src="http://docs.google.com/File?id=dcqsrqh5_12fv3pp7fs_b" /&gt;Digamos ainda que você queira indicar ao seu amigo o endereço do museu onde a exposição está acontecendo. Você copia e cola o endereço no corpo do e-mail. Mas como você é legal ainda inclui um mapa dos arredores.&lt;br /&gt;&lt;br /&gt;Veja como é simples - selecione o texto no e-mail com o endereço, abra o Ubiquity e digite "mapa". O Ubiquity busca o endereço no Google Maps, você ajusta o mapa e insere no corpo do e-mail.&lt;br /&gt;&lt;br /&gt;&lt;div id="g1q3" style="text-align: center;"&gt;&lt;img style="width: 648px; height: 356.732px;" src="http://docs.google.com/File?id=dcqsrqh5_11cm3jnb27_b" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;E ainda você pode surpreender seu amigo, fã da cultura oriental, arriscando uma frase em japonês. Trabalhoso? Que nada! Selecione a frase "Vamos ao Museu?" que está no corpo do e-mail e chame o comando traduzir: "traduzir de Portuguese à Japanese". (na versão que testei os idiomas ainda não estavam traduzidos). Depois de todo esse "trabalho" seu amigo terá que aceitar o convite!&lt;br /&gt;&lt;br /&gt;&lt;div id="ygxi" style="text-align: center;"&gt;&lt;img style="width: 648px; height: 356.732px;" src="http://docs.google.com/File?id=dcqsrqh5_13fpkvmjd6_b" /&gt;&lt;/div&gt;&lt;br /&gt;Ele aceitou o convite? Agora você tem um novo compromisso - que tal adicionar à agenda? Basta abrir o Ubiquity e digitar "adicionar ao Google Ca 14h visita ao museu"&lt;br /&gt;&lt;br /&gt;&lt;div id="ptd5" style="text-align: center;"&gt;&lt;img style="width: 648px; height: 265.224px;" src="http://docs.google.com/File?id=dcqsrqh5_14fc9wd6dj_b" /&gt;&lt;/div&gt;&lt;br /&gt;Claro que o Ubiquity não agrega apenas serviços do Google - basta abrir o Ubiquity e digitar "listar comandos do Ubiquity" para ter a lista de todos os comandos assinados.&lt;br /&gt;Alguns comandos disponíveis na instalação padrão -&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Comandos de busca:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;Busca&lt;/i&gt; - &lt;span class="description"&gt;Busca usando seus mecanismos de busca instalados&lt;br /&gt;&lt;/span&gt;&lt;span class="name"&gt;&lt;i&gt;Google&lt;/i&gt; - &lt;/span&gt;&lt;span class="description"&gt;Faz uma busca no Google.&lt;/span&gt;&lt;br /&gt;&lt;span class="name"&gt;&lt;i&gt;wikipedia&lt;/i&gt; - &lt;/span&gt;&lt;span class="description"&gt;Busca na Wikipedia.&lt;br /&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="name"&gt;imdb&lt;/span&gt;&lt;/i&gt;&lt;span class="description"&gt; - Busca no IMDB (www.imdb.com) o filme ou ator desejado.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;E ainda &lt;i&gt;Yahoo&lt;/i&gt;, &lt;i&gt;Amazon&lt;/i&gt;, &lt;i&gt;Youtube&lt;/i&gt; etc&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Comandos relacionados a redes sociais:&lt;/b&gt;&lt;br /&gt;twitter - &lt;span class="description"&gt;Posta uma mensagem de até 160 caracteres no Twitter.&lt;br /&gt;&lt;/span&gt;&lt;span class="name"&gt;digg&lt;/span&gt;&lt;span class="description"&gt; - Envia página para o Digg. Se ela já existir no Digg, abre a entrada correspondente.&lt;br /&gt;&lt;/span&gt;&lt;span class="name"&gt;tinyurl - &lt;/span&gt;&lt;span class="description"&gt;Substitui a URL selecionada com uma url curta.&lt;br /&gt;&lt;/span&gt;&lt;span class="name"&gt;compartilhar no delicious - &lt;/span&gt;&lt;span class="description"&gt;Compartilha a página atual como um Favorito no delicious.com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;E muitos outros!&lt;br /&gt;&lt;h2&gt;Instalando o Ubiquity 0.5.1 (ou melhor)&lt;/h2&gt;Ele possui um novo interpretador de comandos que suporta internacionalização - você executa comandos no seu idioma. Português foi um dos primeiros idiomas suportados.&lt;br /&gt;Para instalar é simples. Visite o site &lt;a title="http://ubiquity.mozilla.com/" href="http://ubiquity.mozilla.com/" id="xftz"&gt;http://ubiquity.mozilla.com/&lt;/a&gt; e clique no banner verde. Uma mensagem será exibida na parte superior do navegador, perguntando se deseja proseguir. Basta aceitar e seguir as instruções.&lt;br /&gt;&lt;br /&gt;&lt;div id="vldo" style="text-align: center;"&gt;&lt;img style="width: 648px; height: 248.212px;" src="http://docs.google.com/File?id=dcqsrqh5_15gtffgxfk_b" /&gt;&lt;/div&gt;&lt;br /&gt;Para configurar o idioma do interpretador de comandos abra o configurador do Ubiquity e na aba Settings siga até o Language Settings. Configure para o idioma de sua preferência.&lt;br /&gt;&lt;br /&gt;&lt;div id="ocvf" style="text-align: center;"&gt;&lt;img style="width: 406px; height: 213px;" src="http://docs.google.com/File?id=dcqsrqh5_16fmbdpddc_b" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;Assinando comandos criados pela comunidade&lt;/h2&gt;A incrível abordagem adotada pelo Ubiquity de iteragir com o usuário tem empolgado desenvolvedores de software livre, e já existem disponíveis diversos novos comandos.&lt;br /&gt;&lt;br /&gt;Um lugar para buscar comandos é a página &lt;a title="https://wiki.mozilla.org/Labs/Ubiquity/Commands_In_The_Wild" href="https://wiki.mozilla.org/Labs/Ubiquity/Commands_In_The_Wild" id="jr_7"&gt;https://wiki.mozilla.org/Labs/Ubiquity/Commands_In_The_Wild&lt;/a&gt;, e em breve estará disponível um diretório público chamado Ubiquity Herd: &lt;a title="https://ubiquity.mozilla.com/herd/" href="https://ubiquity.mozilla.com/herd/" id="yu8n"&gt;https://ubiquity.mozilla.com/herd/&lt;/a&gt;.&lt;br /&gt;Comandos são assinados, e não adicionados. Isto porque quando um desenvolvedor resolve atualizar o comando os assinantes são atualizados automaticamente. Isto é bom para desenvolvedores e também é bom para usuários, mas implica em um problema de segurança que explicarei mais para frente, por isso a atualização automática é opcional.&lt;br /&gt;&lt;br /&gt;Vamos assinar um comando? Que tal o &lt;i&gt;screengrab&lt;/i&gt;? Este comando é capaz de "tirar uma foto" da página corrente e guardar na área de transferência.&lt;br /&gt;&lt;br /&gt;Primeiro visitamos a página do comando: &lt;a title="http://www.watersheep.org/~markh/screengrab.html" href="http://www.watersheep.org/%7Emarkh/screengrab.html" id="w9:o"&gt;http://www.watersheep.org/~markh/screengrab.html&lt;/a&gt;. Assim que abrirmos a página uma mensagem será exibida na parte superior do navegador:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img style="width: 439px; height: 38px;" src="http://docs.google.com/File?id=dhdsm2k_9hcv86rhp_b" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Esta mensagem significa em uma tradução livre: "&lt;i&gt;Esta página contém comandos do Ubiquity. Caso você queira assinar estes comandos, clique no botão à direita&lt;/i&gt;".  Ao clicar neste botão, uma  mensagem de aviso será exibida na sua tela:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://docs.google.com/File?id=dhdsm2k_10hht9rgg7_b" height="455" width="405" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;A tela seguinte assusta o usuário, ela tem como objetivo alertar que comandos do Ubiquity tem acesso aos recursos de seu navegador e pessoas mal intencionadas podem criar comandos com código malicioso para roubar suas senhas ou seu número de cartão de crédito. Comandos do Ubiquity devem ser instalados de fontes seguras das quais se tem plena confiança. Lembre que o comando pode ser atualizado automaticamente, isto implica que ele pode se tornar malicioso depois de você já ter verificado o código.&lt;br /&gt;&lt;br /&gt;Ao aceitar ("I know what I'm doing. Subscribe to it!"), você tem o comando assinado e pronto para uso.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;NOTA: A equipe do Ubiquity ponderou e optou pela funcionalidade em detrimento da segurança ao implementar o plug-in. Quando o Ubiquity Heard estiver pronto será mais fácil, pois os comandos serão avaliados pelos usuários e ganharão notas quanto sua confiabilidade. Por hora use comandos terceiros com cuitado ;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Pronto temos o &lt;i&gt;screengrab&lt;/i&gt; instalado. Vamos testar - digamos que você navegava pela Internet e encontra um site com uma imagem do BigLinux. Você decide mandar para seu amigo a tela. É simples! Abra o Ubiquity e digite "screengrab" para copiar uma imagem do site para a área de transferência, em seguida use o comando "email à Bruno Sant O BigLinux no Wikipedia Commons!" para gerar um e-mail. Finalmente cole a imagem no corpo do e-mail:&lt;br /&gt;&lt;br /&gt;&lt;div id="uggu" style="text-align: center;"&gt;&lt;div id="p0v4" style="text-align: center;"&gt;&lt;img style="width: 648px; height: 271.901px;" src="http://docs.google.com/File?id=dcqsrqh5_18hpn96tdh_b" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;Espero que se divirta com o Ubiquity. Em breve volto com a analise de mais comandos já disponibilizados pela comunidade!&lt;br /&gt;&lt;br /&gt;Agradeço ao Bruno Sant'Anna pela colaboração na confecção deste post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1432623474907196223-7287710420001622210?l=wcolen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wcolen.blogspot.com/feeds/7287710420001622210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1432623474907196223&amp;postID=7287710420001622210' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/7287710420001622210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/7287710420001622210'/><link rel='alternate' type='text/html' href='http://wcolen.blogspot.com/2009/07/voce-ja-conhece-o-firefox-ubiquity.html' title='Você já conhece o Firefox Ubiquity?'/><author><name>William Colen</name><uri>http://www.blogger.com/profile/13366982127952437945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_rwM53ZN38-E/Sm_A7AFMShI/AAAAAAAABho/61O8GMHFAO4/s72-c/ubiquity.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1432623474907196223.post-2604575952325967281</id><published>2009-06-21T08:47:00.008-03:00</published><updated>2009-06-21T21:35:45.212-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FISL'/><category scheme='http://www.blogger.com/atom/ns#' term='CoGrOO'/><title type='text'>CoGrOO Banner for FISL 2009</title><content type='html'>Getting ready for my &lt;a href="http://fisl.softwarelivre.org/10/papers/pub/programacao/328"&gt;presentation&lt;/a&gt; at &lt;a href="http://www.fisl.org.br/10/www/en"&gt;FISL&lt;/a&gt;. Now I have only 3 days. I'm planning to talk about the following:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rwM53ZN38-E/Sj7MKk8oXYI/AAAAAAAABFo/OidMjb2HPDI/s1600-h/Cartaz-CoGrOO-FISL-10.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 204px; height: 262px;" src="http://3.bp.blogspot.com/_rwM53ZN38-E/Sj7MKk8oXYI/AAAAAAAABFo/OidMjb2HPDI/s320/Cartaz-CoGrOO-FISL-10.png" alt="" id="BLOGGER_PHOTO_ID_5349937889451466114" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Corretor Gramatical CoGrOO - Além da correção ortográfica nos editores de textos l&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;ivres&lt;/span&gt; (CoGrOO Grammar Checker - Beyond spell checking in free text editors)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Sobre o projeto (About the project)Além da correção ortográfica (Beyond spell checking...)&lt;/li&gt;&lt;li&gt;Como funciona o CoGrOO (How does CoGrOO works)&lt;/li&gt;&lt;li&gt;Demonstração / Módulos (Demonstrations of the modules)&lt;/li&gt;&lt;li&gt;O CoGrOO 3.1 e o CoGrOO 3.2 (What to expect from future versions 3.1 and 3.2)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Como fazer o melhor corretor gramatical (How can we do the best grammar checker)O papel da comunidade (The role of community)&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Além da correção gramatical (Beyond grammar checking...)&lt;/li&gt;&lt;li&gt;Conclusões (Conclusion)&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;Of course I prepared the CoGrOO shirt, now with long sleeve because it will be winter and FISL will be at &lt;a href="http://en.wikipedia.org/wiki/Rio_Grande_do_Sul"&gt;Rio Grande do Sul&lt;/a&gt;.&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_rwM53ZN38-E/Sj7PSpBoGHI/AAAAAAAABGY/Qd3naK4k5NE/s1600-h/101_5142.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 130px; height: 173px;" src="http://3.bp.blogspot.com/_rwM53ZN38-E/Sj7PSpBoGHI/AAAAAAAABGY/Qd3naK4k5NE/s320/101_5142.JPG" alt="" id="BLOGGER_PHOTO_ID_5349941326519998578" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_rwM53ZN38-E/Sj7PHZdCTqI/AAAAAAAABGQ/j7zjFd6m0kw/s1600-h/101_5143.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 130px; height: 173px;" src="http://4.bp.blogspot.com/_rwM53ZN38-E/Sj7PHZdCTqI/AAAAAAAABGQ/j7zjFd6m0kw/s320/101_5143.JPG" alt="" id="BLOGGER_PHOTO_ID_5349941133361434274" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1432623474907196223-2604575952325967281?l=wcolen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wcolen.blogspot.com/feeds/2604575952325967281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1432623474907196223&amp;postID=2604575952325967281' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/2604575952325967281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/2604575952325967281'/><link rel='alternate' type='text/html' href='http://wcolen.blogspot.com/2009/06/cogroo-banner-for-fisl-2009.html' title='CoGrOO Banner for FISL 2009'/><author><name>William Colen</name><uri>http://www.blogger.com/profile/13366982127952437945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_rwM53ZN38-E/Sj7MKk8oXYI/AAAAAAAABFo/OidMjb2HPDI/s72-c/Cartaz-CoGrOO-FISL-10.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1432623474907196223.post-2876305521518380682</id><published>2008-04-08T19:39:00.002-03:00</published><updated>2008-04-08T19:44:37.318-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='maven2'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='license'/><title type='text'>Keep your copyright/license headers updated with a nice maven2 plug-in</title><content type='html'>Isn't it boring to keep the copyright/licenses headers of your code updated?&lt;br /&gt;I just found a nice Maven2 plug-in that can do the job for you. It scans your code for file types like .java, .xml., .xsd, .ssh, .sql and many others and add the header formatted according to the file type.&lt;br /&gt;There are many configurations available but the defaults for me were OK. I just had to create a file with the text of my license header and change my pom.&lt;br /&gt;The plug-in site is: &lt;a href="http://code.google.com/p/maven-license-plugin/"&gt;http://code.google.com/p/maven-license-plugin/&lt;/a&gt;&lt;br /&gt;If you want my pom as sample, you can see it &lt;a href="http://lingualquanta.svn.sourceforge.net/viewvc/lingualquanta/lingualquanta/trunk/lingualrouter/pom.xml?view=markup"&gt;here&lt;/a&gt;, just search for "START: LICENSE PLUGIN"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1432623474907196223-2876305521518380682?l=wcolen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wcolen.blogspot.com/feeds/2876305521518380682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1432623474907196223&amp;postID=2876305521518380682' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/2876305521518380682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/2876305521518380682'/><link rel='alternate' type='text/html' href='http://wcolen.blogspot.com/2008/04/keep-your-copyrightlicense-headers.html' title='Keep your copyright/license headers updated with a nice maven2 plug-in'/><author><name>William Colen</name><uri>http://www.blogger.com/profile/13366982127952437945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1432623474907196223.post-6023545903309797376</id><published>2008-04-07T08:01:00.004-03:00</published><updated>2008-04-07T08:12:52.586-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='maven2'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Maven2 for Eclipse</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Plug-in: &lt;a href="http://m2eclipse.codehaus.org/"&gt;http://m2eclipse.codehaus.org/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;This plug-in for Eclipse can help you handle Maven2 projects. I'm new to it and I don't know what it can do.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;a href="http://m2eclipse.codehaus.org/"&gt;&lt;/a&gt;&lt;br /&gt;Maven2 has a plug-in that creates Eclipse projects for your. Using a command prompt, go to the folder that contains your pom and execute "mvn eclipse:eclipse".&lt;br /&gt;Note that the project structure of Maven is not straight compatible to the Eclipse project structure. If you have to checkout a project with one or more Eclipse sub-projects, for each Eclipse sub-project you should import it as an "Existing Projects into Workspace" using the Package Explorer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1432623474907196223-6023545903309797376?l=wcolen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wcolen.blogspot.com/feeds/6023545903309797376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1432623474907196223&amp;postID=6023545903309797376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/6023545903309797376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/6023545903309797376'/><link rel='alternate' type='text/html' href='http://wcolen.blogspot.com/2008/04/maven2-for-eclipse.html' title='Maven2 for Eclipse'/><author><name>William Colen</name><uri>http://www.blogger.com/profile/13366982127952437945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1432623474907196223.post-6654215689757126101</id><published>2008-04-02T21:42:00.000-03:00</published><updated>2008-04-02T22:40:34.019-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><title type='text'>The virtuous circle of free licenses for open source developers</title><content type='html'>Companies that use open source libraries and tools should give free licenses for the development of open source projects. Example: I use Jude Community a lot, it is a pretty good program, but some nice features are available only in the Professional version. This UML modeling software is very useful for open source developers that can't afford paying for the professional version. By doing that, the company that develop Jude would start a virtuous circle: 1. open source developers can use the full featured Jude UML modeling; 2. the open source libraries and tools have their quality improved; 3. Jude UML will be able to use higher quality libraries and tools and improve its own quality; 4. open source developer can use a better Jude UML software to develop their libraries and tools...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1432623474907196223-6654215689757126101?l=wcolen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wcolen.blogspot.com/feeds/6654215689757126101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1432623474907196223&amp;postID=6654215689757126101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/6654215689757126101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1432623474907196223/posts/default/6654215689757126101'/><link rel='alternate' type='text/html' href='http://wcolen.blogspot.com/2008/04/virtuous-circle-of-free-licencies-for.html' title='The virtuous circle of free licenses for open source developers'/><author><name>William Colen</name><uri>http://www.blogger.com/profile/13366982127952437945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
