Sexta-feira, 16 Novembro 2007

Ler arquivos do office com Java

Dicas

No passado existiu uma situação no projeto, em que existiam vários documentos de projeto (guia, arquitetura, requisitos, manual, etc.), vindo de diferentes fontes (diretório de backup, cdrom), e são documentos office (doc, xls, ppt), e vários documentos repetidos, mas de origens diferentes.

Então como saber qual é o último arquivo e remover os antigos ?

Uma maneira é abrir cada arquivo e olhar nas propriedades do mesmo, mas fazer isso manualmente com cerca de 300 arquivos, poxa não sou mais estagiário para isso :-D (nada contra os estagiários).

Então fiz um programa em java, que usa a API SDK do OpenOffice para ler estas propriedades e mostrar as datas da última modificação e o autor.

Claro que é possível usá-lo para ler qualquer outra propriedade ou expandir para outros usos.

Atualmente a pesquisa é efetuada nos seguintes arquivos com extensão: sxw doc xls odt ods pps odt odp ppt 

Altere o DocViewer.java para adicionar outras extensões. 

Faça o download do código fonte: DocViewer.java
(remova a extensão .txt)

Requerimentos: 

Em tempo de compilação é necessário as seguintes bibliotecas:

$OO_HOME/program/classes/juh.jar
$OO_HOME/program/classes/jurt.jar
$OO_HOME/program/classes/jut.jar
$OO_HOME/program/classes/ridl.jar
$OO_HOME/program/classes/unoil.jar

A variável OO_HOME aponta para o diretório de instalação do OpenOffice. No meu caso uso o BrOffice, que está instalado em /opt/broffice.org2.3

Em runtime:

  • Instalação do OpenOffice
  • X Virtual Frame Buffer (Xvfb)
  • Java (testei com a versão 5)

Compilação

Essa parte é simples, use sua IDE favorita ou o javac

javac -classpath /opt/broffice.org2.3/program/classes/\* src/claudius/DocViewer.java

Usei o classpath wildcards, válido apenas para o Java 6

Uso

Para colocar o openoffice em modo servidor, usei um servidor X virtual, isso é para ambiente servidor, onde não é necessário ter um monitor nem interface gráfica. No caso foi instalado o X Virtual Frame Buffer.

Se não puder instalar um servidor X virtual e iniciar a aplicação openoffice manualmente, tudo bem, basta não informar qual o servidor X a ser usado. Veja o exemplo abaixo:

Com servidor X virtual 

Xvfb :5 -screen 0 800x600x16 & 
/opt/broffice.org2.2/program/soffice -accept="socket,host=127.0.0.1,port=8100;urp;" -display :5 -headless -norestore -invisible &

Sem servidor X virtual

/opt/broffice.org2.2/program/soffice -accept="socket,host=127.0.0.1,port=8100;urp;" -headless -norestore -invisible &

Invocar o programa Java

A sintaxe para invocar é

java -classpath $CP claudius.DocViewer <path do arquivo ou diretório>

O classpath $CP é o mesmo usado na compilação, em adição ao diretório da classe DocViewer compilada.
O path, pode ser um arquivo único ou diretório, que neste último caso irá pesquisar nos subdiretórios também. 

Exemplo 

java -classpath build/classes/:/opt/broffice.org2.3/program/classes/\* claudius/DocViewer arquivo-projeto.odt

O resultado:

dir  = /home/claudio/resources/palestras/2007/10_justjava
file = diagnostico2.odp
Modified by: Claudio Miranda 5/10/2007 17:46:8

Se essa dica foi útil para você, deixe uma mensagem comentando como isso lhe ajudou.

Escrito por claudio at 3:36 PM categorizado por Java

Tags: dicas java linux

Quarta-feira, 14 Novembro 2007

Palestra "Performance em Aplicações Java" disponível

A palestra que ministrei no evento Conexão Java 2007 está disponível para download. Ou você pode assistir on-line à apresentação.

Nesta palestra coloquei mais algumas dicas de performance em Java, bem como houve uma sessão de QA ao final.

Quero agradecer à organização do evento pela oportunidade e à galera que aguentou firme 1,5h de assunto um tanto pesado.

Escrito por claudio at 5:20 AM categorizado por Java

Tags: java noticias palestra performance

Sábado, 10 Novembro 2007

450 GB de HEAP

Conversei com alguns colegas sobre um artigo que li há um tempo, onde mostrava que o BEA JRockit foi usado em um heap da ordem de terabytes.

Pois eu confundi, e o heap é de 450 GB. Vejam o artigo

Escrito por claudio at 8:14 PM categorizado por Java

Tags: java performance

Quinta-feira, 8 Novembro 2007

Slides das palestras do JustJava 2007, disponíveis para download

Dicas

Os slides das palestras do JustJava 2007, estão disponíveis para download.

Estão em diferentes formatos, PDF, OpenOffice e PowerPoint.

Recebemos uma avalanche de pedidos para acesso aos slides, finalmente eles estão disponíveis.
 

Escrito por claudio at 12:09 PM categorizado por SouJava

Tags: eventos java justjava noticias soujava

Quarta-feira, 7 Novembro 2007

Conversão de charset para UTF-8, modo gráfico

Dicas

Segue uma maneira fácil de converter arquivos ou nome de arquivos para UTF-8. Um exemplo é quando copia-se arquivos acentuados em windows para linux, o nome de arquivo não é convertido, ficando um nome ilegível. Então deve-se converter o nome do arquivo para UTF-8.

Na dica anterior, foi mostrado como modificar o conteúdo do arquivo para UTF-8. O uso da ferramenta konwert por linha de comando é útil quando se tem muitos arquivos a serem verificados. Quando se tem poucos arquivos e estão visíveis na interface gráfica, torna-se mais prático usar alguns cliques para resolver isso.

Então a dica fica com o uso de um script específico para o Konqueror (KDE) que abre um menu de contexto com opções de conversão. O script é o ToUTF-8, encontrado no kde-apps.org, as instruções de instalação estão no site.

Requisitos

  • Linux
  • KDE
  • Konqueror
  • recode

Eu uso o gerenciador de arquivos krusader, que acho bem mais prático do que o konqueror.

Clique na imagem abaixo, para ver como ele funciona. 

Clique na imagem para ampliar

Escrito por claudio at 5:26 PM categorizado por Dicas e Scripts

Tags: linux dicas

Terça-feira, 6 Novembro 2007

Computador do Maltron

Revelado, qual é o computador do Maltron, onde ele aprendeu todas as técnicas Java, Mobile, e Kendo (on-line)

Computador do Maltron

Escrito por claudio at 1:31 AM categorizado por Fotolog

Tags: diversao

Segunda-feira, 5 Novembro 2007

Conversão de charset para UTF-8

Em ambientes de desenvolvimento heterogêneos, onde existem diferentes sistemas operacionais e IDEs, é comum encontrar problemas de caracteres com encoding diferentes, como ISO-8859-1, UTF-8, etc.

No projeto que trabalho atualmente, existem windows e linux (por enquanto não tem apple), então é comum existirem arquivos com ISO-8859-1, ASCII e UTF-8.

Então não é uma boa idéia gravar arquivos .java, vogais com acentos e gravar em ISO-8859-1 e outro colega abrir esse arquivo em seu linux com UTF-8, uma bagunça.

Então segue um script para linux que verifica os encodings dos arquivos e outro que converte para UTF-8. Note que o script não mostra o arquivo se ele já estiver em UTF-8.

É necessário o utilitário konwert. Já usei anteriormente o recode e iconv, mas achei o konwert mais prático. E ele oferece uma opção interessante, onde ele tenta descobrir qual o encodingo do arquivo, através da opção any/pt/all-test

Script 1 - checagem do encoding

#!/bin/sh

