segunda-feira, 18 de abril de 2011

Pra quem gosta de Java

Para aqueles que gostam de Java: http://youtu.be/g1FeAATUJ68

(.Not foi a melhor).

terça-feira, 5 de abril de 2011

Como publicar código

Alguém sabe como formatar código fonte em HTML para ficar legal quando publico no Blog?

Vejam esse link.



package ListaAula08;

import java.util.Scanner;
public class ListaAula08_06 {
/**
* Leia um número m inteiro sendo que m>=1. Descubra se
* é possível encontrar dois outros números inteiros r e s
* de tal forma que r2 + s2 = m2. Sendo que 1 <= r < m e 1 <= s < m.
*/
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Digite um numero m: ");
int m = in.nextInt();
boolean achou = false;
for(int r=1; r<m; r++){
for(int s=1; s<m; s++){
if((r*r+s*s)==(m*m)){
System.out.println(r+"^2 + "+s+"^2 = "+m+"^2");
achou = true;
}
}//for
}//for
if(!achou){
System.out.println("Nao existe nenhum r^2 + s^2 = "+m+"^2");
}
}//main
}//classe

Entrevista Revista ProXXIma

Este mês concedi uma entrevista para Maria Fernanda, repórter da revista ProXXIma, do grupo Meio&Mensagem.

Veja o texto na íntegra:

MF:
Como pai, como você procede com o seu filho na web?

Plínio:
Tenho um filho de 4 anos que ainda não acessa a Internet, e uma filha de 10 que já vem usando ativamente a pelo menos 2 anos. Minha filha pode usar alguns recursos com restrições, por exemplo, ela pode fazer pesquisas na Internet, mas o navegador Web no computador dela está com filtro habilitado, desta forma não retornam links com pornografia ou outros assuntos não apropriados para crianças. Ela tem email, mas só pode passar o endereço para pessoas da família ou amigos da escola. Ainda não permito o uso de comunicadores instantâneos como MSN, Skype e outros desse tipo. Ainda não permitimos, também, o uso das redes sociais.

MF:
Ele já utiliza a web? Desde quando começou a orientá-lo?

Plínio:
Minha filha tem computador a uns 3 anos, desde então começamos a orientá-la sobre os perigos da Internet. Eu uso a comparação que a Internet é como deixar a janela do quarto dos seus filhos aberta durante a noite. É muito perigoso! Conversamos sobre isso com a minha filha, e procuramos evitar que ela uso os recursos mais perigosos.

MF:
Quais são os perigos que as crianças estão expostas na web?

Plínio:
O pior é realmente serem atraídas por pedófilos. Esse é um perigo real, por isso, devemos evitar que as crianças utilizem recursos com os quais elas possam ser contatadas diretamente (MSN, Skype e redes sociais). Mesmo o uso de emails deve ser monitorado de perto. Além disso, temos o risco da exposição a assuntos que não devem fazer parte do mundo infantil (guerras, sexo, violência em geral), por isso temos que ativar os filtros nos buscadores e criar uma lista de sites seguros que a criança pode visitar. Deixar essa lista nos links favoritos e ensinar como utilizar.

MF:
Na sua opinião, os pais realmente sabem o que seus filhos estão fazendo na internet, quanto tempo passam online e o que acessam?

Plínio:
Não, não sabem. Eu mesmo tive surpresas... Por isso é bom não abaixar a guarda. As crianças não podem utilizar o computador em ambiente de difícil acesso, por exemplo, quarto com a porta fechada. O ideal é deixar o computador em um local de movimento da casa, ou em um ambiente que possa ficar sempre aberto. De vez em quando é bom acessar o computador e olhar logs e outros relatórios. Não deixe de fazer isso...

MF:
Quais dicas dar aos pais para que possam proteger seus filhos?

Plínio:
Acompanhem seus filho de perto. Principalmente na transição da infância para adolescência. Estamos vivendo uma fase muito diferente na história da computação, nunca antes tivemos tantos recursos para compartilhar informações pessoais na Internet. Há alguns anos somente os mais interessados por tecnologia mantinham blogs ou sites, agora qualquer um pode criar um perfil em uma rede social e começar a postar informações pessoais a partir de um telefone celular. Isso cria um nível de exposição nunca antes experimentado. Hoje um jovem vai achar o máximo publicar uma foto dele em uma festa, mas essa foto vai ficar lá para sempre. Mesmo se ele apagar a foto do seu perfil em uma rede social essa foto já foi indexada por algum mecanismo de busca e já foi copiada para algum servidor na Internet. Essa foto provavelmente nunca vai desaparecer. Daqui a dez ou vinte anos essa foto vai continuar rodando na Internet e nesse momento pode ser que a pessoa já não queira mais ser lembrado por aquela festa.

