
O trabalho que a comunidade Brasileira de Java realiza é de fato impressionante, mobilizar inúmeras cidades para poderem falar sobre Java é realmente algo de muito orgulho em ser brasileiro.
Estou muito feliz e honrado, por comparecer em 3 destas cidades: São Paulo, Salvador e se tudo der certo Belo Horizonte.
Em Salvador, estamos desenvolvendo vários projetos, levando open source em esfera profissional em vários segmetos para o estado da Bahia e para o Nordeste de modo geral. No caso do JavaBahia, obrigado pelo convite, e ao nosso parceiro NorthTech pelo convite.

Este ano não vou poder ir a Belém, minha cidade linda e querida, mas pelo que eu vi o evento está super bem elaborado e com presença de ótimos palestrantes.
Esse meu blog virou mesmo site de divulgação de eventos, mas estes valem a pena, vejo vocês por lá então
Tem gente que acha que esporte é só diversão. Durante as olimpíadas, eu conversei com muitos amigos, sob a tônica de “é preciso haver mais investimento em esporte no brasil”, especialmente da parte da iniciativa privada. Uma questão interessante que se pode levantar daí é o: “Será mesmo?”
Afinal, tem tanta coisa mais importante, como distribuição de renda, saúde, e educação. Então porque raios a gente deveria injetar dinheiro em um monte de marmanjo correndo atrás de uma bola, jogando uns aos outros no chão, ou até mesmo, dando saltos mortais em cima de um tablado?
Porque as pessoas gostam. Simples assim? É. Como eu já citei em posts anteriores, (por exemplo, esse), a gente costuma ganhar mais tentando entender como o mundo funciona, em vez de simplesmente espernear por ele não funcionar da forma com que a gente gostaria. E o ser humano, costuma ser extremamente competitivo.
A gente se junta em torcidas organizadas para sacanear uns aos outros. Tem a velha história de que brasileiro só é patriota na copa do mundo, etc. A gente adora vencer. E quando não dá, adora que façam isso em nosso nome. Uma competição costuma ser sempre uma ótima forma de se incentivar alguma coisa a acontecer.
Mas aí, deveriamos investir em esporte e esquecer a distribuição de renda, a saúde, e a educação?
Não. Meu ponto é exatamente que, o esporte é um grande incentivador pra que tudo isso aconteça.
No Brasil, excetuando meia dúzia de jogadores que começaram no São Paulo como Kaká e Raí, a maioria nasceu numa favela, trabalhava para sustentar os 20 irmãos e os os 10 avós, morando numa casa de 2m². Depois de um tempo, consegue uma condição de vida melhor para si, e para sua família. E isso acontece justamente por que somos competitivos, e vamos botar dinheiro o tanto que precisar para ver “o meu time ser campeão”.
Em tempo: Quando eu digo que o esporte precisa de mais investimento, não me refiro ao futebol ;-). Por haver menos interesse, os outros esportes podem não conseguir lançar a pessoa da pobreza ao estrelato, mas com certeza serão capazes de dar uma vida ao menos decente aos atletas de destaque.
Distribuição de renda é importante, e esporte é um grande promotor disso.
Na fórmula 1, por exemplo, a turma briga por milésimos de segundo, e anos depois, aquela tecnologia toda vem parar no seu carro. Tornando ele mais seguro, a gasolina mais eficiente, etc. Nos outros esportes é parecido, só que as tecnologias chegam em você. Porque os atletas querem ganhar, e outras pessoas querem que ele ganhe, é preciso entender como recuperar uma lesão muscular mais rapidamente e com mais eficiência, como diminuir as taxas de gordura corporal de forma saudável, como garantir provisões energéticas para atividades de explosão e longa duração, como sustentar o desempenho em idades mais avançadas, etc. Depois o jogo acaba, mas essas tecnologias, continuam aí.
Esporte é saúde.
Esporte é educação.
É claro que eu não estou advogando que o esporte é a solução para todos os problemas do mundo, e que tudo se resolve com ele. Mas sim, que existem milhares de benefícios que não se costuma ver, mas estão lá. Dinheiro para o esporte não é gasto. É justamente, investimento. Não só no atleta, no time, etc, mas em todo um ecossistema que faz essa coisa girar.
Ou você acha que o Michael Phelps simplesmente pulou na piscina e saiu nadando? Por trás de cada atleta, há uma rede complexa de atividades, que num futuro próximo, se verterão em benefícios. Para o atleta, para mim, e para você.