if [ $# -lt 1 ] ; then
    echo ""
    echo " Informe um diretório para pesquisar os arquivos .java "
    exit 1
fi

find $1 -name \*.java -exec file {} \; | egrep -v 'ASCII|UTF' | while read s; do 
	ff=`echo $s | awk -F ':' '{print $1}'`;  
	file $ff; 
	echo " charset   "; konwert any/pt/all-test  $ff; 
done

Script 2 - Conversão para UTF-8

#!/bin/sh

if [ $# -lt 1 ] ; then
    echo ""
    echo " Informe um diretório para converter os arquivos .java para UTF-8"
    exit 1
fi

find . -name \*.java -exec file {} \; | grep 8859 | while read s; do 
	ff=`echo $s | awk -F ':' '{print $1}'`;   
	konwert cp1252-utf8 -O  $ff; 
done                      

No script de conversão é usado a opção -O, que faz com que o arquivo original seja trocado pelo arquivo com encoding UTF-8 

Escrito por claudio at 1:46 PM categorizado por Dicas e Scripts

Tags: linux dicas java

Domingo, 4 Novembro 2007

Quer uma chácra ?

Escrito por claudio at 5:06 PM categorizado por Fotolog

Tags: diversao fotos

Sexta-feira, 26 Outubro 2007

Descobrindo senha de banco de dados

Dicas

Você já passou por aquela situação de desconfiança, onde ao informar a senha de acesso ao banco de dados e pensou "poxa, tenho de informar a senha em texto limpo ?", desejando que a senha estivesse cifrada.

Isso por padrão ocorre em alguns servidores de aplicativos, onde a senha de acesso ao banco de dados é informada em texto limpo, em outros servidores de aplicativos a senha ecoa em asteriscos, deixando o usuário confortável que a senha está segura. Bem, não acredite nisso, a senha não está segura.

O que quero mostrar é que a senha pode ser extraida de outras maneiras, como inspecionar os pacotes de mensagens IP. O que pode garantir a senha é uma combinação de práticas e configurações para deixar o ambiente mais seguro.

Passo aqui um exemplo de como obter a senha do oracle configurado em um servidor de aplicativos conhecido no mercado.

Vejam abaixo na configuração da conexão, que a senha esta protegida por asteriscos


Faça os seguintes passos, para ver a senha no log

  1. Usar a biblioteca JDBC de debug da oracle: ojdbc14_d.jar
  2. Usar o driver XA oracle.jdbc.xa.client.OracleXADataSource
  3. Incluir as seguintes propriedades de JVM
    -Doracle.jdbc.Trace=true
    -Doracle.jdbc.LogFile=/var/tmp/oracle-trace/trace1
    
  4. Reiniciar o servidor de aplicativos

Basta acompanhar o log de trace do oracle ou do servidor de aplicativos, que a senha será impressa desta maneira

INFO: OracleXADataSource.getXAConnection()
03/10/2007 15:33:16 oracle.jdbc.xa.client.OracleXADataSource getXAConnection
INFO: OracleXADataSource.getXAConnection(user = claudio, passwd = admin123)
03/10/2007 15:33:16 oracle.jdbc.driver.PhysicalConnection setAutoCommit

Bonito não é ?

Para o Oracle é usado uma funcionalidade documentada, que é o trace das chamadas. Mas infelizmente, a senha é impressa junto. E vejam que nem com SSL, a senha é protegida.

E é necessário ter privilégios de administração do servidor de aplicativos.

Quando que isso pode ser útil ?

Já trabalhei em lugares onde a senha do banco de dados, era digitada no console do appserver, pelo próprio pessoal da equipe de DBA, e em algumas situações era necessário realizar alguma pesquisa no BD, então essa dica vale a pena.

Em banco de dados de código livre fica mais fácil, basta usar o código fonte do driver JDBC, modificar o código fonte para imprimir a senha e pronto.

Em banco de dados que não são de código livre, basta criar sua classe que estende DataSource e sobrecarregar o método getConnection e fazer um proxy para o DataSource do driver JDBC.

Então, percebam que os asteriscos no textfield não significam segurança para a senha do banco de dados.

Tenho essa dica há uns 3 anos e percebi que não escrevi sobre ela ainda.

Se essa dica foi útil para você, deixe um comentário, informando como ela lhe ajudou ! 

Escrito por claudio at 7:17 AM categorizado por Dicas e Scripts

Tags: java dicas

Quarta-feira, 24 Outubro 2007

Conexão Java 2007 - Palestra sobre performance

Conexão Java 2007, eu vou !

Já percebi outros blogueiros comentando sobre o Conexão Java 2007, próximo dia 09 de novembro em São Paulo. Então eu já estava atrasado para escrever sobre isso.

Recebi um convite para efetuar uma palestra sobre Performance de Aplicações Java, e aceitei com honra participar de tal evento que conta com prestígio da comunidade Java.

Performance é um tema bastante abrangente, e como tenho uma certa atração por esta área, então tenho muitas horas para conversar e explicar sobre esse tema, cobrindo, análise, ferramentas, técnicas, ambientes, código e infraestrutura. Provavelmente o evento não irá ceder o auditório para 3h de palestra + discussão.

Então nesta palestra coloco como foco a performance em aplicações Java, mostrando os problemas comuns em um projeto que não consdera a performance desde a concepção, e como consequência a aplicação não se comporta bem em produção.

Como irei focar no problema e sua solução não posso deixar de mostrar as ferramentas que dão suporte a resolução desses problemas. Basicamente irei mostrar esses tópicos

  • Performance na concepção do sistema
  • Problemas e soluções comuns de memória e CPU
  • Ferramentas e Técnicas


O objetivo nesta palestra é fornecer um conjunto de técnicas, dicas e ferramentas de como abordar e resolver o problema.

Se você trabalha em alguma empresa ou projeto que está com problemas em desempenho, venha e conheça um pouco do que será mostrado.


Escrito por claudio at 2:46 PM categorizado por SouJava

Tags: soujava java palestra eventos performance

Quinta-feira, 18 Outubro 2007

Controle sua apresentação OO pelo seu telefone celular

Em palestras, é muito comum o palestrante controlar o avanço e retrocesso dos slides, pressionando o botão do teclado ou mouse.

Mas sempre tem uma galera que não fica contente com as coisas convencionais, então que tal usar seu telefone celular para controlar o avanço/retrocesso dos slides ?

É exatamente isso que faz a aplicação Mobile OpenOffice Controller, de autoria do Bruno Ghisi e Lucas Torri.

Testei e funcionou de primeira, recomendo a todos. Isso serve de uma boa demostração de tecnologias diferentes.

A aplicação usa

Faça você o teste também e dê um feedback sobre o funcionamento.

Escrito por claudio at 5:09 AM categorizado por Java

Tags: java dicas

Oportunidade de trabalho na Summa Technologies

Pessoal, segue oportunidade para 2 vagas em nosso time na SummaTech em São Paulo

 

Desenvolvedor Pleno/Senior

Experiência:
Arquitetura de aplicações Java EE
Desenvolvimento de aplicações Java
Conhecimentos avançados de Java EE

Formação:
-Engenharia da Computação e afins
-Ciências da Computação
-Sistemas de Informação

Requisitos Técnicos:
-Conhecimentos em Java SE e Java EE
- Sockets
- IO
- Multi-threading e programação concorrente
-Análise de desempenho e performance de aplicações (performance tunning)
-Desenvolvimento de aplicações para ambientes de alta disponibilidade e missão crítica
-Experiência na utilização de ferramentas de análise de performance de aplicações (ex: JMeter)

Desejável:
-Sistemas Operacionais: Solaris e Linux
-Bancos de Dados Relacionais

Idiomas:
Inglês intermediário

Diferencial:
- Sun Certified Java Programmer
- Sun Certified Java Developer
- Sun Certified Architect
- Experiência em produtos Fog Light (Quest Software)


Para seus colaboradores a Summa fornece como diferenciais um excelente ambiente de trabalho, oportunidades de crescimento profissional à frente de projetos inovadores, remuneração e valorização profissional compatíveis com o perfil e experiência de cada pessoa.

A Summa Technologies oferece consultoria especializada em todas as etapas de desenvolvimento de software, desde a capacitação da equipe técnica (mentoring) e arquitetura de sistemas até análise de desempenho e ambientes de execução, com ênfase em aplicações escaláveis de missão-crítica. Seus consultores são palestrantes frequentes nos principais eventos nacionais e internacionais de tecnologia, com participação direta em todos os três sistemas brasileiros premiados com o JavaOne Duke Award.

Contato........: Thais Fernandes
Telefone.......: 11-3055-2058
E-Mail.........: curriculo@summa-tech.com

 

Escrito por claudio at 2:37 AM categorizado por Summa-Tech

Tags: summa oportunidade vaga

Quarta-feira, 17 Outubro 2007

Mauricio Leal e Bruno Ghisi em podcast do java.net

Na comunidade de Mobile and Embedded do java.net, existem podcasts com entrevistas e notícias

Então aviso que foi publicado um podcast intitulado "Mobile & Embedded Community Stars", com entrevista de dois brasileiros membros da comunidade, Maurício Leal e Bruno Ghisi. Fica meu agradecimento e paráens a ambos pelo trabalho que conduzem junto a comunidade Java Mobile. 

O Maurício Leal, amigo foi motivo de outro podcast "Mobility and the Mobile and Embedded Community",  e participa em eventos compartilhando seu conhecimento em Java Mobile.

O Bruno Ghisi, conheci no JustJava, onde conversamos um pouco sobre Java Mobile e alguns problemas da plataforma, que ainda não foram solucionados (como certificação digital). O Bruno é líder do projeto Marge (framework para desenvolvimento em Java com Bluetooth).

Parábens ambos profissionais e membros da comunidade Java brasileira.

Vi que no site do projeto Marge uma referência ao projeto mOOo Impress Controller, uma aplicação que é possível controlar o avanço dos slides do OpenOffice, através do telefone celular. Fiz o download e amanhã coloco minhas impressões.

Escrito por claudio at 5:21 PM categorizado por SouJava

Tags: soujava java noticias

Terça-feira, 16 Outubro 2007

Site péssimo, Linhas Aéreas Gol

­

A empresa aérea Gol, com preços baixo oferece vantagens frente às concorrentes.

Mas não tente usar o serviço de atendimento virtual, pois não funciona.

Tanto o atendimento on-line e o formulário de contato não funcionam.

Tentei usar o serviço de atendimento por chat, onde solicitam várias informações (nome, telefone, cpf, email, cidade, estado, etc), foram preenchidas corretamente (inclusive a máscara de formatação  11-2222-3333), mas algum javascript rídiculo (com seu popup) não hesitava em me informar que o email ou o telefone foi preenchido incorretamente. Basta pressionar o botão de envio seguidas vezes que a validação ignóbil se alterna entre os dois campos. Desconfio que esse problema seja porque a equipe de TI da Gol, imagine que só exista plataforma windows. Ponto negativo para a equipe TI da Gol.

Então tentei usar o formulário de contato, para escrever sobre esse problema, onde após preencher todos os campos e escrever o motivo original (onde salvei em outro editor, para segurança), ao submeter, surge a seguinte tela

Já que não é possível enviar formulário, então desabilitem isso. O que é deprimente, a mensagem é estúpida.

Outro problema, é ao clicar nos links das promoções da página principal (atualmente aparece a promoção da volta por R$ 10), é aberta uma página que tem o link para acesso à compra da passagem, mas quando clica-se no link para escolher o trecho, surge uma página em branco, nada mais. Então olhando o código fonte HTML, vejo outra agressão ao padrão HTML

<html>
<head>
<title>Gol linhas Aéreas Inteligentes</title>
<form method="post" name="frmRedirect" action="http://compre3.voegol.com.br/skylights/cgi-bin/skylights.cgi">
<input type="hidden" name="module" value="SB">
<input type="hidden" name="language" value="PT">
<input type="hidden" name="mode" value="JURO">
</form>
<script language="javascript">
frmRedirect.submit();
</script>
</body>
</html>

Para resolver isso basta concatenar os inputs em uma requisição GET

http://compre3.voegol.com.br/skylights/cgi-bin/skylights.cgi?module=SB&language=PT&mode=JURO

Se com o firefox é assim, imaginem os usuários Opera e Konqueror. Para não falar de outros navegadores mais exóticos.

Escrito por claudio at 7:48 PM categorizado por Diversos

Quarta-feira, 10 Outubro 2007

Aussie Floyd, eu fui

Aussie Floyd

Fui ao show do Aussie Floyd no Via Funchal na última sexta-feira, dia 05/out. Ao chegar já estava tocando Mother, procurei rapidamente meu lugar, meio que tropeçando nos outros, então encontrei minha cadeira. Cadeira ? isso mesmo, todo mundo sentadinho e comportado. Mas em várias músicas a galera levantava para cantar.

O show foi ótimo, farei algumas considerações abaixo, mas foi muito bom, consegui escutar os maiores sucessos, tanto da época do Roger Waters bem como depois (On The Turning Away).

Em várias músicas, a galera toda levanta e assovia, canta junto, muito bacana. Das músicas que tocaram lembro: Mother, On The Turning Away, Pigs, Money, Comfortably Numb, Another Brick in the Wall, Run Like Hell, Wish You Were Here, Time, Us and Them, Welcome to the Machine, Take It Back, Learning To Fly, In the Flesh, Eclipse, Brain Damage

Minha ressalva quanto ao show, foi que o não teve equipamento de luz diferenciado, como se vê nos vídeos da banda no youtube, teve o equipamento de luz tradicional. Outra ressalva foi que tocaram apenas 2h, com um bis apenas, poderiam ter tocado mais. É sempre assim, nêgo nunca tá satisfeito :-D

Quando existir um Pink Floyd Forever 24h, me avisem, assim estarei saciado.
 

Tirei algumas (poucas) fotos.

Aussie Floyd no Via Funchal

Gravei vídeos de algumas músicas, em especial acompanhem a música "Another Brick in the Wall" e percebam um arranjo especial no tempo 1:46

Segue abaixo um pedaço da música "Wish You Were Here"

Escrito por claudio at 9:11 PM categorizado por Musicas, Rock, Shows, etc.

Tags: musica show pink floyd

Terça-feira, 9 Outubro 2007

Vídeo do SouJava

Fiz um vídeo que mostra um pouco do que o SouJava já fez. Fiz de última hora, mas ficou bem legal.

Já recebi sugestões para melhorias e uma versão em inglês.

Se você tiver alguma sugestão, deixe um comentário ou escreva para mim: claudio em claudius com br

Escrito por claudio at 5:37 PM categorizado por SouJava

Tags: soujava java

Quinta-feira, 4 Outubro 2007

Aussie Floyd, eu vou

Aussie Floyd

Mais Pink Floyd, mas desta vez com o Aussie Floyd - TAPFS - O cover do Pink Floyd, que faz turnê mundial. Já conheceu alguma banda cover que faz turne mundial ?

Veja algumas apresentações dos caras.

No passado (2002) não consegui ir ao show "In The Flesh" do Roger Waters (ex-vocal do Pink Floyd), e em uma outra data, também não fui em outra turnê to Aussie Floyd, só vi o cartaz quando sai do aeroporto dizendo que foi na noite anterior, grhumpffffffffff.

Mas, de uns tempos para cá isso mudou, pois assinei o feed do Whiplash, que contém muitas notícias de Rock em geral, então já marquei na agenda o show do Aussie Floyd. Não perco mais nenhum show.

O que me deixou indignado, foi que o Aussie Floyd viria para Brasília, estava tanto no site do Aussie Floyd, como no site do organizador, mas na semana do show, não vi nenhuma notícia relacionado ao show em Brasilia, então corri atrás enviei email para os organizadores e o TAPFS, não obtive resposta, mas depois tiraram Brasilia do circuito de shows, no site do TAPFS. Paciência.

Próxima sexta em São Paulo, via Funchal estarei no show do Aussie Floyd e também para uma palestra no evento JustJava.

Escrito por claudio at 3:13 AM categorizado por Musicas, Rock, Shows, etc.

Tags: musica show pink floyd

Quarta-feira, 3 Outubro 2007

JustJava 2007, nos vemos por lá

Dicas

O evento JustJava começa hoje, e pela programação de palestras, tem muita informação importante.

São 3 dias de intensa informação, com tópicos que cobrem quase todos os aspectos da tecnologia Java. E apenas uma informação, coloquei um mapa fácil para chegar ao SENAC Santo Amaro.

O Mauricio Leal, escreveu uma série de mensagens que mostram um pouco de cada palestra e seu palestrante, procurem pelas mensagens com a palavra justjava.

Também vou assistir algumas palestras, sobre tuning e garbage collector, JavaServer Faces, AOP. Como chegarei ao evento apenas na quinta-feira, não conseguirei assistir algumas palestras que gostaria.

Minha palestra "Ferramentas e Técnicas para Resolução de Problemas em Desempenho de Aplicações em Java", marcada para sexta-feira as 16h, irei mostrar por onde começar a olhar o problema, quais ferramentas usar, qual o nível de intrusão no ambiente e problemas comuns.

As muvucas irão ocorrer na quarta e quinta-feira as 19:30. Para quem ainda não conhece, as muvucas são reuniões efetuadas após o eventos, cujo objetivo é reunir experts e interessados em um tópico, com sessões de perguntas/respostas e dicas. Considero a muvuca uma das partes mais bacanas do evento, pois permite ter uma interatividade maior com palestrantes, onde podem perguntar algo sobre a palestra que não teve tempo, durante a palestra.

Escrito por claudio at 3:22 PM categorizado por SouJava

Tags: soujava java palestra eventos performance justjava

Segunda-feira, 10 Setembro 2007

Veja a programação do JustJava 2007 no seu celular

Dicas O evento JustJava 2007 está próximo, será no dia 03 a 05 de outubro em São Paulo. A grade de eventos já foi publicada.

O evento conta com muitas palestras bacanas e ótimos palestrantes, tratando de temas que podem lhe ajudar a resolver problemas do seu trabalho ou mesmo influenciar próximas decisões profissionais.

Uma das palestras é sobre "MIDP 3, o futuro do Java ME" que será ministrada por Marlon Luz e Luiz Anjos, que trata dos avanços da tecnologia Java usada em telefones e palmtops. O Marlon e Luiz criaram uma aplicação Java capaz de mostrar a programação de palestras do evento, veja no site uma demonstração, copie e instale no seu telefone celular, ficou muito bacana.

Escrito por claudio at 2:16 PM categorizado por SouJava

Tags: soujava java justjava

Evento Java em Cuiabá, 4o JAVAC

Próximo dia 15 de setembro em Cuiabá, irá ocorrer o evento JAVAC "Java em Cuiabá", organizado pelo JUG cuiabano CAJU (Cuiabá Java Users).

Dicas Clique na imagem ao lado para ver o cartaz do evento, completo com a programação e local.

Cuiabano bom que sou, aceitei com muito prazer participar do evento, que visa agregar e disseminar a tecnologia Java na região cuiabana.

Veja a programação do evento

08:00  Abertura do Evento
08:30   Engenharia de Software e Práticas Aconselháveis de Implementação Java
Marcos Daniel / Shimokawa
10:00  Produtividade no Desenvolvimento JavaEE com Software Livre
Fernando Lozano
14:00 NetBeans e Mustang: Acelerando o seu desenvolvimento Java
Claudio Miranda
15:00 Acelerando o Desenvolvimento Através de Frameworks
Tiago Lacerda / Ed Fernando
16:30 Apache Struts 2 - Turbinando o Desenvolvimento Web
Claudio Miranda
18:00   Entrega dos Alimentos
Encerramento do Evento

Em anos anteriores participei do evento, e realizando justa causa, parabenizo o Thiago Lacerda, Ed Fernando e a comunidade Java em Cuiabá, pois não é fácil manter um JUG, efetuar palestras, cuidar de eventos, tudo isso no tempo livre.

Já convidei colegas que já trabalhei anteriormente para prestigiar o evento.

Escrito por claudio at 1:46 AM categorizado por SouJava

Tags: soujava java palestra eventos

Sexta-feira, 10 Agosto 2007

Dicas de SSH (v2)

Dicas Em junho publiquei uma dica no uso de ssh, sem solicitar a senha do servidor. Isso envolve criar uma chave privada/pública e colocar a chave pública no servidor.

Ocorre que essa chave pode ter uma senha para proteger contra acesso não autorizado (passphrase), que é diferente da senha de login ssh.

Ao usar a dica que coloquei anteriormente, mas informando um passphrase, em cada conexão com o ssh, é necessário informar a senha do passphrase, o que invalida toda a dica, onde não é necessário informar senha nenhuma. Dai o motivo de não informar um passphrase.

Então conversando com o colega Bruno Borges da Summa (aka Miojo), ele disse que usou o ssh-agent para proteger o passphrase.

Então complementado a minha dica anterior,

  1. Geração de chave RSA de 2048 bits
    ssh-keygen -b 2048 -t rsa
    

    Desta vez informe um passphrase

  2. Use o ssh-agent para guardar o acesso ao passphrase
    $ eval `ssh-agent`
    $ ssh-add <private key file> # e.g. ~/.ssh/id_RSA
    $ ssh-add -l

A dica de como usar o ssh-agent, peguei de outro site.

­

Agora pode seguir o restante da dica anterior a partir do passo 2

Escrito por claudio at 9:26 PM categorizado por Dicas e Scripts

Tags: linux dicas

Segunda-feira, 30 Julho 2007

Como encontrar uma classe ?

Dicas Nesta dica mostrarei duas dicas que me ajudam muito no dia a dia.

1) Encontrar em qual biblioteca está uma classe 

Existem diversas situações onde é necessário encontrar em qual biblioteca encontra-se uma determinada classe Java.

Em 2004 coloquei uma dica de um script bash que resolve isso. Esse script mostra todos os arquivos que ele vasculhou para procurar a classe, mesmo que a classe não estivesse no arquivo, ele seria mostrada mesmo assim, causando desperdício de tempo e de tela.

Então aproveitei um tempinho e arrumei o script, onde é mostrado apenas o arquivo que contém a classe procurada e ainda arrumei a impressão da tela.

#!/bin/sh

usage="Uso:        findJavaClass directory ClassName   "

if [ $# -lt 2 ] ; then
    echo $usage
    exit 1
fi

if [ -d $1 ] ; then
    FIND_CMD="find $1"
else 
    echo "Diretorio nao existe"
    exit 1    
fi

$FIND_CMD -name \*.jar | while read jar_file ; 
do
    found_class=`unzip -l $jar_file | awk '{print $4}' | grep  $2`
    num_classes=`echo $found_class | wc -c`
    if [ $num_classes -gt 1 ] ; then 
        echo ""
        echo "Arquivo:"
        echo "    $jar_file"
        echo "Classes:"
        echo $found_class | sed 's/\ /\n/g' | sed 's/^.*/\ \ \ \ &/g'
    fi
done

  

E o um resultado como exemplo:

$ findJavaClass ~/javaSoftware/netbeans-5.5.1/ide7/modules/ext/jaxws21/ Task

Arquivo:
    /home/claudio/javaSoftware/netbeans-5.5.1/ide7/modules/ext/jaxws21/http.jar
Classes:
    sun/net/httpserver/ServerImpl$ServerTimerTask.class

Arquivo:
    /home/claudio/javaSoftware/netbeans-5.5.1/ide7/modules/ext/jaxws21/jaxb-xjc.jar
Classes:
    com/sun/istack/tools/ProtectedTask$AntElement.class
    com/sun/istack/tools/ProtectedTask.class
    com/sun/tools/jxc/AptBasedTask$1.class
    com/sun/tools/jxc/AptBasedTask$AptAdapter.class
    com/sun/tools/jxc/AptBasedTask$InternalAptAdapter.class

  

2) Como mostrar o conteúdo de um arquivo que está compactado ?

Quantas vezes por dia você descompacta um arquivo só para olhar o conteúdo do manifest ?

Então segue mais uma dica, onde não é necessário descompactar o arquivo.

$ unzip -c /home/claudio/javaSoftware/netbeans-5.5.1/ide7/modules/ext/jaxws21/jaxb-xjc.jar META-INF/MANIFEST.MF
  

Escrito por claudio at 2:56 AM categorizado por Dicas e Scripts

Tags: linux dicas java

Sábado, 28 Julho 2007

Completar números com zeros a esquerda

Ao lidar com impressão de números em relatórios, geralmente é necessário preencher todas as posições com o número zero a esquerda.

Exemplo:

É necessário preencher um campo de 10 posições, onde dado um número qualquer, que seja menor do que a quantidade de posições, então as posições do lado esquerdo devem ser preenchidos com o número zero.

Número Impressão
382 0000000382
450018 0000450018


Uma das técnicas mais comuns é usar a quantidade total de números do campo e adicionar com zeros a esquerda e depois remover os zeros excedentes.

int n = 38002;
String zeros = "0000000000";
String numero = zeros + n;
System.out.println(numero.substring(numero.length() - 10));

No Java 5 existe um método printf, copiado da linguagem C que permite formatar a impressão do resultado. 

int n = 38002;
System.out.printf("%010d", n);

Esta é apenas uma das funcionalidades adicionadas ao Java 5 que aos poucos são incorporadas no dia a dia dos projetos.

Atualização em 28/julho:

Nem tudo é impresso no console, mas manipulações de variáveis, então basta usar outro método que retorna uma String. No exemplo abaixo, a variável f, contém o número formatado.

String f = String.format("%010d", n);
System.out.printf(f);

Escrito por claudio at 5:07 AM categorizado por Dicas e Scripts

Tags: java dicas

Sexta-feira, 27 Julho 2007

Oportunidade de trabalho na Summa Technologies

Summa-Tech

Segue algumas oportunidades para trabalho na Summa-Tech

1 Estágio
1 Desenvolvedor Júnior
1 Desenvolvedor Pleno

Envie seu currículo para a Thais
 

Estágio


Curso:
  • Engenharia da Computação e afins
  • Ciências da Computação
  • Sistemas de Informação
Requisitos Técnicos:
  • Desenvolvimento de aplicações em JAVA

Mandatório:

  • Conhecimento em OO
  • Lógica e programação e Conhecimento de Algoritmos

Desenvolvedor Junior

Experiência:
Acadêmica ou profissional nos desenvolvimento de aplicações Java

Recém-formado:

  • Engenharia da Computação e afins
  • Ciências da Computação
  • Sistemas de Informação

Requisitos Técnicos:

  • Conhecimento de OO
  • Linguagem Java
  • Lógica de programação, Conhecimento de Algoritmos e Estrutura de dados
  • SQL Básico

Desejável:

  • Tecnologias Java JEE
  • Tecnologias Web
  • Unix (Linux, BSD, Solaris...)
  • IDEs Java: Eclipse, Netbeans etc.

Diferencial:

  • Sun Certified Java Programmer

Desenvolvedor Pleno

Experiência:
Profissional nos desenvolvimento de aplicações Java JSE

Formação:

  • Engenharia da Computação e afins
  • Ciências da Computação
  • Sistemas de Informação

Requisitos Técnicos:

  • Conhecimento avançado em Java SE
  • Sockets
  • IO / NIO
  • Multi-threading
  • Protocolos de Rede
  • Programação Concorrente
Desejável:

  • Java 2D/3D
  • Flash
  • Tecnologias Java EE
  • Tecnologias Web
  • Sistemas Operacionais: Windows e Unix
  • Bancos de Dados Relacionais

Diferencial:

  • Sun Certified Java Programmer
  • Sun Certified Java Developer

Escrito por claudio at 2:49 AM categorizado por Summa-Tech

Tags: summa oportunidade vaga java

Quinta-feira, 26 Julho 2007

Repúdio a CPMF

Excluindo as conversas de bar, de corredor e irritações individuais, o que você já fez para manifestar sua indignação quanto à CPMF ?

A FIESP, CIESP, OAB e outras entidades começaram um abaixo assinado, contra a prorrogação desta emenda constitucional que deverá ser votada até setembro.

Em uma notícia no site deles, consta que em 2006 o governo fiscalizou de nossos bolsos R$ 32 bilhões, e nos 11 anos de imposto, cerca de R$ 185 bilhões. Isso é algo que interessa muito os corruptos no poder e seus irmãos metralhas, que não irão se esforçar para diminuir o escoamento de dinheiro.

As empresas multinacionais e bancos podem quebrar e o governo ajudar, pois isso é mais lucro do que acabar com a CPMF, apenas uma dica, o BB em 2006 teve lucro de R$ 2,4 bilhões.

Existe outra iniciativa de repúdio a CPMF, do site Xô CPMF.

Infelizmente eu já não consigo acreditar em mais nada que venha do governo. Se existe alguma boa ação, deve ser para ganhar uma confiança temporária, para poder roubar mais nas próximas ações.

Não tenho o costume de escrever sobre isso, que é mais um comentário sobre esse estúpido sistema tributário brasileiro.

Escrito por claudio at 5:49 AM categorizado por Diversos

Tags: politica

Segunda-feira, 23 Julho 2007

Como usar openssl e md5sum para verificar integridade de arquivos

Kernel Panic

Sempre preciso copiar arquivos entre solaris, linux e windows. Para verificar se o arquivo foi copiado com sucesso, uso um algoritmo aplicado no arquivo que faço a cópia, que efetua um cálculo único. Esse algoritmo é o MD5. Para invocar o cálculo desse algoritmo uso uma ferramenta no linux chamado md5sum.

Essa ferramenta, efetua o cálculo e a verificação de integridade de um arquivo.

Por que usar verificação de integridade na cópia de arquivos ?
Pois a cópia pode ter sido corrompida na transferência.

Então segue um exemplo de usar o md5sum

Criar o hash

md5sum arquivo.tar > arquivo.tar.md5

Verificar o hash

md5sum -c arquivo.tar.md5

A verificação do hash, usa o seguinte formato para verificação

534a15536aa0152e178361983c678cc0  arquivo.tar.md5

O motivo desta dica, não é necessariamente sobre o md5sum, mas porque essa ferramenta não está disponível nativamente no solaris, onde uso o openssl.

No solaris, para criar o hash, uso openssl da seguinte maneira

openssl dgst -md5 <arquivo>

Que gera um resultado da seguinte maneira

$ openssl dgst -md5 list.conf
MD5(list.conf)= e5c8ebe8e2113448fd318328cf5ca582

Que é diferente do md5sum, então não é possível realizar a verificação de integridade usando checksums md5.

Por isso criei um script bash, para solaris que faz uma tarefa semelhante do utilitário md5sum.

Download do script bash md5sum_solaris.sh

Dependências: openssl, awk, sed

O código é o seguinte:

#!/bin/bash

if [ "$1" ] ; then
    if [ $1 = '-c' ] && [ $2"x" != 'x'  ] ; then
        shift
        cat $1 | while read hash_line
        do
            hash_value=`echo $hash_line | awk '{print $1}'`
            filename=`echo $hash_line | awk '{print $2}'`
            echo -n $filename": "
            if [ -f "$filename" ] ; then
                hash_var=`openssl dgst -md5 $filename | awk '{print $2}'` ;
                if [ $hash_var == $hash_value ] ; then
                    echo "OK"
                else
                    echo "FAILED"
                fi
            else
                echo "FAILED: No such file or directory"
            fi
        done
    else
        openssl dgst -md5 $*  |  sed 's/[\(\)=]//g;s/MD5//g' | awk '{print $2"  "$1}'
    fi
else 
    echo "Usage:
    $0 -c hashs.md5      to verify checksums
    $0             to create checksums
    "
fi

Escrito por claudio at 3:56 AM categorizado por Dicas e Scripts

Tags: linux dicas

Sexta-feira, 6 Julho 2007

MetalAd, para os navegadores metaleiros

Tem um serviço bacana, chamado MetalAd, que publica uma imagem com as bandas metaleiras preferidas, que são mantidas no last.fm, veja o meu:

Clique na imagem para você criar um para o seu perfil. Note que é necessário ter conta no last.fm 

No meu perfil do last.fm (claudio4j), essa imagem é atualizada diariamente. 

Escrito por claudio at 3:51 AM categorizado por Musicas, Rock, Shows, etc.

Tags: musica servicos

Terça-feira, 3 Julho 2007

JustJava 2007, Palestras, tutoriais, discussões técnicas

JustJava 2007

JustJava 2007, será a 6a edição de um evento que já marca o cenário brasileiro de desenvolvimento de software para a tecnologia Java. Lembro que ainda morava em São Paulo, quando assisti ao 1o JustJava localizado na Av. Pompéia, e teve a presença do John Gage junto com Bruno Souza, comentando sobre as novidades do JavaOne.

O tempo passou e temos um evento com duração de 3 dias, com tutoriais, palestras técnicas, discussões e muito networking. Tenho participado dos eventos anteriores e este ano continua um prazer colaborar com a disseminação da tecnologia Java.

Neste ano o JustJava será efetuado novamente nas instalações do SENAC Santo Amaro, veja os dados do evento:

Local: SENAC Santo Amaro,
Avenida Engenheiro Eusébio Stevaux, n. 823
Data 02 a 04 de agosto
Horário 8:30h a 19h
 

 


Marquem em suas agendas a data e fique ligado no website e lista de notícias do SouJava e JustJava pois será divulgado a programação do evento e formulário de inscrições.

Escrito por claudio at 6:29 PM categorizado por SouJava

Tags: soujava java justjava palestra eventos

Palestras do JustJava em Análise

Recebemos muitas submissões de palestras para o evento JustJava 2007. Como de sempre, muitos temas, cobrindo desde Java no Desktop, Servidor, Java FX, Scripting, Java 3D, etc.

Estamos com um time que começou a análise de palestras, e temos a intenção de disponibilizar uma grade preliminar esta semana. Será publica na lista de noticias do SouJava, site do SouJava e no site do JustJava.

Agradeço ao pessoal que submeteu as palestras, fique ligado nos próximos dias.

Escrito por claudio at 4:04 PM categorizado por SouJava

Tags: soujava java justjava

Segunda-feira, 25 Junho 2007

Delegacia Virtual do DF exige Internet Explorer 4

Deprimente...

(clique para ampliar)

 

Coitado dos usuários Linux/Mac/Opera, não podem nem visitar o website

Escrito por claudio at 6:50 PM categorizado por Diversos

Tags: diversao

Quinta-feira, 14 Junho 2007

Aberta a submissão de palestras para o JustJava 2007

Preparem os teclados, afinem as idéias, abram o editor de texto, pois começou a submissão de palestras para o evento JustJava 2007

JustJava 2007

Nestes eventos além de aprender sobre as novidades da tecnologia Java, podemos conversar e trocar informações com profissionais. Tenho participado de todas as edições do JustJava, desde 2000. É muito bacana, conhecer pessoalmente as pessoas que muitas vezes apenas lemos em blogs, revistas, artigos, etc.

Pessoas como Michael Nascimento Santos (Mister M), Bruno Souza, Fabio Velloso, Edgar Silva, Mauricio Leal, Paulo Silveira, Marcelo Mayworm, Rodrigo Urubatam, Helder da Rocha, Leonardo Galvão, Allan Jones, Paulo Jeronimo, ufa, vou parar por aqui. E também rever amigos e colegas que conheci de outros eventos.

Em resumo, eu recomendo muito a participação no evento, como palestrante ou participante, das duas maneiras é gratificante.

Submissão de trabalho: até 20 de junho.
Notificação sobre a aceitação: 30 de Junho.

Data: de 02 à 04 de agosto
Horário: 8h30min às 19h00
Local: SENAC - CAMPUS SANTO AMARO
         Avenida Engenheiro Eusébio Stevaux, n. 823
         Santo Amaro

Escrito por claudio at 4:47 PM categorizado por SouJava

Tags: soujava java justjava

Quarta-feira, 13 Junho 2007

Dicas de SSH

Seguem duas dicas no uso de ssh que facilitam um pouco a sua vida. 

Para efetuar login sem solicitar senha

Essa dica é para SO linux, para windows eu não sei.

1. Geração de chave RSA de 2048 bits

ssh-keygen -b 2048 -t rsa

Não digite um passphrase (aperte a tecla enter)

Atualização em 10/Ago/2007: É possível usar um passphrase e o ssh-agent para ter a facilidade de não invocar a senha do passphrase em toda conexão e manter sua chave privada segura. 

2. Copiar a chave pública para o servidor desejado

scp ~/.ssh/id_rsa.pub usuario@10.0.0.5:/home/usuario/.ssh/

3. Colocar a sua chave pública como chave confiável

Acessar o servidor por ssh (informando a senha ainda) e colocar a sua chave pública na lista confiável

cd .ssh
cat id_rsa.pub >> authorized_keys

Essa dica eu tirei do site dicas-l, mas modifiquei algumas coisas.

Diminuir o tempo de login no SSH

Em algumas situações (desconhecidas) ao realizar um ssh para uma máquina, pode demorar cerca de 3 a 5s. Para diminuir esse tempo é necessário editar o arquivo /etc/ssh/sshd_config e configurar as seguintes opções:

GSSAPIAuthentication no
GSSAPICleanupCredentials yes

Escrito por claudio at 6:08 PM categorizado por Dicas e Scripts

Tags: linux dicas

Segunda-feira, 11 Junho 2007

Container Black Box em simulação de terremoto

Quando conheci o projeto Black Box da Sun, o que pensei logo de ínicio, foi sobre as consequências quanto a queda ou movimentos bruscos. Pois isso pode ocorrer, ao ser transportado por caminhões ou navios. 

E a Sun efetuou uma simulação de movimeno de terremoto com o container. Veja no vídeo abaixo:

E o resultado, foram alguns parafusos caídos, que resultou em racks se movimentando, consequentemente alguns ferros retorcidos. Outro problema foram cabos que não estavam bem presos e ficaram em movimento, com possibilidade de serem partidos.

Uau !

Claro que em condições reais de movimentos sísmicos, outras coisas podem ocorrer como a queda de coisas em cima ou o próprio container cair de cima de algo. Mas esse teste já é um passo, para que se possa construir um data-center bastante resistente a movimentos bruscos.

Escrito por claudio at 4:50 AM categorizado por Diversos

Tags: sun

Terça-feira, 5 Junho 2007

Quantidade de threads por processo

Regularmente preciso verificar a quantidade de threads em um processo. Tanto em solaris como em linux. Coloco primeiro a versão para linux e depois a versão para Solaris.

Linux

Então coloco aqui o comando ps completo e logo abaixo um script para facilitar o monitoramento.

O comando ps

ps -p PID -o pid,user,%cpu,rss,etime,nlwp,args

Exemplo de invocação

$ ps -p 5124  -o pid,user,%cpu,rss,etime,nlwp,args
  PID USER     %CPU   RSS     ELAPSED NLWP COMMAND
 5124 claudio   8.0 122160      39:37   11 /usr/local/firefox/firefox-bin

A quantidade de threads é mostrada na coluna NLWP, que neste exemplo mostra 11 threads.

A opção -o informa quais colunas devem ser mostradas. Veja o manual do comando ps para verificar outras opções.

Note que o comando ps tem apenas uma invocação, o que torna difícil o monitoramento. Então criei um script bash, que tem as seguintes vantagens:

  • Aceita uma quantidade de repetições.
  • Repete o cabeçalho em 15 linhas
  • Aceita uma string como argumento, ao invés do nome do processo. Para não ter de ficar procurando o PID a todo momento.

threads_per_process.sh

Solaris

No solaris o comando é mais fácil: prstat

Ele aceita um parametro de repetição, que é útil para monitoramento.

Comando

prstat -c -p PID 1 3

Exemplo de invocação

$ prstat -c -p 15409 1 3
   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP
 15409 claudio   171M  120M sleep   59    0   4:22:25 6.6% java/29
Total: 1 processes, 29 lwps, load averages: 0.25, 0.27, 0.29
   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP
 15409 claudio   171M  120M sleep   59    0   4:22:25 6.3% java/29
Total: 1 processes, 29 lwps, load averages: 0.26, 0.27, 0.29

A quantidade de threads é mostrada na última coluna, chamada de NLWP, ao lado do nome do binário, que neste exemplo, mostra 29 threads.

Este monitoramento permitiu que pudesse avaliar um teste de threads que precisei realizar um tempo atrás. 

Se isto é útil para você, deixe um comentário sobre como isso lhe ajudou.

Escrito por claudio at 8:25 PM categorizado por Dicas e Scripts

Tags: java solaris dicas performance linux

Reunião do SouJava - Especial JavaOne

Hoje (dia 05/junho) irá haver uma reunião no SouJava em São Paulo, com a presença de algumas pessoas que participaram do evento neste ano.

Os palestrantes serão: Bruno Souza, Fabiane Nardon, Mauricio Leal e Fabio Velloso.

Serão mostrados e discutidos as principais novidades que ocorreram lá. Minha presença estaria garantida, se eu estivesse em São Paulo.
Compareça à reunião, pois é importante a sua presença, para discutir, fazer contatos, ganhar alguns brindes

Será efetuado o sorteio de brindes e camisetas.

Por favor, enquanto o site do SouJava estiver fora do ar peço que todos confirmem sua presença enviando um email para bianca.spazziani [at] soujava.org.br com o título "CONFIRMAÇÃO REUNIÃO SOUJAVA - 05/06" e no corpo do email o
seu nome completo para o endereço;

Sorteios:
- 2 assinaturas semestrais (6 edições) da revista JavaMagazine
- 2 assinaturas semestrais da revista SQL Magazine
- 1 assinatura anual da revista WebMobile
- 1 licença de IntelliJIDEA 6.0
- Brindes especiais

Escrito por claudio at 4:24 PM categorizado por SouJava

Tags: soujava java javaone

Sábado, 2 Junho 2007

Mudança nas aparências do blog

Modifiquei algumas coisas neste blog para refletir uma melhor usabilidade e visual (na minha opinião)

Deu um pouco de trabalho, mas isso começou na semana passada, onde atualizei a infraestrutura do meu site:

  • Upgrade do Jetty 6.1.1 para o 6.1.3
    Pois estava havendo problemas no POST para URLs HTTPS
  • Upgrade do sistema de blog (Blojsom) para 3.2
  • Upgrade do JSPWiki 2.4.47 para 2.4.102

Como tenho o meu domínio, estima-se um trabalho para manter tudo funcionando: web, email, blog, banco de dados, firewall, filtro de spam, etc. Sou grato que parte disso não tenho de me preocupar (por enquanto), pois uso o Google Apps para email e calendário.

Dos serviços que tenho usado e recomendo:


Escrito por claudio at 5:25 PM categorizado por Diversos

Tags: dicas

Quinta-feira, 17 Maio 2007

Mais oportunidades na Summa Technologies

A Summa Technologies do Brasil, continua com vagas disponíveis para serem preenchidas.

Se você tem interesse em trabalhar com um excelente time de profissionais, com tecnologia de ponta e desafios profissionais, então veja a notícia abaixo:

Mais oportunidades na Summa Technologies do Brasil. 

Nesse momento, a Summa possui oportunidades de trabalho para profissionais com os seguintes perfis: (curriculos deverão ser enviados com os nomes dos perfis abaixo)

    Contato........: Thais Fernandes
    E-Mail.........: curriculo(arroba)summa-tech.com

Perfis: (Serão analisados somente curriculos nesses perfis. Curriculos com outros perfis serão descartados)

  • Arquitetos/Desenvolvedor
  • Desenvolvedor Senior
  • Líder técnico
  • Analista de QA
  • Analista de requisitos
  • Analista de infraetrutura
Formação: Engenharia de Software ou Ciência da Computação

Área de Desenvolvimento:

  • Experiência e conhecimento em integração de sistemas e produtos/frameworks de mercado;
  • Sólidos conhecimentos de banco de dados, servidores de aplicações, técnicas de desenvolvimento (Design Patterns, etc), frameworks de mercado
    • (Struts, Hibernate, Spring, Genesis ou similares), ferramentas e ambientes de desenvolvimento;
  • Extensiva experiência no desenvolvimento de aplicações Java EE, incluindo análise, arquitetura e modelagem (UML), preferencialmente como líder técnico e arquiteto;
  • Boa capacidade de comunicação (português e inglês), rápida absorção de novas tecnologias, liderança, motivação e espírito de equipe.

Características adicionais desejáveis:
  • Certificação Java, de preferência Sun Certified Java Programmer e/ou Enterprise Architect;
  • Mestrado, MBA ou especializações em áreas correlatas;
  • Experiência no desenvolvimento de portais e Web Services;
  • Palestras em eventos de tecnologia, participações em JUGs e projetos open source.

Infraestrutura:

  • Experiência consolidada em infraestrutura de SO solaris, linux e windows.
  • Experiência em servidores de aplicativos Sun Application Server 7 e 8.x ou outro AS de mercado (WebSphere, JBoss, BEA)
  • Conhecimento básico em linguagem java, para diagnóstico de problemas
  • Desenvoltura e pró-atividade
  • Experiência em linguagens de script unix: perl, bash, ksh
  • Experiência em configurações de cluster, balanceador de carga, tolerância a falhas

Para seus funcionários, a Summa fornece como diferenciais um excelente ambiente de trabalho, oportunidades de crescimento profissional à frente de projetos inovadores, remuneração e valorização profissional compatíveis com o perfil e experiência de cada pessoa. 

Escrito por claudio at 6:17 PM categorizado por Summa-Tech

Tags: summa java

Terça-feira, 15 Maio 2007

Qual é a quantidade máxima de threads suportada por um sistema ?

Tive de efetuar um teste para um cliente, onde é necessário verificar qual é a quantidade máxima de threads suportada por uma determinada máquina.

Parece simples não é ? Pois só parece, pois existem fatores que podem variar muito o resultado

  • Tamanho da pilha: -Xss
  • Tamanho máximo do heap: -Xmx
  • Capacidade computacional disponível, para funcionar o teste. Tome cuidado ao rodar isso na sua máquina de produção.
  • Em um ambiente de servidor real, o mesmo usa mecanismos de pool e prioridades, onde este teste não considera isso. Logo o sistema irá sempre suportar mais threads do que o resultado desta medição.
  • Cada thread efetua vários cálculos matemáticos, enquanto que em uma aplicação real cada thread faz operações diferentes.

Fiz um guia no ClaudiusWiki, onde as existem mais informações sobre isso e onde estão os arquivos para download, com as respectivas instruções.

Escrito por claudio at 7:49 PM categorizado por Java

Tags: java dicas performance

Sexta-feira, 4 Maio 2007

Permissão em arquivo policy

Alguns dias atrás foi necessário habilitar um mode trace do driver DB2, em uma aplicação do cliente. No entanto ocorria o seguinte erro ao usar o trace:

Caused by: java.security.AccessControlException: access denied (java.lang.reflect.ReflectPermission suppressAccessChecks)
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:568)