MF:
Como explicar às crianças que os pais devem ter acesso ao que eles fazem na web?

Plínio:
Essa é a regra do jogo... Acho que a base dessa conversa deve ser os perigos que a Internet representa. A pessoa precisa de maturidade para entender as conseqüências do que se faz na Internet e essa maturidade demora para vir. Portanto no inicio devemos acompanhar de perto.

MF:
Como os pais devem proceder ao perceberem que o filho foi vítima de algum tipo de abuso na internet?

Plínio:
Depende muito do que estiver acontecendo. Devemos primeiro conversar com a criança e ver até onde o problema chegou e como começou. Se não foi algo muito sério deve-se procurar evitar que volte a ocorrer, se foi algo mais sério deve-se buscar ajuda com pessoas competentes, advogados ou mesmo a polícia.

MF:
Parece que a velha máxima de “não fale com estranhos” não vale para a internet, pois pesquisas mostram que as crianças fazem amigos virtuais. Como proceder?

Plínio:
A regra vale sim. É a regra mais sagrada que pode existir.

MF:
Os pais devem bloquear o acesso das crianças?

Plínio:
Bloquear não, pois esse acesso é inevitável. Mas devemos restringir e acompanhar. Liberando mais recursos a partir do momento que a criança tiver maturidade para entender o que está fazendo.

MF:
Mais algum comentário professor:

Plínio:
Alguns sistemas operacionais, como o Mac OS X, que eu utilizo, permitem que alguns recursos do computador sejam limitados. Como acesso a webmail por exemplo, ou sites específicos. Acho importante que os pais procurem saber se o sistema que eles utilizam permite esse tipo de restrição e se permitir configurem as restrições apropriadas para seus filhos.

Verdades Menos Conhecidas sobre Programação

Achei esse texto bem interessante e trabalhei com ele na
minha disciplina sobre Modelagem de Software:

Some lesser-known truths about programming

Comentários?

domingo, 3 de abril de 2011

Nova Turma Confirmada

Nova turma do curso de Especialização em Engenharia de Software da Unimep inicia em 16 de Abril.

Ainda dá tempo de se matricular: http://www.unimep.br/gdc_cursos_conteudo.php?cod=105

Abraços,
Prof. Dr. Plínio Vilela

sábado, 2 de abril de 2011

Vaga Programador Rails

Programador(a) Rails Super Excelente
07/01/2011 (Obs.: recompensa de R$6k para quem recomendar uma pessoa -
e fizer as apresentações, óbvio - e a gente de fato contratá-la.)

O Umamão (umamao.com) é uma startup de ex-alunos da Unicamp focada em
construção colaborativa de conhecimento livre. Queremos mudar o mundo
e crescer agressivamente e, para isso, procuramos os melhores! (Se
você não mora em Campinas, a gente te ajuda a se mudar; leia abaixo.)

## Quem somos nós (pessoas)

* Helder Ribeiro, fundador e "o cara com a visão". Trabalhou na
startup alemã Qype, líder europeia do segmento de resenhas de lugares.
Trouxe a empresa para o Brasil em 2008, onde é hoje a primeira do
ramo;
* Arthur Amorim, formado em primeiro lugar na turma em Engenharia de
Computação, com duplo diploma pela École Polytechnique e estágio de
pesquisa na Universidade de Cambridge;
* Gustavo Sacomoto, formado em primeiro lugar no curso de Ciências
Moleculares da USP, atualmente terminando mestrado em Computação pelo
IME-USP.


## Quem é você

* Inteligente *pra caramba* e manja *muito* de tecnologias web;
* Tem paixão por complexidade, estruturas de dados, análise de
algoritmos, aprendizado de máquina, sistemas distribuídos *E* programa
que nem um louco;
* Generalista: topa mexer em tudo do back-end ao front-end;
* Quer ter um impacto real no mundo e ver seu trabalho usado por milhões.

*Você será a primeira contratação e ajudará a estabelecer a cultura da
empresa*. Queremos alguém que se importe com código bonito e saiba
testar; que procure sempre otimizar seu processo de desenvolvimento e
suas ferramentas; que tenha liderança e iniciativa, e um sólido
histórico de *coisas feitas* (contribuições em software livre e
projetos bizarros em linguagens esotéricas são um grande plus).

Obrigatório:

* Conhecimento muito forte de Ruby e Rails (tem patch aceito em algum
deles (opcional), grep mais código-fonte são sua documentação, sabe de
onde vêm e como funcionam as "magias negras" do Rails de trás pra
frente);
* Experiência com código de verdade em produção;
* Habilidade de debugging excelente (i.e. já teve que caçar um bug
maldito com o site em produção quebrado; achou e matou, todos
regozijaram);
* Forte conhecimento de *nix;
* Fundamentos sólidos de Ciência da Computação (!= diploma).