A LocaWeb entrou nos eventos de tecnologia agora não apenas como patrocinadores, mas como realizadores de um evento que pelo menos no desenho tem tudo para ser fabuloso. O Rails Summit contará com vários profissionais pesados internacionais e com os brazucas que fazem barulho nesta comunidade.
Você deve perguntar: “Por que este loco do Edgar está divulgado este evento de Rails se ele é um cara de Java?”, as respostas seriam:
Site do evento: http://www.locaweb.com.br/railssummit/default.asp?language=6
Trabalho de computeiro não é fácil. Você pode ter mais ou menos dessa atribuição, mas em última análise, uma grande parte do seu trabalho é sempre corrigir bugs.
Seja do seu novo pedaço de software que você começou a escrever ontem, e vai demorar anos para estabilizar, ou do software supostamente estável, o “novo” de dois anos atrás. Em algumas vezes, corrigir o bug envolve reestruturar todo seu algoritmo, já que ele mostra uma falha fundamental de sua lógica, ou estruturas escolhidas.
Mas na maior parte das vezes, corrigir um bug é bem simples: difícil, é descobrir porque raios ele acontece.
Uma vez estavamos no Instituto de Computação, eu, o meu amigo Alexandre Oliva, e o prof. Buzato, quando o Oliva fez a seguinte comparação: Se o nosso trabalho de depurar sistemas já é difícil, imagina o médico, que tem que ir lá e descobrir o que está acontecendo com o sistema rodando.
Interessantíssimo. O Buzato respondeu que apesar da desvantagem, o médico tinha uma outra vantagem: Se você não depurar o programa, ele fica lá, quebrado. O corpo humano não: Ele tem o sistema imunológico, que o torna “self-healing”: É como um sistema de meta-depuração, que acha que raios está acontecendo com o seu corpo, e manda umas celulinhas espertas resolverem o problema.
Eu, à época, só ouvi. Mas esses dias me ocorreram dois outros fatores que facilitam demais o trabalho dos médicos:
Dito isso, é óbvio também que o trabalho de corrigir bugs em um software não é o mesmo que de curar doenças no corpo humano. Corrigir bugs seria mais comparável, grosso modo, a corrigir falhas no código genético de um indivíduo. A comparação só é cabível porque se concentra no modus operandi das duas atividades, que é, em última instância, bem parecido.
ramkumar commented on an earlier post called “RH401: Passed” that he didn’t know what RHCDS mean. To serve a wider public, I am going to post a few links of interest for those who want to understand what goes around Red Hat Certifications:
Some of the courses overlap, some are specific. Read the descriptions, check the courses, and define your path.
I don’t know worldwide, but I can say that in USA and Brazil, RHCE is a pretty strong certification (better than LPI), and RHCA is rapdly becoming of higher importance.
Have fun!
Liguei a TV hoje, objetivando a SporTV, 37. O ‘3′ não saiu, e eu acabei ligando no 7: a TV Senado.
Pauta de hoje: CPI dos grampos. E valeu a pena. Liguei bem a tempo de ver o deputado Jorginho Maluly, do DEM-SP, citar Latino em seu discurso.
Era algo como: “É como aquela música do cantor Latino - Hoje é festa no meu apê. Essa coisa de grampos virou uma festa!”
Tá de parabéns.
Today someone asked me to help with a computer crash. I replied “try this, try that, then let me know if it works”. Fine minutes later, he replied to my e-mail with a URL:
http://www.youtube.com/watch?v=8Yr-Pp4PFVA
Uh, right. I got the message, sorry. ![]()
Um dos maiores mistérios nos quais eu consigo pensar, é o mistério da existência. Porque as coisas existem?
Note que não se trata da existência humana: Esse aí, depois de Darwin, ficou até fácil de responder.
Existimos enquanto vidas humanas porque a vida no planeta começou, e evoluiu, e blá, blá, blá.
E o planeta, oras? Ah, ele existe porque teve o tal do Big Bang, existe aí um balanço entre a força gravitacional e o movimento de expansão do universo, que mantém os planetas juntos, etc.
Mas e a força da gravidade? Porque ela existe? Aí entramos em algum território mais incerto, mas ainda assim, a física moderna te dá algumas respostas.
Mas a resposta sempre pressupõe a existência de alguma coisa anterior. E essa coisa, seja lá o que for, porque ela existe?
Porque estamos aqui, no sentido de, porque o universo inteiro não é um nada absoluto, de forma que nem faria sentido falar em “universo” ?
Em geral é nesse ponto que aparecem os religiosos, dizendo que deus é a resposta pra tudo isso. Obviamente, é uma resposta que não me satisfaz, porque ela simplesmente pressupõe que o universo existe pq existe um deus… mas não diz nada sobre porque ele existe. E se eu posso pressupor a existência de alguma coisa, posso colocar esse pressuposto em qualquer ponto arbitrário da linha de raciocínio. Por exemplo, nas particulas fundamentais. Pressupondo que elas existem, já dá pra fazer a sucessão com quase todas as peças do quebra-cabeças.
E o mistério da existência continua.
Mais uma diretamente dos confins das minhas aulas:
Eu disse aos alunos que eu sempre procurava alocar matrizes com linhas bem grandes, porque eu li no jornal que “linhaça” faz bem pra saúde
Realizei alguns testes no branch que deve ser um dos últimos antes do release GA do JBoss ESB, entre as inúmeras novidades, que vão desde monitoração até suporte a novos componentes, destacarei neste post, a comunicação com Enterprise Java Beans - EJB.
Por padrão o JBoss ESB Server que é o servidor JBoss com suporte aos componentes ESB, não traz o EJB Container embutido nele, entretanto provando que o JBoss App Server é um servidor 100% personalizável, nada impede que adicionemos este suporte, e para isto os passos são simples:
Copiando isto para o seu ESB Server , este por sua vez estará apto a receber componentes EJB3, já que o container EJB está agora junto do container ESB.Novo QuickStart: ejbProcessor Na versão GA, será possível testar um novo quickstart, o ejbProcessor, se você for fazer isto hoje do branche, deverá receber alguns erros do deployer do JBoss quando tentar realizar o deploy, na verdade, nem o script ant dos quickstarts deixa você fazer deploy no ESB Server, se este não tiver o EJB container instalado. Seguindo os passos acima, você poderá realizar o deploy sem problemas.
O mais importante notar neste novo quick-start é a declaração do Serviço EJB dentro do jboss-esb.xml:
Como você pode observar, dado que estes EJBs estejam associados a algum protocolo (jms, ftp, filesystem, email, rest etc), eles serão ativados de acordo como descrito no exemplo.
Como você pode imaginar agora, todo seu arsenal de EJBs podem facilmente responder a eventos dentro do seu barramento de serviços.
Bom uso de seus EJBs, sejam eles 3.0 ou 2.x!
[]s
E
Having lived in a poor country and having seen poverty on a regular basis, I believe that poor people deserve help. However, making poor people dependent on charity will just make their lives worse, because they will have less control over their own lives. I believe in helping people make themselves richer through micro financing with Kiva.
With most microfinance organizations, entrepreneurs in poor countries get access to loans, provided they have a business plan to make sure their earnings increase. Not only does this make sure they repay the loan, it also allows them to continue to have a better income after the loan is repaid. Having more money will mean they spend more money, most of it locally with other local business owners.
Lending through Kiva allows you to help a local entrepreneur in a poor country and stimulate the local economy around that small company. Better still, after a while you get your money back and you can recycle it into the next micro loan, helping people over and over again.
Esse o vídeo que mostramos durante o roadshow, definitivamente é bastante inspirador, pensar que open source se tornou tudo que vemos hoje. No final, apenas posso compartilhar o orgulho do nosso time no brasil em trabalhar para uma empresa que nasceu open source.
Este é um vídeo para sensibilizar minha querida esposa que chama a mim e meus amigos de nerds, esse vídeo descreve um pouco de nossas vidas:
Muito se diz a respeito da seleção natural. Mas uma coisa é certa:
Nesses últimos tempos, ela com certeza está muito melhor que a seleção brasileira…
O JON - JBoss Operations Network é a solução de monitoração, alertas e controle dos ambientes de plataformas JBoss. O JBoss Profiler é a solução de profiler desenvolvida para JBoss que na versão 1.0 era possível ser executada para medir problemas de aplicações em qualquer Servidor de Aplicações, entretanto, na versão 2.0 estamos focando no ambiente JBoss.
Criei um plugin para o JBoss Operations Networks que embarca o JBoss Profiler 2.0 nele, a idéia está ganhando caminhos maiores, ao passo que em breve deverá fazer parte da distribuição do JON . Você pode perguntar o que será possível fazer com esta integração, entre as capacidades podemos citar:
Em breve, publicaremos mais informações destas novas funcionalidades do JON por aqui, a seguir alguns screenshots:
– pt_BR
Após 3 décadas de desenvolvimento, acaba de ser lançado Mauricio 3.0! Nesta nova versão, você poderá encontrar:
Piadas nerd à parte, é verdade… Hoje faço 30 anos. Difícil de acreditar que cheguei aqui. Quando lembro da minha adolescência, nunca pensei que chegaria. E agora? O que fazer? Sei lá, vamos tocando o barco e ver no que dá.
A propósito, se você acha que eu mereço um presente, não vou ficar nada chateado se você escolher alguma coisa da minha lista de sugestões.
– en
After 3 decades of development, Mauricio 3.0 is just being released! In this new version you can find:
Nerd jokes aside, yes, it’s true… Today is my 30th birthday. Hard to believe I made it so far. When I remember my youth, never thought I would get here. What’s next? What to do? I don’t know yet, so let’s keep the ball rolling and see where it takes.
By the way, if you think I deserve a treat, I won’t bother if you pick something from my wish list. ![]()
Pensei numa piada glommeriana muito boa hoje na aula. Tão boa, que o mundo precisa saber.
Uma matriz esparsa é uma matriz com poucos (para alguma definição de poucos) elementos não-nulos.
O que seria então, uma matriz com exatamente 300 elementos utilizados, dado que esses elementos são ultra-foda e totalmente bons de briga?
Matriz Esparta.
Para quem ainda não sabe, a notícia: Esse semestre, estou dando dois cursos na PUCC. Um deles, estrutura de dados.
No meio de uma das aulas, um dos alunos (que eu nem lembro quem), provavelmente influenciado pelos seus professores anteriores pertencentes ao culto de Dijkstra,
comentou que “goto é feio”.
Fiz meu dever, e expliquei pra eles que feio é o caro colega (o professor, não o aluno) que disse isso. Mas aí resolvi, pra complementar, ressuscitar dos archives da internet, uma discussão clássica que ilustra o ponto. Protagonizada por ninguém mais ninguém menos, que um dos maiores tratores humanos da internet: Linus.
É impressionante o tipo de argumentação que se encontra contra os gotos. Em geral, o motivo é: “Me disseram que é errado”.
A discussão inteira está aqui, mas eu vou salientar alguns trechos em particular:
However, I have always been taught, and have always believed that “goto”s are inherently evil. They are the creators of spaghetti code
— Rapaz Perdido
Note o começo da frase: “Eu não faço a menor idéia, mas me ensinaram assim, me contaram assim, está no livro, dane-se a realidade. Feio! Feio! Feio!”
No, you’ve been brainwashed by CS people who thought that Niklaus Wirth actually knew what he was talking about. He didn’t. He doesn’t have a frigging clue.
— Linus
E o que eu falei para os meus alunos foi mais ou menos isso. Pelo menos esse tipo de lavagem cerebral não é exclusivo da computação:
Quem entra num curso de ciencias humanas sofre a lavagem cerebral do marxismo, (”Capitalismo: feio! feio! feio! injusto!”), e na ciência da computação
não podiamos ficar pra trás. Pena que não tem nenhum curso ensinando a como escapar delas.
I thought Edsger Dijkstra coined the “gotos are evil” bit in his structured programming push?
— R. Love
Claro que, como todos sabemos, foi o Dijkstra quem começou com essa perseguição fundamentalista aos coitados dos gotos. (ok, ok, não acho que tenha
sido o dijkstra, e sim a legião de perdidos que leram o artigo, acharam que aquela era a letra da lei, e como é de costume em toda religião, começaram a querer
queimar os outros depois)
E essa vale a pena pelo costumeiro humor torvaldiano:
Yeah, he did, but he’s dead, and we shouldn’t talk ill of the dead. So these days I can only rant about Niklaus Wirth, who took the “structured programming” thing and enforced it in his languages (Pascal and Modula-2), and thus forced his evil on untold generations of poor CS students who had to learn langauges that weren’t actually useful for real work.