Então, pensei "É só colocar o grant com codebase e permissão e está tudo resolvido. Então coloquei a seguinte linha no policy do AppServer. Sendo que no caminho do driver, são vários arquivos .jar

grant codeBase "file:///caminho/driver-db2/-" {
        permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
};

Mas ao rodar a aplicação novamente, ocorreu o mesmo erro de falta de permissão (access denied), como mostrado anteriormente.

Então após mais alguns testes e variações desta configuração, resolvi remover o codeBase do grant. E funcionou. Claro que deixar isso desabilitado tem questões de segurança envolvido. Convenhamos que se alguém quiser fazer algum malefício, essa opção não ira colaborar imensamente. Visto que alguns outros appservers nem habilitam o security manager.

Escrito por claudio at 5:16 AM categorizado por Dicas e Scripts

Tags: java

Segunda-feira, 23 Abril 2007

Visita do Jeanfrancois em Brasilia

Na última semana, o SouJava Brasília, recebeu o Jeanfrancois Arcand, engenheiro da Sun que trabalha no projeto Glassfish, servidor de aplicativos Java EE. 

Pudemos colocar o Jeanfrancois em contato com alguns clientes e universidades, para que ele pudesse apresentar sobre as últimas novidades em Glassfish, APR, Web 2.0, Grizzly. Pudemos levar o Jeanfrancois na Caixa Economica Federal, Tribunal de Contas da União, Universidade de Brasilia, equipe técnica da Sun e Ministério da Educação.