Desejável:

* Experiência forte com TDD/BDD, RSpec, Cucumber, Selenium, etc.;
* Falar e escrever muito bem em português e inglês;
* Participação significativa em ferramentas de construção colaborativa
de conhecimento (StackOverflow, Wikipédia, fóruns, listas de email);

## Tipos de desafio

Alguns exemplos de coisas que você terá que fazer com a gente:

* Importar e manipular eficientemente corpora da Wikipédia e da
Freebase (como você ordena 30Gb de dados com 4Gb de RAM? E em 20
computadores?);
* Desenvolver algoritmo de recomendação baseado em inferência
semântica de texto;
* Espremer milisegundos da aplicação web (speed is a feature);
* Implementar atualizações em tempo real com WebSockets/Comet;
* Escrever servidor em C++ para busca rápida (autocomplete) em uma
quantidade enorme de strings (que estrutura de dados você usaria?);
* Projetar e implementar infraestrutura distribuída baseada em
serviços na "nuvem" (estamos no Rackspace, queremos mudar para Heroku
+ AWS);
* Projetar e implementar interface otimizada para dispositivos móveis;
* Escrever extensões para browsers;
* Criar algo novo e nos surpreender.


## Quem somos nós (software e processo)

* Usamos Ruby/Rails, JS/JQuery, MongoDB e um pouquinho de C++;
* Temos pitadas de RSpec e Cucumber, mas queremos aumentar isso MUITO
(objetivo é Continuous Deployment);
* Usamos Git (nosso código está aqui: github.com/umamao) e Pivotal Tracker;
* Não somos extremistas, mas gostamos de Agile/Scrum e queremos levar
nosso processo mais para essa direção;
* Adoramos Linux e Software Livre (se você curte Mac também sem problema).

## Benefícios
* R$5-10k/mês + quotas da empresa (tudo negociável);
* Auxílio relocação: salário dobrado + hospedagem no primeiro mês;
* R$10k para você montar seu setup (se quiser comprar tudo em
monitores e usar seu próprio laptop, show);
* Open bar de livros técnicos;
* Almoço grátis!
* Fazer algo significativo com a sua vida e mudar o mundo!

Como se candidatar
Mande um email com currículo para vagas@umamao.com. Neste email,
descreva brevemente por que você é a pessoa certa para esta vaga.
Cidade
Campinas - SP
Empresa
Umamão
Palavras chave
rubyonrails ruby_on_rails ruby tdd bdd rspec cucumber
continuous_deployment mongodb c++ git javascript jquery websockets
html5 comet scrum agile senior.

Estágio Clic Interativa

Estágio Desenvolvedor Web na Clic Interativa em Limeira.
http://www.clicinterativa.com.br

Conhecimento:
- Lógica de Programação
- Estrutura de Dados
- Web Standards
- HTML / XHTML
- CSS
- PHP
- MySQL

Extras:
- AJAX
- Framework (Cake, Zend, Code Integer)
- PostgreSQL
- Objective-C
- ActionScript
- API (Mídias Sociais)
- API (Google)

Enviar CV para: contato@clicinterativa.com.br

Vagas Especialista Datasul

O SECONCI-SP (www.seconci-sp.org.br) está em busca de profissionais com experiência nos módulos de Compras, Recebimento e Estoques do Datasul EMS 206/506. Veja detalhes da vaga abaixo...

Os interessados devem entrar em contato com Kássia através do email projetoEMS@seconci-sp.org.br informando a posição de interesse.

---

CONSULTOR ESPECIALISTA EM DATASUL (Compras, Estoque e Recebimento)
- Projeto com duração de um ano
- Contratação PJ
- Local de trabalho: São Paulo - Perdizes (Zona Oeste, próximo ao metrô Barra Funda)
- Obrigatória experiência com os módulos de compras, recebimento e controle de estoques do sistema Datasul EMS 206/506
- Desejável experiência em projetos de integração entre estes módulos e sistemas legados
- Desejável vivência em instalações Progress e Oracle

PROGRAMADOR PROGRESS

- Projeto com duração de 4 a 6 meses
- Contratação PJ
- Local de trabalho: São Paulo - Perdizes (Zona Oeste, próximo ao metrô Barra Funda)
- Obrigatória experiência com programação Progress e construção de programas específicos para o Datsul EMS 206/506.
- Desejável experiência em projetos de integração entre Datasul e sistemas legados, em ambientes Progress e Oracle