Pra quem não conhece, o Enterprise Architect é uma ferramenta para modelagem de diagramas UML. Ela possui também algumas extensões (modelagem de banco de dados) e plugins que permitem trabalhar com outras tecnologias, como BPMN.
Apesar de ser uma ferramenta de licença proprietária, possui um custo benefício bastante interessante e é uma das mais utilizadas por analistas e desenvolvedores no mundo todo.
Para quem já conhece, disponibilizo aqui um curso com um pouco mais que o básico, mostrando como armazenar o projeto do EA em banco de dados, ativar segurança, gerenciar baselines e outras dicas simples, mas espero que úteis.
Qualquer dúvida, só comentar ou mandar e-mail =)
A tecnologia é algo realmente fantástico. A cada dia que passa, dispositivos inteligentes são criados na tentativa de contribuir com o dia-a-dia do ser humano. Uns já fazem parte do nosso cotidiano: um sensor de presença pra acendimento automático de luz, sensor de estacionamento, GPS. Outros ainda estão em fase de pesquisa, sendo inalcançáveis para os meros mortais. Um mês atrás, a GM anunciou o teste de realidade aumentada em carros.
Um pouco antes disso, um indiano, Pranav Mistry, surpreendeu e encantou uma platéia na conferência TED. Durante o evento, a líder do laboratório de pesquisa do qual ele faz parte, Pattie Maes, apresentou os resultados que eles atingiram desenvolvendo o SixSenth. É muito bacana e não dá nem pra imaginar o trabalho de programação envolvido por trás de tudo. Vale a pena conferir o vídeo aqui.
Muito tempo depois, volto a postar alguma coisa. Pra quem trabalha com programação (na verdade, com computador em geral) sabe que vez ou outra algo sobrenatural pode acontecer. Trabalho muito com Java EE atualmente, mais especificamente com o framework JSF e Facelets. Uma estrutura de repetição conhecida pra quem trabalha com essas tecnologias é o <ui:repeat>. Estava acostumado a usá-lo na forma básica:
<ui:repeat value="#{bean.lista}" var="obj">
<h:outputText value="#{obj.info}" />
</ui:repeat>
Normalmente funciona numa boa. Aconteceu que, de repente, o <ui:repeat> passou a iterar sobre o primeiro elemento da lista. Se o erro realmente existe, é bem difícil de reproduzir. Pra perceber que havia esse problema, tive que passar pela tela um número aleatório de vezes (53, 37, 23 – sim, eu contei quantas vezes eu passei pela tela, hehe).
Uma vez reproduzido o erro, hora de executar em modo debug e ver como era preenchida a lista. E lá estava a minha lista com seus 7 elementos sempre preenchidos. A melhor parte: colocando um breakpoint no método getInfo() – chamado pra cada objeto da lista em value=”#{obj.info}” – o ui:repeat operava da forma correta (e lá ia eu de novo tentar reproduzir o erro…).
No fim das contas, passei a utilizar o atributo size e o problema não voltou a acontecer.
<ui:repeat value="#{bean.lista}" var="obj" size="#{bean.tamanhoLista}">
<h:outputText value="#{obj.info}" />
</ui:repeat>
That’s all folks. Espero que isso ajude alguém algum dia (se esse erro bizarro acontecer).
Hoje, comemora-se o dia da Internet Segura, uma iniciativa da INSAFE. Só pra não deixar passar em branco e ajudar com um link pra campanha, deixo aqui o meu recado. Mais informações aqui e aqui.

Saber o primeiro dia do mês é trabalho que até mesmo um
Web Designer consegue fazer. Afinal, a não ser que você siga algum calendário adotado na terra dos inca venusianos, o primeiro dia do mês é 01. Já o último dia do mês é um pouco mais trabalhoso, mas não é assim tão difícil.
$ano = date("Y");
$mes = date("m");
$proximoAno = $mes == 12 ? $ano + 1 : $ano;
$proximoMes = $mes == 12 ? 1 : $mes + 1;
$primeiroDiaProximoMes = strtotime("$proximoAno-$proximoMes-01");
$ultimoDiaMes = date("d", strtotime("-1 day", $primeiroDiaProximoMes));
Bom, já há algum tempo o tio Bill tem investido na melhoria dos seus lixos sistemas operacionais. A cada nova versão, vários bugs várias funcionalidades e melhorias são entregues aos usuários que pirateiam pagam felizes uma cópia do Windows.
O XP é por muitos considerados uma das melhores versões do sistema, sendo ainda o mais utilizado dentre os gamers. O Vista não teve boa aceitação entre a comunidade, o que fez com que os esforços pra desenvolvimento do Seven fossem redobrados. O resultado de todo o esforço pode ser conferido abaixo.