Foi bem legal participar dessas apresentações e conversar com o Jeanfrancois, pois aprendi um pouco mais sobre os costumes de Quebéc.

Vejam algumas (poucas) fotos.

Visita do Jeanfrancois

Escrito por claudio at 6:54 PM categorizado por SouJava

Tags: soujava java

Sexta-feira, 20 Abril 2007

Indexado no infoblogs.com.br

Meu blog agora é indexado no infoblogs.com.br.

 

Escrito por claudio at 1:59 PM categorizado por Java

Oportunidade de trabalho na Summa Technologies

Mais uma oportunidade se abre na Summa Technologies do Brasil. 

Nesse momento, a Summa possui oportunidades de trabalho para profissionais com os seguintes perfis: (curriculos deverão ser enviados com os nomes dos perfis abaixo)

    Contato........: Thais Fernandes
    E-Mail.........: curriculo(arroba)summa-tech.com

Perfis: (Serão analisados somente curriculos nesses perfis. Curriculos com outros perfis serão descartados)

  • Arquitetos/Desenvolvedor
  • Desenvolvedor Senior
  • Líder técnico
  • Analista de QA
  • Analista de requisitos
  • Analista de infraetrutura
Formação: Engenharia de Software ou Ciência da Computação

Área de Desenvolvimento:

  • Experiência e conhecimento em integração de sistemas e produtos/frameworks de mercado;
  • Sólidos conhecimentos de banco de dados, servidores de aplicações, técnicas de desenvolvimento (Design Patterns, etc), frameworks de mercado
    • (Struts, Hibernate, Spring, Genesis ou similares), ferramentas e ambientes de desenvolvimento;
  • Extensiva experiência no desenvolvimento de aplicações JEE, incluindo análise, arquitetura e modelagem (UML), preferencialmente como líder técnico e arquiteto;
  • Boa capacidade de comunicação (português e inglês), rápida absorção de novas tecnologias, liderança, motivação e espírito de equipe.

