Java - MAC OSX Lion

Quem estava ansioso pela mais nova versão do Sistema Operacional da Apple, eis que surge o MAC OS X Lion. O sistema operacional está fantástico de uso ainda mais simples e rápido, com foco extremo na produtividade.

Mas o mais importante para quem, como eu, desenvolve em java é aonde eu baixo a versão para o Lion quem não vem instalada por default. Abaixo o link.

Java - Mac OS X Lion Versão 1.6.0_26.

Manifesto dos Profissionais de Tecnologia da Informação do DF

Você pode não conhecer nada a respeito de Tecnologia da Informação, mas ela está intimamente ligada à sua vida. Falando da realidade atual, estamos nos bancos, nos órgãos públicos, na iniciativa privada, nos hospitais, nas clínicas, nos escritórios.
Tudo hoje em dia gira em torno de TI.
Quando você acessa o site do DETRAN e pesquisa suas multas e emite uma segunda via, quando você acessa o site do BRB e solicita seu extrato, quando acessa qualquer site do GDF e solicita um serviço, quando acessa um site do governo federal e encontra uma facilidade em algum dos muitos sistemas destinados a prover a você a informação que necessita.
Estamos muito envolvidos com a sua vida.
No DF, essa ligação dos profissionais de TI com a sua vida é ainda mais forte: por aqui ser o “centro do poder”, praticamente todas as atividades relacionadas a tecnologia de órgãos com âmbito nacional acontecem aqui. Mais especificamente, todas as atividades de todos os ministérios, assim como as atividades dos principais bancos públicos e alguns outros órgãos menores – espero que agora você tenha entendido a nossa importância.
Sem os profissionais de TI, todas as facilidades que a população possui hoje deixariam de ser confiáveis. Sistemas bancários ficariam indisponíveis, serviços públicos não poderiam ser acessados pela internet, o que acarretaria a formação  de intermináveis filas, perda de tempo, dinheiro e paciência.
Este ano, estamos mais uma vez em campanha salarial, para que a importância que temos ante a sociedade seja traduzida em condições mais dignas de trabalho e subsistência. Estamos tentando reverter um quadro que já persiste há pelo menos seis anos, em que os reajustes salariais oferecidos à nossa categoria não superam a inflação real. Trocando em números, entre 2005 e 2010 os nossos salários diminuíram 1,5% em relação à inflação – o que significa que a reposição salarial anual da nossa categoria não é suficiente nem mesmo para cobrir as perdas do período, proveniente da inflação.
Neste ano, apresentamos ao SINDESEI, sindicato que representa as empresas prestadoras de serviços de tecnologia da informação (para as quais prestamos serviços), entre outros, os seguintes termos:
·       Reajuste salarial de 14%
·       Reajuste do vale alimentação, passando ao valor de 22 reais por dia
·       PLR
A resposta do SINDESEI às nossas solicitações não pode ser classificada de outra maneira senão desrespeito. O reajuste salarial oferecido foi de apenas 3% - frente a uma inflação que fechou 2010 em 5,91% (e que já acumula, até este mês, 6,29%) - resultando em perdas salariais ainda maiores.
Nós, profissionais de TI, não consideramos justo que o nosso reajuste mal cubra a inflação, ao passo que os contratos das empresas com os órgãos governamentais possuem reajustes que representam ganho real, acima da inflação, que não são devidamente repassados aos profissionais - estes sim os verdadeiros responsáveis pelo êxito das companhias, e principalmente pelo seu lucro.
Frente a esta situação, pela primeira vez no DF, a nossa categoria aponta um indicativo de greve, greve esta que terá efeitos profundos na vida dos cidadãos, bem como da estrutura governamental. Com os serviços parados, toda a estrutura de atendimento aos cidadãos estará comprometida – espere problemas em todos os órgãos, desde os bancos públicos até postos do Na Hora, passando pelos ministérios e demais sites governamentais.
Não queremos que isso ocorra, mas não podemos mais aceitar trabalhar sem o devido reconhecimento merecido. Não podemos mais aceitar trabalhar por simples reposições salariais, enquanto o resultado do nosso trabalho apresenta-se mais e mais lucrativo, ano após ano. A luta existe, assim como existe o respeito à sociedade, que não queremos prejudicar em momento algum. No entanto, apenas mobilização poderá trazer à nossa categoria os resultados esperados. Historicamente desunidos, após tanto desrespeito e provocações, decidimos finalmente erguer a nossa voz e declarar em uníssono que essa situação deve parar. Afinal, não desejamos nada além de respeito e valorização.
Esta luta é tão sua quanto nossa. Entenda nossos pontos e una-se a nós!

Spring - Data Source via JNDI

Para usar datasources com o Spring via JNDI definimos um bean com a classe :
org.springframework.jndi.JndiObjectFactoryBean
O código abaixo deve ser inserido em um arquivo de configuração Spring.




Esta referência será usada por outros beans do Spring, por exemplo, uma "SessionFactory".

Trabalhando com CSV no MySQL

Acredito que estes trechos de código sejam bastante úteis para qualque programador.

Importando arquivo csv para o MySQL:
LOAD DATA LOCAL INFILE 'arquivo.csv'
INTO TABLE tabela
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '/r/n'
(campo1, campo2,...., campo n) 

 Exportando tabela do MySQL pra csv:

SELECT campo1, campo2, ...., campo n FROM tabela
INTO OUTFILE '/temp/arquivo.csv' 
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '/r/n';

Certificação - SCWCD/OCWCD

Tem algum tempo que eu não posto nada, pois estava estudando para a certificação Oracle/Sun-SCWCD/OCWCD.
Agora que finalmente passei na prova, creio que seria interessante falar de algumas dicas para a prova.

- Livro de cabeceira: Head First - Servlets & JSP
      Eu li em português, mas aconselho a leitura em inglês a tradução não é a melhor de todas e a prova também é em inglês o que lhe deixa mais familiarizado com a prova.
     Este Livro é fantástico, de leitura simples e bem humorada.

- Simulados faça todos os possíveis, eu utilizei o Whizlabs
      Faça os simulados com calma, como se realmente estivesse fazendo a prova. E de preferencia só o faça ao termino da leitura.
      Nos objetivos em que por acaso falhar crie simulados customizados, isto com certeza será útil.  O Whizlabs lhe informa o percentual por objetivo, no final de cada simulado.
   - Só faça o exame quando obtiver percentuais acima de 80% nos simulados
   - Um bom local para informações e até mesmo simulados rápidos é o Java Ranch.

Bom exame a todos, espero ter contribuído de alguma forma.

Curso de programação para iPhone gratuito - Stanford University

A Universidade de Stanford está há algumas semanas postando aulas(em inglês) na iTunes Store, o nome do curso é "iPhone Application Programming".

É válido lembrar que é necessário ter conhecimento em linguagem C, Orientação a Objeto, UNIX e programação gráfica.

Neste link a página da Universidade de Stanford, no iTunes.

REGULAMENTAÇÃO DA PROFISSÃO

Com o texto abaixo tenho a intenção de fomentar a discussão sobre o assunto e conhecer diversos pontos de vistas.
O texto citado abaixo, com o qual concordo, é de autoria de Henrique Peixoto de Melo.
Uma breve citação de cargos ocupados pelo autor:
  • Presidente do Conselho do Trabalho do Distrito Federal.
  • Membro do GAP/CODEFAT/MTE - Grupo de Apoio Técnico do Conselho Deliberativo do Fundo de Amparo ao Trabalhador.
  • Membro Suplente do CODEFAT.
  • Participação no XXI e XXII SECOP – Seminário Nacional de Informática Pública.
  • Participação no II e III CBDIP – Congresso Brasileiro de Dirigentes de Informática Pública.
  • Participação no II FENAP – Fórum Internacional de Informática Pública.


As primeiras tentativas de regulamentação da profissão no setor de Tecnologia da Informação, remetem a década de 1970. Vários projetos, com diferentes formulações de ordem estrutural, orgânica e política foram levados ao debate no Congresso Nacional com a participação apenas da sociedade civil organizada. Sindicatos dos Profissionais de Processamento de Dados e Tecnologia da informação, a FENADADOS, representações de docentes e discentes, comunidade científica, representações de empresários e órgãos públicos da administração direta e indireta posicionaram-se ao longo desses quarenta anos. Muitas vezes, motivados pela velocidade dos acontecimentos e pela incerteza dos caminhos futuros, assumiram posições completamente antagônicas a teses defendidas anteriormente. As divergências não foram somente de forma ou conteúdo, mas passaram inclusive pela discussão de se deveríamos ou não regulamentar a profissão, o que por mais que se tente disfarçar, continua sendo a grande questão. Parece que a velocidade dos acontecimentos vai tornando obsoletas as sucessivas tentativas de encontrar um caminho satisfatório para a questão:
 Regulamentar é preciso! X Regulamentar é preciso?


Como perder um amigo programador em 6 passos




Eu acrescentaria mais um passo, 7 - Vamos fazer um sisteminha?


Flash para JavaScript em Tempo Real | SmokeScreen

Para os usuários de iPod, iPhone e o novo iPad, parece que seus problemas acabaram.

A idéia do Smokescreen  é de transformar o Flash em JavaScript e HTML5 eliminando o uso de plug-in.

Smokescreen trabalha convertendo os famosos .swf`s em vetor SVG sem nenhum plug-in especial.
Tudo o que é usado é JavaScript e HTML5, o mais impressionante é a qualidade do resultado tornando quase impossível a distinção entre o original e o convertido.

O melhor?? É Open Source!

Será o fim do Flash?
Veja a demonstração neste vídeo.

Aposto que Steve Jobs deve estar dando gargalhada!!!

Página Oficial: http://smokescreen.us

JavaScript: Retirando acentos

Na função abaixo serão retirados os acentos dos caracteres 'A' e 'a':


function retiraAcentos(texto) {
  var replacements, regex, key, s;
    // sintaxe
    // ["substituidos]": "substituto"
replacements = {"[áãàª]": "a"};
regex = {};
for (key in replacements) {
    //'g': Usado para pesquisar todas as ocorrências
    //'i': Usado para não diferenciar Maiúsculas e Minúsculas.
    //'m': Usado para pesquisar em multiplas linhas,
    //a pesquisa continua mesmo que se encontre '/n'(New Line)
regex[key] = new RegExp(key, 'g');
}
s = texto;
for (key in replacements) {
    // substituindo na String original.
s = s.replace(regex[key], replacements[key]);
}   
return s;
}

Espero que seja útil!!!!