Características adicionais desejáveis:

  • Certificação Java, de preferência Sun Certified Java Programmer e/ou Enterprise Architect;
  • Mestrado, MBA ou especializações em áreas correlatas;
  • Experiência no desenvolvimento de portais e Web Services;
  • Palestras em eventos de tecnologia, participações em JUGs e projetos open source.

Infraestrutura:

  • Experiência consolidada em infraestrutura de SO solaris, linux e windows.
  • Experiência em servidores de aplicativos Sun Application Server 7 e 8.x ou outro AS de mercado (WebSphere, JBoss, BEA)
  • Conhecimento básico em linguagem java, para diagnóstico de problemas
  • Desenvoltura e pró-atividade
  • Experiência em linguagens de script unix: perl, bash, ksh
  • Experiência em configurações de cluster, balanceador de carga, tolerância a falhas

Para seus funcionários, a Summa fornece como diferenciais um excelente ambiente de trabalho, oportunidades de crescimento profissional à frente de
projetos inovadores, remuneração e valorização profissional compatíveis com o perfil e experiência de cada pessoa. 

Escrito por claudio at 4:15 AM categorizado por Summa-Tech

Tags: summa oportunidade vaga java

Terça-feira, 17 Abril 2007

Certificação Digital em Aplicações Java ME

Em uma thread de discussão do SouJava sobre assinatura de aplicações Java ME com certificados, lembrei-me de um trabalho que fiz um tempo atrás sobre isso, e colaboro com a discussão. Respondi esta mensagem na lista de email, para ser arquivado e coloco no meu blog também.

Recentemente tive de investigar isso para celulares motorola e outros fabricantes, onde uma aplicação envia mensagens SMS e não é para aparecer um alerta solicitando permissão para efetuar a conexão. Para isso é necessário assinar a aplicaçao com um certificado emitido por uma autoridade certificadora (CA), e este CA já deve existir no telefone celular (geralmente na parte de configurações e segurança)

Tem um documento no site de desenvolvedores da motorola "Midlet Testing and Signing" que mostra bem os passos para assinatura de aplicações em telefones motorola. Recomedo a leitura.

Na página 10 do documento é possível requisitar um certificado de desenvolvimento (é um processo burocrático). Note que esse processo será usado para a obtençao de um certificado de produção. E mostra que o telefone motorola suporta certificados emitidos pelo CA da motorola, CA da operadora ou UTI (Unified Testing Initiative, do programa Java Verified). O CA da motorola somente é usado, quando existe um acordo como partner da morotola (envolvendo contratos, NDA, etc) e quando usar alguma característica específica da API da motorola.

Sobre o UTI, é burocrático também e caro. Pois exige o envio da aplicação para o UTI, então pode-se escolher uma empresa para testar a aplicação eles testam e se der qualquer erro, eles cancelam o programa de testes, então é necessário submeter uma versão da aplicação corrigida e o teste refeito. E para cada teste e cada device é cobrado um preço, veja preços de dois fornecedores. Note que este preço inclui  teste e a asssinatura se der tudo certo.

Outro cenário é saber se todos os telefones o CA ROOT da UTI. Veja os telefones que o suportam na tabela existente no website.

Para os devices que não suportam o UTI é necessário checar com o fabricante, qual o CA ROOT que é disponibilizado em cada aparelho. Para saber isso é necessário checar no website de desenvolvedores de cada fabricante os certificados suportados em cada device. Ou olha em cada aparelho qual é o CA ROOT disponível.

Um exemplo, eu tenho o telefone Nokia 3650, que tem instalado o CA ROOT: Verisign, Thawte, Cybertrust, etc. Então não suporta o UTI, teria de pagar para a Thawte por um certificado de para assinatura de aplicações, que custa US$ 159. Se a mesma aplicação tiver de ser instalada em outro telefone que não suporta Thawte, teria os custos de certificado desse CA ROOT.

Informações complementares, que encontrei no website da motorola (é necessário ter login no website):

I am a Motorola Partner, how do I obtain Partner Access to the MOTODEV website?
Development MIDlet Signing Process
Signing Midlets with a VeriSign or Thawte Certificate

E um blog comentando sobre a assinatura de aplicações Java ME.

Escrito por claudio at 2:28 PM categorizado por Java

Tags: java certificacao

Sábado, 14 Abril 2007

FISL, dia 13/abril

Ao chegar ao evento no FIERGS, vejo que o local é muito bom, tem muitos stands de empresas privadas e públicas, com stads para grupos de usuários e com conexão a internet, wireless e por cabo. Muito bom. Com sala de palestrantes (onde pude dar um último retoque na minha palestra).

Enquanto estava na sala, encontrei com o Fabio Velloso, Edgar Silva, Brian Leonard, Charlie Hunt e Jean Francois Arcand.Conversamos um pouco sobre ferramentas para monitoramento e diagnóstico para maperar problemas de desempenho em servidores Java, onde o Charlie indicou o Sun Studio, depois tenho de dar uma olhada nesta ferramenta. Conversei com o Jean Francois que usei o Apache MINA, framework de NIO, onde perguntei algumas comparações com o Grizzly, onde ele disse que pelos testes dele, tem um desempenho superior ao MINA. Hoje vou assistir a palestra dele e do Charlie Hunt sobre o Grizzly Framework.

Com o Brian e Edgar, comentei que no Apache Struts 2, existe uma funcionalidade similar ao In/Out do JBoss Seam, que é o Scope Interceptor, que permite ao desenvolvedor não se preocupar em manter os dados de um formulário, na sessão (ou outro objeto), no preenchimeno de formulários de múltiplas etapas.

Alguns minutos antes, eu já estava na sala Hopper, local de minha palestra, onde o Bruno Souza estava coordenando "Open Source Java Fishbowl: An Interactive Discussion", com membros do time do OpenJDK.

Então começei minha palestra, no horário certo. E o que é incrível, é que consegui terminar a palestra no tempo certo, e dando espaço para perguntas. Isso eu achei incrível, pois eu sempre estouro o tempo (outros colegas, também partilham dessa situação). Antes de começar a palestra, pensei que era pouca informação, poucos slides (apenas 26). Mas seguindo uma dica do Bruno Souza, concentrei as informações no que julguei ser mais importante. Ao final tiveram várias perguntas, que achei excelente, que mostra o interesse do pessoal. E depois o tradicional lançamento de camisetas.

Coloquei o material de minha palestra disponível.

Então após assisti um pouco da palestra do Fabio Velloso "SOA Open Source com Java Enterprise Edition", onde ele mostrou quais são os projetos de código livre, que suportam SOA e suas principais funcionalidades e limitações: Apache Service Mix, MULE, Sun Open ESB, JBoss ESB.

Encontrei também com o Mauricio "Maltron" Leal, Alexandre Gomes e Clediston (Sea Tecnologia). Uma das partes interessantes ao participar de eventos, é reencontrar os amigos.

A noite no jantar com toda a galera do SouJava, Sun e amigos, conversei com o Francois Orsini, onde ele deu muitas dicas, sobre ir morar nos EUA, como é morar por lá, foi muito bacana isso.

Enfim foi um dia muito bacana, mas como existe a lei de murphy, tem de ter algum problema. Ao chegar no hotel, minha reserva não foi encontrada. Mas a sorte foi que o hotel não estava lotado, então pude fazer outra reserva e dormir tranquilo.

Bom, agora tenho de correr, para fazer umas perguntas difíceis na palestra de uns amigos, só para ver divertir um pouco.

Tirei algumas fotos de minha palestra. Prometo tirar mais fotos e colocar por aqui.

8o Fórum Internacional de Software Livre

Escrito por claudio at 4:36 PM categorizado por SouJava

Tags: soujava palestra javali fisl struts

Sexta-feira, 13 Abril 2007

Dark Side of The Moon - Eu fui !

Eu FUI!

E foi exageradamente bom. Show com Roger Waters, turnê Dark Side of The Moon, acerca de 300m do palco.

Tive algumas turbulências antes de ir, trabalho, problemas a serem resolvidos, etc. Mas consegui embarcar em um vôo as 20h pela BRA, com chegada prevista no Galeão as 21:30, pensei "bom, vou perder o ínicio do show" isso se os controladores de tráfego, fizessem o seu dever. E não é que decolei as 20:15 aproximadamente ! Excelente.

Ao chegar no Galeão liguei para o rádio taxi recomendo pelos colegas cariocas (aquele com um descontinho, que te pega no embarque), então depois de zanzar uns 5min, encontro o táxi e fomos para a apoteose. Ao chegar nas imediações, já percebo a multidão, chego no portão, já desembarco e vou para a entrada, desfilo na sapucaí, para chegar até o local do show, ao chegar, penso "uma foto aqui seria muito bacana", fui procurar a bendita, e ? então lembro que na correria para sair de Brasília, esqueci a camera fotográfica, êita caboclo burro...


Clique na foto para ampliar

Clique na foto para ampliar

Mas ao chegar perto das catracas, o som de Mother já é percebido, o sangue começa a ferver, e a vontade de ter super poderes, para chegar logo, perto do palco. Ao passar pela catraca, percebi a maluca "Shine on you crazy diamond"... "todos devem sair da minha frente", pensei, "quero chegar logo lá na frente". Depois de me posicionar em um lugar que era o máximo que consegui chegar, sem ser muito mal educado e passar na frente dos outros, começei a ver o lugar, qualidade do som, telão, decoração e efeitos, etc.

Logo em seguida, começou "Wish You Were Here", então lembro que tenho de ligar para minha esposa, para dar um alô, que estava tudo bem, e que não fui erroneamente para algum outro lugar perigoso. Ela também curte um pouco do som, apesar de que não sei como conseguíamos manter algum nível de conversação, considerando o volume do som. Depois meu filho, que escutar um pouco o som "Poxa, queria que eles estivessem comigo" eu penso. Então, lembro de ligar para o Umberto, e dar um gostinho para ele, que também estava com vontade de ir ao show.


Clique na foto para ampliar

Então ocorreu uma pausa no show, pois apesar de ser um Pink Floyd, Waters de 63 anos, precisa retomar um fôlego, para começar de fato Dark Side of The Moon. Pude apreciar melhor a armação do show, o super telão de alta definição. Apenas no fim do show, percebi, que a garrafa imensa no palco, não era algo físico, mas que estava no telão, e eu pensava que era uma garrafa gigante. Notei muitos senhores na faixa dos 50 anos, com as camisetas do show, achei aquilo muito bacana.

O legal do show, foi que eu paguei a entrada, e recebi a fumaceira da "erva" de graça, claro que depois de expelida pelo seus respectivos proprietários.

Então que o show volta, o telão passando imagens psicodélicas, digno de um dark side. A êxtase acompanha cada música, o refrão cantado junto, a gritaria, alguns pulos, pois aqui não é show com cadeira marcada.

Então que aparece o famigerado porco inflável flutuante, com manifestações escritas, passando por cima de todos. Eis que depois de algum tempo, soltam o porco! Caraca, cade o controlador de vôo para este porco ? Depois de dezenas de minutos, ainda era possível ver algum sinal do porco no ceu, um céu negro, como o dark side.


Clique na foto para ampliar

As próximas músicas, são para treinar o fôlego, "Breathe", "Time", "Us and Them", "The Great Gig In The Sky", "Money", músicas memoráveis e impressionantes. Muitos efeitos no telão, performances dos componentes da banda, alguns solos, muitas lembranças.

Ao final, desce do teto do palco, uma pirâmide cujas arestas são raios laser, que borrifados com um vapor, ficou muito bacana, que depois projetaram como o prisma da capa do disco temático da turnê.

Então Roger despede-se e agradece ao público, a 2a pausa. Ao retornar com várias crianças de um programa social carioca, começa "The Happiest Days Of Our Lives" e "Another Brick In The Wall" com as crianças, participantes ativas da música.

"Vera" entrou em cena, fazendo a adrenalina chegar a níveis alarmantes, demais mesmo. Essa música junto com "Bring the Boys Back Home" é marcante para mim, lembra-me muito da performance no show "The Wall - Live in Berlim", emocionante.

E para fechar, "Comfortably Numb", que foi o hit que todos acompanharam, algo inesquecível. O solo de guitarra, só quem já participou de um desses sabe como é.

Ao final do show, fui com uma galera que encontrei por lá, tomamos um chope em copacabana, onde eu era o único alienígena que trabalha com informática, depois fui dormir na casa da Daniela Gomes, que só tenho a agradecer, por aceitar que eu a incomodasse de madrugada, meu sincero agradecimento "muito obrigado".

A noite antes de voltar para casa, passei num boteco e comi um sanduíche que tinha mais recheio do que pão, muito bom.


Clique na foto para ampliar

Para complementar seguem alguns links, sobre o show no Rio.

http://whiplash.net/materias/news_901/053635-rogerwaters.html
http://musica.uol.com.br/album/roger_waters_rj_album.jhtm
http://musica.uol.com.br/ultnot/reuters/2007/03/24/ult279u6426.jhtm
http://musica.terra.com.br/interna/0,,OI1506075-EI1267,00.html
http://musica.terra.com.br/interna/0,,OI1504771-EI1267,00.html
http://oglobo.globo.com/cultura/mat/2007/03/25/295078168.asp
http://g1.globo.com/Noticias/0,,GF42589-7085,00.html
http://g1.globo.com/Noticias/0,,MUL13821-7085,00.html


Escrito por claudio at 6:26 AM categorizado por Musicas, Rock, Shows, etc.

Tags: musica

Quarta-feira, 11 Abril 2007

Eventos Java nos próximos dias

Nesta semana e na próxima o Brasil terá 3 grandes eventos que eu acredito serem de muita importância para o cenário Java nacional. Eu já havia escrito sobre eles antes, relacionando os palestrantes e palestras principais, e apenas quero enfatizar novamente, para o caso de alguém ter perdido isso.

Os eventos e suas respectivas datas:

  • Fórum Internacional de Software Livre
    Terá uma grade com muitas palestras Java, é o evento Javali, com palestrantes internacionais de renomados projetos de código livre
    Dias 12,13 e 14 de abril em Porto Alegre
    https://soujava.dev.java.net/servlets/ReadMsg?list=noticias-list&msgNo=4867
    http://fisl.softwarelivre.org

  • Sun Tech Days Brasil
    Evento da Sun, com eventos de comunidades: NetBeans, Solaris e Java ME. Terá laboratórios com pequenos tutoriais (Hands on Lab)
    Dias 18, 19 e 20 de abril e São Paulo
    http://www.suntechdays.com.br/
    https://soujava.dev.java.net/servlets/ReadMsg?list=noticias-list&msgNo=4869

  • Reunião especial do SouJava em São Paulo, com palestrantes internacionais, com ínicio as 17h e 4 palestras. O evento é gratuito.
    Dia 17 de abril na sede da SUCESU-SP.
    Para confirmar participação, é obrigatório, o envio de email para bianca.spazziani 'arroba' soujava,org,br com o título "CONFIRMAÇÃO REUNIÃO SOUJAVA - 17/04" e no corpo do email o seu nome completo para o endereço
    Além da participação em uma reunião bastante interessante, terá o sorteio de revistas e licença da IDE IntelliJIDEA 6.0

O evento do FISL é duplamente bacana, pois junta duas comunidades gigantescas, que é a Java e Linux, então é possível encontrar, discutir, perguntar, bater fotos, tomar uns drinks, etc, com toda uma galera diferenciada, para enriquecer as opiniões linux-javanesas, se é que você me entende. Em 2004, após o evento do FISL, fui com o Bruno Souza, Simon Phipps e a Paloma Costa em uma cidade nas redondezas, descemos cerca de 900 degraus para ver uma cachoeira, (a subida de volta foi... digamos, não tão boa como a descida), então tive de voltar as 15h, pois meu vôo era as 16, então fiz um trecho de viagem em cerca de 30min que normalmente é feito 50min, ao final percebi o alívio do pessoal quando larguei o volante :-D

Eu participarei no evento do FISL com a palestra "Apache Struts 2 - Turbinando o Desenvolvimento Web", no dia 13, as 18h, na sala Hopper.

Só fico torçendo para que o meu vôo na sexta-feira tenha "pouco" atraso. Incrível isso, a falta de pontualidade já é parte da nossa vida em qualquer momento.

Vários amigos já estão no evento do FISL, espero usar bem meu tempo por lá.

Escrito por claudio at 6:20 PM categorizado por SouJava

Tags: soujava palestra javali fisl struts

Quarta-feira, 4 Abril 2007

A vista das novidades no NetBeans 6

 

Quem está com curiosidade para saber o que está para vir na próxima versão do NetBeans, de número 6, pode conhecer as principais funcionalidades com screenshots no netbeans wiki.


E ainda é possível conhecer algumas coisas ques estão por vi ainda, que não foram publicadas oficialmente, através do log de mudanças no wiki.


Escrito por claudio at 11:01 PM categorizado por NetBeans

Tags: netbeans

Mais cérebros participam da Summa

Justiça seja feita. Esqueci de comentar a entrada de mais dois profissionais altamente gabaritados:

  • Paulo Jeronimo, experiência em projetos críticos, participante da comunidade Java e atuante em eventos pelo Brasil.
  • Marcelo Souza Ancelmo, é conhecido pela grande quantidade de certificações, que impressiona qualquer um.
Bom, agora que estão linkados, como blogueiros da Summa, será que já é necessário criar um planetsumma.com.br ?

Escrito por claudio at 6:28 AM categorizado por Summa-Tech

Tags: summa

Mais recente Summanóide

Sangue novo, novas idéias, quero parabenizar o mais recente colega de trabalho na Summa Technologies, o Michel Graciano. Ele lidera o esforço de localização do NetBeans para o idioma português, desenvolve módulos do NetBeans, e claro, entende muito de Java.

Com ele, mais um blog é adicionado na lista de blogueiros da Summa.

Conheci o Michel no evento JustJava de 2006 em São Paulo, onde perguntei como ele arruma tempo para efetuar a tradução do NetBeans. Muito fera.

Parábens Michel e bem vindo ao time.

Escrito por claudio at 3:33 AM categorizado por Summa-Tech

Tags: summa

Segunda-feira, 2 Abril 2007

Oportunidade de trabalho na Summa Technologies

Summa Tech

A Summa Technologies, está com uma oportunidade para trabalhar em um cliente na cidade de Brasília.

A vaga é relacionado a trabalho com infraestrutura de software e serviços de middleware.

Veja um perfil da vaga

  • Experiência consolidada em infraestrutura de SO solaris, linux e windows
  • Experiência em servidores de aplicativos, com preferência Sun Application Server 7 e 8.x ou outro AS de mercado (WebSphere, JBoss, BEA)
  • Conhecimento básico em linguagem java, para diagnóstico de problemas
  • Desenvoltura e pró-atividade
  • Experiência em linguagens de script unix: perl, bash, ksh
  • Experiência em configurações de cluster, balanceador de carga,tolerância a falhas
  • Conhecimento nos seguintes serviços contam pontos:
    • Oracle server, Sun LDAP, IBM Message Queue


Caso você interesse, envie email para mim: claudio arroba summa-tech com, com o currículo anexado ou URL de onde ele pode ser visualizado.

Escrito por claudio at 7:11 PM categorizado por Diversos

Tags: summa oportunidade vaga

Quarta-feira, 28 Março 2007

Javali e FISL

Irá acontecer em abril, nos dias 12, 13 e 14, o Fórum Internacional de Software Livre, em Porto Alegre. Evento que é um dos maiores do mundo neste segmento, na organização, quantidade de participantes e palestras. Conta com palestrantes internacionais e nacionais de várias especialidades no mundo de software livre e Java.

FISL                                  

O FISL conta com um track somente Java, é o Javali, que contará apenas com temas ligados a tecnologia Java.

O evento cobre toda a área de TI, e neste anúncio será focado na representatividade da tecnologia Java. Veja alguns nomes que estarão presente ao evento:

 Veja algumas palestras:

Eu participarei com a palestra "Apache Struts 2 - Turbinando o Desenvolvimento Web", no dia 13 de abril:

Struts é o framework MVC para Java de maior adoção do mercado. A recente versão 2, adiciona muitas funcionalidades, correções e melhorias no modelo de programação. Esta palestra irá mostrar as principais funcionalidades e vantagens do Struts 2.0 como: Novo modelo de programação baseado em Actions e POJOs, internacionalização facilitada, anotações, validações, plugins, AJAX, programação por convenção, integração com Spring, templates com freemarker. Serão mostrados demos e exemplos de códigos.

Se você mora na região, não deixe de participar, é bom para fazer contatos, acompanhar o que há de mais recente em TI, opinar e compartilhar opinião, conversar com participantes de comunidades de software, oportunidades de trabalho e alguma diversão.

Eu participei do evento em 2004 e a experiência foi muito boa. Recomendo!


Escrito por claudio at 5:16 AM categorizado por Java

Tags: java soujava javali software livre fisl

Quarta-feira, 21 Março 2007

Desabilitar o login gráfico no solaris 10

Tenho usado o Solaris em uma vmware, e como preciso apenas de aplicações servidoras, e poupar o uso computacional de minha maquina, então desabilito o que não preciso, como sendmail, ftp e o login gráfico.

No caso do login gŕafico, para desabilitar, basta invocar o comando svcadm, como abaixo:

svcadm disable svc:/application/graphical-login/cde-login:default

Veja outra dica para habilitar/desabilitar serviços no solaris 10 

Escrito por claudio at 1:00 PM categorizado por Dicas e Scripts

Tags: java solaris dicas

Tutorial SouJava sobre Performance

Tutorial do SouJava

Desempenho é um tema que tenho forte interesse, pois lida com situações onde é necessário aproveitar os recursos computacionais existentes e tornar mais satisfatório o uso de uma aplicação.

Pois que no próximo sábado irá acontecer em São Paulo um tutorial gratuito "Envenenando Java - Dicas e Truques de Otimização", esta é a parte 1 de duas. O palestrante é Maurício "Maltron" Leal, amigo que tem presença marcante nos eventos Java nacionais.

Recomendo a todos que vão pois o Maurício tem boa didática e o tema é bastante importante para nossas profissão.

Para confirmar presença no tutorial que tem quantidade de assentos limitado, basta enviar um email para a Bianca Spazzianni, com o assunto "Confirmação tutorial SouJava - 24/03" e informe o seu nome completo no corpo do email.

Escrito por claudio at 2:00 AM categorizado por Java

Tags: java soujava tutorial performance

Quinta-feira, 8 Março 2007

Passaporte vencido e visto vigente

Tenho um passaporte vencido e um visto para o EUA que vence em 2012. Busquei informações de como devo proceder para ter um novo passaporte e permanecer com o visto.

Eis que para manter o visto, tenho de permanecer com o passaporte vencido, carregar junto com o novo, essa informação consta tanto no Departamento da Polícia Federal (item 15) e da Embaixada Americana (item 11).

Polícia Federal (item 15)
15) O que faço com os vistos que eu já tinha no passaporte antigo? Continuam válidos?
Os vistos contidos nos passaportes antigos ou passaportes com validade expirada continuam a valer normalmente. A única recomendação é que o passaporte antigo, com os vistos, seja apresentado juntamente com o novo, no momento da checagem migratória tanto no Brasil como no exterior.
Embaixada Americana (item 11)
11) What shall I do if my passport expires but my visa is still valid?
Attach the expired passport with the valid visa to the new one. Make sure that the visa was not damaged and always travel with both passports. Please note that your passport must be at least six months validity as of the date you anticipate entering the United States.

E para tirar o novo passaporte, sem entregar o anterior tenho de pagar o valor da taxa em dobro (item 6).

Polícia Federal (item 6)
6.0 - Apresentar o Passaporte anterior, quando houver (válido ou não). A não apresentação deste, por qualquer motivo, implica em pagamento da taxa em dobro;


Atualização: Tirei um novo passaporte e a taxa NÃO deve ser paga novamente.A apresentação a que se refere, é apenas para mostrar o passaporte antigo ao agente da PF, então você fica com ele.
Para quem não mostrar o passaporte , é que a taxa deve ser paga.



O preço do novo passaporte é R$ 156,07, então no meu caso, deverá ser pago R$ 312,14.

Fiz algumas buscas rápidas no google, mas não encontrei nenhuma informação relevante ao pagameno injusto da taxa em dobro.

Uma parte engraçada (ou trágica) é que o email de dúvidas sobre passaportes da Polícia Federal, tem resposta automática, onde a resposta é um FAQ que não existe no website da DPF.

Esse é um preço caro a ser pago por algo vencido, não é ?

Escrito por claudio at 5:00 PM categorizado por Diversos

Tags: dicas

Scripts no JDK 6

Renato Camara, novo colega de trabalho na Summa irá apresentar uma palestra sobre scripting em java, no dia 13 de março, na sede da SUCESU em SP, as 19h.

O legal de participar desse evento:

  • É de graça
  • Você aprende um pouco mais sobre java
  • Estabelece contatos, novos colegas, potenciais novos trabalhos
  • Concorre a sorteios de revistas (JavaMagazine, SQL Magazine e WebMobile)
  • E concorre a uma licença de IntelliJ IDEA 6

Bom, só tem a ganhar não é ?

Se eu pudesse estaria presente com certeza.

Veja na página oficial de scripting em java (faz parte do JDK 6) do que esta poderosa ferramenta é capaz de oferecer.

Veja a mensagem completa sobre a palestra e maneiras de se inscrever.

Escrito por claudio at 1:42 AM categorizado por Java

Tags: soujava palestra

Quarta-feira, 7 Março 2007

Blogueiros da Summa

Como alguns de vocês devem saber trabalho para a Summa Technologies, que é uma ótima empresa para trabalhar, pois ela permite que eu desenvolva minhas habilidades entre outras coisas. Tá bom, larga de puxação de saco.

O que quero dizer mesmo (e o parágrafo anterior serviu apenas para contextualizar), é que alguns colegas nossos mantém blogs:

Michael Nascimento Santos (conhecido por Mister M)
Bruno Borges (conhecido por Miojo)
Edgar Silva
João del Valle (é o dos sucos ?)
Renato Câmara
Raphael Winkler
Umberto Dissenha
Helder da Rocha
Leonardo Carvalho
Deivson Rayner
Bruno Rosseto (atualizado)

Bom, ao menos este blog vai servir para que a galera que tá inativa, escreva algo (como eu fiz).

Se esqueci de colocar alguém mais, desculpe, faça um comentário que eu incluo na lista.

Escrito por claudio at 1:53 PM categorizado por Diversos

Tags: summa

Sexta-feira, 2 Março 2007

Nerd supremo ?

Vi no blog de outros, então acho que deveria fazer um teste, pela diversão.

Faca o seu teste

Escrito por claudio at 2:38 PM categorizado por Diversos

Tags: nerd

Sexta-feira, 23 Fevereiro 2007

Quantos visitaram meu site ?

Em 2006 começei a usar o Google Analytics para medir as visitas ao meu website, escrevi sobre isso um tempo atrás. A ferramenta é fantástica com relatórios muito bons. Mas esse é um serviço que apenas administradores podem acessar os relatórios. Recomendo.

No entanto conheçi outro serviço de estísticas de visitas, muito bom, é o Mapstats do BlogFlux.

Coloquei este link na barra de informações ao lado, clicando nele é possível você acessar os relatório de visitas ao meu site. Acredito ser necessário, ter uma conta no blogflux para ver os relatórios de visitas.
 

Escrito por claudio at 5:29 PM categorizado por Dicas e Scripts

Tags: dicas

Terça-feira, 13 Fevereiro 2007

Encontrar o DN root de LDAP

Publiquei há alguns dias uma maneira de encontrar o DN raiz de um MS Active Directory, através de uma ferramenta windows.

Então verifiquei que existe uma maneira (mais fácil) de descobrir todos os DN root configurados:

ldapsearch -x  -h 199.199.199.180 -p 389 -s base -b "" "objectClass=*" namingContexts

Escrito por claudio at 6:17 PM categorizado por Dicas e Scripts

Tags: dicas java ldap

A distropia do plágio

Nesta semana tenho a interessante idéia de trabalhar com Helder da Rocha. Quem o conhece ou já conversou com ele alguns minutos, consegue perceber que qualquer assunto não tem hora para terminar, e o quão interessante é discutir sobre qualquer tópico.

Bom, isso serviria mais para um scrap do orkut do que para colocar no meu blog, mas o que quero chamar a atenção é sobre algo que ocorreu com ele semana passada.

Helder escreveu uma tradução da Divina Comédia (de Dante Alighieri) em prosa e publicou na internet em 2000.

Foi publicada uma revista sobre a vida de Dante Alighieri e o 1o artigo, copiou vários parágrafos da tradução que o Helder fez. Helder colocou as comparações lado a lado, para que você possa avaliar o quanto foi copiado. Recomendo que você leia o blog dele para ter mais informações sobre o desenrolar dos fatos.

O que acho incrível neste cenário, é um prof. PhD. com vasta experiência publicar cerca de 90% da tradução do Helder. Será que o possuidor de tamanha experiência necessite recorrer aos métodos dos estudantes secundaristas (ou primários), para efetuar o trabalho de casa ? Onde está a criatividade ? a interpretação ?

Outro grave problema que noto é que isso não ficou restrito ao circuito acadêmico, mas foi publicado em uma revista de circulação em bancas, o que causa problemas para a revista, pois ela é responsável pela publicação e pela averiguação do que é publicado.

Através deste blog, manifesto minha solidariedade ao Helder, para que receba os devidos créditos e um pedido de desculpas formal.

Escrito por claudio at 1:25 PM categorizado por

Quinta-feira, 8 Fevereiro 2007

Dark Side of The Moon - Eu vou !

Roger Waters 

Em 2002, infelizmente não pude ir à turnê In the Flesh do Roger Waters (ex Pink Floyd) que passou em SP (eu morava em SP nesta época), eu não sabia que iria haver o show.

Roger Waters voltou com uma nova turnê, Dark Side of The Moon, que virá ao Brasil em março. E desta vez eu VOU !

Os preços são irreais para o Brasil, muito caros. Fico imaginando quantas pessoas não poderão ir ao show pelo preço de entrada ou por estarem geograficamente distante. Bem, não sei quando será a outra oportunidade, então este esforço irá valer a pena.

Escuto Pink Floyd desde meus 13 anos, tenho 3 discos de vinil (The Wall, The Wall - Live in Berlin - The Division Bell) e mais um monte de CDs. É tempo de agregar os amigos e ir ao show se divertir e cantar junto.

c00l

Escrito por claudio at 4:59 PM categorizado por Musicas, Rock, Shows, etc.

Tags: musica show pink floyd

Muito bacana

Assista até o final

Escrito por claudio at 3:12 AM categorizado por Diversos

Quarta-feira, 7 Fevereiro 2007

VI, um mínimo de conforto

 

Escrevi no wiki, as configurações que uso no VI, pois como sempre uso este poderoso editor, então preciso ter algum conforto ao usá-lo.

Se você tem alguma dica adicional, por favor deixe um comentário.

Escrito por claudio at 8:43 PM categorizado por Dicas e Scripts

Tags: dicas

Mister M em nova JSR Date and Time API

Michael Nascimento Santos, que trabalha conosco na Summa, fez um clone seu para trabalhar em uma nova JSR a Date and Time API. Essa JSR terá influência do projeto de código livre Joda Date and Time API, pois o autor é participante da JSR também.

Ainda não li a proposta da JSR, mas algo que causa um pouco de trabalho, é atualizar o horário de verão, pois como as datas de ínicio e término variam em todas as ocorrências, é necessário atualizar o SO e JVM para refletir corretamente essas datas.

Até o ano passado era necessário efetuar o download do código fonte do JDK (não é o src.zip) e compilar o pacote javazic e baseado no arquivo de timezone novo (arquivo texto), gerar o novo arquivo de timezone (binário) e colocar no $JAVA_HOME/jre/lib/zi. Atualmente isso já consegue ser aliviado através da ferramenta TZUpdate que a Sun lançou ano passado.

Não sei se essa parte estará na JSR (vou ler mais tarde).

Ademais a API de Date e Time do Java precisa de algumas melhorias na API, para tornar mais fácil o uso dela. Ainda não esbarrei em algum problema sério que fizesse que eu usasse o JodaTime por exemplo (pelo que visualizei no guia de exemplo, é bem fácil).

Pela brincadeira do clone do Michael Nascimento, pois possui tantas atividades, que só clonando para conseguir fazer tantas atividades.

Desejo sucesso e que a API esteja disponível no JDK 7.

Escrito por claudio at 3:14 PM categorizado por Java

Tags: java jsr

Terça-feira, 6 Fevereiro 2007

Passar o tempo e ver coisas incríveis

Existem dois website que contém muitas fotos de coisas, lugares e acontecimentos incríveis. Ótimo para passar o tempo. Recomendo!

Dark Roasted Blend

Este outro está com o Google Translate, pois é um website em russo. O uso de adblock é recomendado. 

Ochevidec.net

Escrito por claudio at 10:40 AM categorizado por Dicas e Scripts

Tags: dicas fotos

Segunda-feira, 5 Fevereiro 2007

3 Dicas: Encontrar o DN do AD - Download de conteúdo wiki - Firefox ler .zip

Como fiquei vários dias sem escrever nada, agora seguem 3 dicas, que são mais relacionadas ao meu trabalho. Mas como não foi fácil encontrar na internet, acredito que existam outras pessoas que possam precisar dessa informação.

  1. Normalmente o Microsoft Active Directory (AD) é usado como repositório de usuários em grandes organizações, considerando isso, os serviços de autenticações precisam ser configurados para acessar o AD.

    No caso de Java, então o acesso ao AD acaba sendo através de JNDI, através de um SPI LDAP. Então para isso é necessário saber qual o DN (Distinguished Name) de acesso ao AD.

    Para saber qual o DN do AD, procurei na ferramenta de administração do AD mas não encontrei nada sobre o DN. Então recorri a um colega da Sun (obrigado Marcos Belarmino), que me informou sobre o comando ldifde, para realizar exportação da árvore completa do AD (note que não há solicitação de senha). A sintaxe é: ldifde -f saida_ad.ldif

    Então basta abrir o arquivo saida_ad.ldif que os respectivos DNs e usuários estarão lá.

  2. A outra dica é com relação a uma facilidade de exportação do wiki Confluence, onde é possível exportar qualquer espaço do wiki para HTML e depois compactar em um arquivo .zip para realizar download e ler off-line.

    Para fazer isso, acesse qualquer wiki confluence, clique em "Browse Space" no canto superior direito
    Depois clique em "Export Space" no menu do lado esquerdo.

    Então, é só escolher as opções e clicar em download.

  3. No firefox é possível ler o conteúdo de um arquivo .zip, com isso não é necessário descompactar o arquivo. Basta informar uma URL da seguinte maneira.

    jar:file:///home/claudio/downloads/WW-20070204-18_16_03.zip!/WW/Site.html

    Essa dica pode ser mais bacana em situações onde é necessário ter vasta documentação HTML e economizar espaço, por exemplo em documentações que acompanham CDs. Essa dica eu peguei em um comentário de um blog.


 

Escrito por claudio at 3:21 PM categorizado por Dicas e Scripts

Tags: confluence dicas

Domingo, 28 Janeiro 2007

Blojsom3.1 + Jetty 6.1.1 + H2 Embedded, atualizado

Em novembro escrevi sobre a instalação do sistema de blog Blojsom 3.1 (que usa Spring, Hibernate, banco de dados SQL), usando o Jetty e Apache Derby. Depois de alguns testes, verifiquei que o footprint do derby era um pouquinho maior. Então resolvi testar com o H2, o que demonstrou ser um pouco melhor.

Então fiz a atualização do sistema de blog Blojsom para a versão 3.1 (usava a versão 2.3). O legal é que no Blojsom, tem uma maneira de migrar o sistema anterior para o atual, considerando tudo o que escrevi, comentários de leitores, imagens, etc. 

A atualização foi realizada com sucesso, a única exceção foi a customização nos templates do velocity. Na atualização os templates customizados foram copiados, (oba!), mas o problema é que algumas macros do velocity não funcionaram adequadamente. Então o que fiz, foi copiar os templates novos (blojsom 3.1) e customizar novamente. Mas isso, foi bem fácil, eram apenas 3 templates.

O maior problema, foi o seguinte. Na atualização do blojsom, tem alguns passos a seguir e se depois foi feito tudo com sucesso, então o modo de atualização deve ser desabilitado do bean factory (isso mesmo, agora o spring é usado para gerenciar o Blojsom), na próxima reinicialização.

Então, o espertão aqui, parou o webserver, mudou algumas outras coisas e ESQUECI de desabilitar o modo de atualização. Resultado: ferrou a instalação. Com uma exception: org.hibernate.NonUniqueResultException: query did not return a unique result: 2

O console de administração não funcionava mais. Ô cabeça de bagre. Mas, nem tudo estava perdido. Como é baseado em SQL, então era só verificar como estavam as tabelas do banco de dados. Como uso o H2, foi só levantar o servidor web e acessar pelo browser (detalhe, tive de colocar a opção -webAllowOthers true) inspecionar as tabelas e verificar alguma inconsistência.

Verifiquei que foi criado outro usuário e criado uma categoria raiz. Arrumei isso e (ufa) passou tudo a funcionar direitinho.

O detalhe é que, anteriormente eu fiz um ambiente de teste em meu computador local, onde tudo funcionou direitinho. O único detalhe, quando fui aplicar no meu servidor de produção, foi esquecer de desabilitar o modo de atualização do Blojsom.

Escrito por claudio at 6:46 PM categorizado por Java

Tags: java blojsom h2 derby

Sexta-feira, 26 Janeiro 2007

Manuseio de certificados SSL fácil

Sempre tenho de criar certificados e CA para efetuar testes em conexões SSL, e para isso uso o OpenSSL, que é um toolkit completo para trabalhar com SSL (certificados, chaves públicas e privadas, formatos, etc.). Para isso uso o utilitário por linha de comando CA.sh (wrapper para o CA.pl).

Então hoje encontrei um programinha gráfico que faz essa tarefa toda, é o TinyCA.

Com ele não é mais necessário digitar CA.sh -newca por exemplo. 

Ele tem todas as funcionalidades que preciso e ainda permite customização na invocação do openssl, realmente achei muito bom o programa. Recomendo.

Escrito por claudio at 4:03 AM categorizado por Dicas e Scripts

Quinta-feira, 25 Janeiro 2007

Rename no Linux

Há alguns dias precisei renomear vários arquivos em um diretório, que obedeciam algum padrão no nome. 

Para fazer a operação de renomear em vários arquivos, eu já usei scripts com laço for.  Mas desta vez, quis usar o comando rename, e foi super simples, pois ele aceita uma expressão regular:

rename 's/_-_//' *.mp3

De vários arquivos, a string _-__ tinha de ser removida. Faça um man rename. Recomendo.

Escrito por claudio at 3:03 AM categorizado por Dicas e Scripts

Terça-feira, 23 Janeiro 2007

Volta das férias e blog tardio

Voltei de férias há algumas semanas, mas estava preguiçoso para escrever algo, o que de fato tenho até algumas coisas para escrever.

Perto de Cuiabá, existe o parque nacional de Chapada dos Guimarães, onde tem muitas paisagens bonitas, a serra, rios, cachoeiras e formações rochosas. Eu aproveitei e fui em alguns rios e desci na cachoeira do Véu de Noivas, foi bem legal. Da próxima vez, quando a gurizada que for comigo, estiver com mais ânimo, quero visitar novamente as outras cachoeiras e cavernas do parque. Eu fui quando era moleque, não lembro muito, e agora ir com o meu filho Rafael, será bem legal. Neste ano quero também conhecer a Chapada dos Veadeiros em Goiás.

Aproveitei que estava em Cuiabá, de férias, e começei a escrever a árvore genealógica de minha família. Uso o GRAMPS, que é bastante bacana, apenas a parte de visualização de gráficos poderia melhorar, mostrando de maneira gráfica o relacionamento de irmãos e tios em uma janela só. Aproveitando, conheci alguns dias atrás um serviço de edição de árvore genealógica na web, que é o Geni. Está em sua fase inicial, mas já conta com recursos interessantes. Recomendo.

Quando viajei para Cuiabá, deixei algumas coisas na geladeira, um bolo, arroz, geléias e um pedaço de presunto, ao voltar 20 dias depois, o reencontro não foi dos mais agradáveis.

Vou  economizar no assunto, para ter algo a escrever nos próximos dias.

Escrito por claudio at 2:10 AM categorizado por Diversos

« Setembro »
SegTerQuaQuiSexSábDom
     12
3456789
10111213141516
17181920212223
24252627282930
       
Próxima página »     Última página »
 
     Navegue no histórico de mensagens: « First  « Prev   1 2 3 4 5   Next »  Last »