Skip to content

Silveira Neto Posts

A Maior Partida de Futebol do Século

Quando eu disse que eu não jogava futebol, poucas pessoas compreenderam o real significado destas palavras.

EPTM escalação
Da esquerda para a direita, na fila de cima: Robson “Macaco” (goleiro), Marco “Marcola” Diego, Ronan Soares, Heraldo Carneiro. Na fileira de baixo Carlos Eduardo “Code”, Rafael e eu (Silveira).

O fato é que eu realmente não jogo futebol. Pelos dados dos orgãos oficiais a última partida de futebol que eu disputei foi a dez anos atrás, no mínimo. Ainda assim nós reunirmos os piores jogadores do curso de computação, aqueles que ficaram de fora de todos os outros times, para fazer um dreamteam-1.

pessoal da computação jogando futebol

Apesar de nós não termos feito nenhum gol no campeonato, termos tomado de oito a zero no primeiro jogo e termos ficado em último lugar de todos os times, o resultado foi muito bom. E apesar do que tem dito por aí, eu não fiz aquele gol contra no primeiro tempo. Muito pelo contrário, eu tentei (heroicamente) tirar a bola do atacante adversário na nossa área com um carrinho.

O encontro de dois grandes times
A esquerda o nosso time, o Eu Podia Tá Matando Futebol Clube. A direita o Nerdproud.

Sem dúvida a melhor partida de todas (e mais aguardada) foi dos times:

  • Eu Podia tá Matando Futebol Clube x NerdProud.

Havia uma polêmica sobre qual desses times era realmente o pior do campeonato. Foi uma partida disputadíssima com contou com a presença de um enorme público se fez presente para assistir o fla-flu do futebol amador. Numa partida longa e emocionante encerramos o jogo com um espetacular zero a zero. E olhe que houve até um pênalti perdido no finalzinho do segundo tempo.

Heraldo teve seu braço imobilizado depois da partida. Foi mal Heraldo, eu não queria ter acertado um carrinho em alguém do meu próprio time, desculpa. Eu cheguei agora do hospital com o Marco. Os raios-x mostraram que ele teve uma torção no pé mas não houve fratura. O médico recomendou que ele não jogue futebol pelas próximas três semanas (como se isso fosse acontecer de qualquer maneira). Logo que os médicos derem alta para nosso time nós queremos uma revanche contra o nerdproud.

fazendo aquele negócios com as mãos

Trecho em vídeo da nossa primeira partida:




Segunda partida (atentem para o final do vídeo onde eu tiro pedaços de “grama sintética” do meu sapato):



A escalação completa de todos os times está aqui.

Ganhei dois jogos

Ganhei dois jogos antigos originais com caixa e tudo.

Caixas dos jogos Jedi Knight e Warcraft 2
Joguinhos novos

O da esquerda é o Jedi Knight, Dark Forces 2. Eu adoro jogos dentro do ambiente do Star Wars. Eu cheguei a jogar o demo desse jogo a muito, muito tempo atrás. O da direita é o Warcraft 2, um jogo que eu sempre quis ter o original porque eu adoro essa capa dele. E o melhor de tudo é que é uma versão brasileira, dublada em português que eu procurava a algum tempo. Eu não consigo nem calcular quantas horas eu já passei jogando Warcraft 2. Agora eu vou poder finalizar o jogo vendo todos os vídeos e jogando em português.

O próximo passo é fazer eles rodarem no Linux. Acho que com o Cedega isso não vai ser problema.

Valeu Italo! eba eba

Que notebook eu devo comprar?

Como minha máquina de trabalho está obsoleta e cada vez mais instável eu estou seriamente inclinado a comprar uma máquina nova, só que desta vez um notebook

Notebook em cima de uma mesa
Foto de Takashi Toyooka.

Eu levantei uma série de requisitos para que eu posso analisar as centenas de opções disponíveis no mercado, se você tiver alguma sugestão de notebook que se encaixe nesse perfil, por favor se pronuncie.

  • Bateria: eu não vou precisar de muita autonomia, mas eu vou usar o notebook para palestras. Acho que uma autonomia de duas horas está bom.
  • Tela: embora eu use muito minhas máquinas para desenhar e fazer trabalhos gráficos, telas muito grandes sempre me incomodaram. Eu até prefiro uma tela que não seja muito grande.
  • Sistema Operacional: Esse notebook vai rodar básicamente Linux (Ubuntu) e o OpenSolaris. É importante que todo o hardware seja compatível com esses dois sistemas. Eu encontrei essa lista de compatibilidade do OpenSolaris que pode ser útil. Eu já vi que várias marcas de notebooks fazem uma venda casada de windows mas eu não tenho a menor intenção de pagar por um produto que eu não vou usar.
  • Memória: eu vou precisar de pelo menos 512 Mb e com certeza depois eu vou querer expandir para 1Gb.
  • Processador: seria agradável se eu tivesse um processar de dois núcleos já que eu costumo fazer programas para tirar proveito de paralelismo. Mas isso é algo dispensável já que aumenta muito o preço. Um processador x86 está aceitável.
  • Placa de vídeo: eu preciso de uma placa aceleradora porque eu costumo usar softwares de modelagem 3D como o Blender e também porque eu vou usar extensões como o Compiz. Uma placa de vídeo com uma boa compatibilidade como as da Nvidia ou ATI seria ótimo.
  • Disco: eu também não preciso de uma disco grande, eu já tenho um no meu desktop pra isso.
  • Garantias: eu não faço questão de comprar aqui na minha cidade, Fortaleza. Eu já tenho o hábito de comprar coisas pela internet. Porém eu acho importante comprar em uma loja de porte como as Americanas.com ou o Submarino.com.br para ter um bom suporte pós-venda e garantia, de pelo menos 1 ano. E também para eu poder comprar parcelado.
  • Preço: aqui é que o bixo pega. Eu quero um laptop com tudo isso e que custe por volta de 2 mil reais. Eu acho que pesquisando bastante, conseguindo alguns descontos isso seja possível.
  • Peso: eu não gosto muito de notebooks muito pesados, depois que eu fixar as outras variáveis eu prefiro um que seja o mais leve possível.

Há bons artigos que tem me orientado sobre o tema:

E você? Tem alguma sugestão pra mim?

Atualizado: Obrigado a todos que comentaram e enviaram sugestões. Eu já comprei meu notebook. Portanto, eu não preciso mais de sugestões. 😉

VII SECOMP

Assisti hoje a duas palestras na 7° SECOMP, a semana de computação da faculdade Lourenço Filho:

  • Apresentando o CEJUG (Ceará Java Users Group), do Rafael Carneiro.
  • Anatomia do JSF (JavaServer Faces)

Foi muito bom para conhecer alguns membros do JUG cearense, trocar algumas idéias e ser reconhecido pelo Milfont (sem eu ter dito a ninguém) como “ei, tu é o cara que faz o Eu Podia Tá Matando!” 😀

Belenix em processadores sem instruções SSE2

O Belenix não funcionou comigo com esses processaores:

  • AMD Athlon XP 2000+
  • AMD Sempron 2400+

Logo no início do boot eu tinha um erro parecido com esse:

ld.so.1: perl: fatal: /lib/libm.so.2: hardware capability unsupported: 0x1000 [SSE2]
Killed

É um problema que atualmente o Belenix (versão 0.6.1) tem com processadores sem suporte a instruções SSE2, a libm padrão tem dependencia dessas instruções. Sem o perl funcionando vários scripts de inicialização do sistema falham e tudo que se consegue é um prompt de login.

Para contornar o problema há como montar uma versão da biblioteca que não depende do SSE2. O login padrão do Belenix é usuário root senha belenix. Com isso você consegue um terminal mínimo de root e faz a montagem:

/usr/sbin/mount -O -F lofs /lib/libm.so.2.nonsse /lib/libm.so.2

Mais informações nessa thread na lista do Belenix.

SSH sem senha

Em poucas palavras, dê o comando ssh-keygen no seu Linux. Você vai dar enter três vezes, a primeira para não mudar onde vai ser gravada a chave, a segunda para não escolher nenhuma senha e a terceira para confirmar que não vai usar senha:

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/silveira/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/silveira/.ssh/id_rsa.
Your public key has been saved in /home/silveira/.ssh/id_rsa.pub.
The key fingerprint is:
f4:b3:87:32:63:3d:4a:fa:83:4c:4c:52:22:31:v7:1c

Agora copiamos a chave pública RSA para a máquina onde você quer logar sem senha. Por exemplo, eu vou cópiar para uma certa máquina certamaquina.com para o usuário também chamado silveira:

scp /home/silveira/.ssh/id_rsa.pub silveira@certamaquina.com:/home/silveira/.ssh/authorized_keys

Para usar esse scp você ainda vai ter que colocar a senha. Depois que você copiou sua chave pública para o diretório .ssh do seu usuário, com o nome authorized_keys, você pode se conectar normalmente àquela máquina. Só que agora sem usar nenhuma senha.

ssh silveira@algumamaquina.com

Há um artigo mais detalhado do procedimento pode ser visto no dicas-l.

Here comes the Sun



Eu fico muito feliz em anunciar que eu fui um dos escolhidos para participar do programa de Embaixadores de Campus da Sun Microsystems.

A partir do dia primeiro de outubro eu serei um dos 500 embaixadores espalhados por campus em todo o mundo, conhecendo e divulgando técnologias e projetos relacionados com a SUN. Conforme o próprio anuncio do programa:

O Embaixador de Campus da Sun irá construir comunidades ao redor das plataformas abertas da Sun e de código-aberto (OpenSolaris, Open SPARC e Java) e ferramentas de desenvolvimento dentre os Desenvolvedores Acadêmicos (estudantes, corpo docente e pesquisadores) de sua universidade.

Nesse primeiro momento eu, outros 13 alunos brasileiros (e outros vários alunos de outros paises) estamos tendo aulas à distancia usando o ambiente de educação à distância Elluminate. Eu já usei vários softwares semelhantes mas eu tenho que adimitir que o Elluminate foi minha melhor experiência até agora. É fantástico ter uma aula realmente produtiva com seus tutores na Califórnia e seus colegas espalhados pelo Brasil e até na Índia! Todos esses passos e acontecimentos eu vou relatar detalhadamente aqui no Blog.

É uma chance ímpar. Eu pretendo aproveitar ao máximo. Eu espero que seja uma experiência tão entusiasmante também para meus colegas, para os estudantes da UFC (e também de outras universidades) e para os usuários do JUG Cearense.

Logomarca da SUN

E o melhor de tudo: eu vou estagiar na empresa que tem a logomarca mais legal.

XII Maratona Brasileira de Programação

Logo da Maratona Brasileira de Programação

Esse sábado eu participei, junto com o Carlos Pontual e o Heraldo Carneiro, da décima segunda edição da Maratona Brasileira de Programação.

Maratona Brasileira de Programação

A sede do Ceará na competição ia ser em Sobral, com o pessoal da Engenharia da Computação da UFC, mas acabou sendo na Unifor. Uma pena, eu queria ter viajado pra conhecer o curso novo.

Embora antigamente eu tenha competido na OBI (Olimpíada Brasileira de Informática), eu nunca havia competido na Maratona Brasileira de Computação. Enquanto a OBI é uma competição voltada para alunos do ensino médio e básico a maratona é voltada para alunos do ensino superior da graduação e mestrado. Pelas minhas contas já faziam aí uns 3 anos que eu não competia.

Para quem não conhece esse tipo de competição, funciona assim: uma pessoa ou uma equipe (dependendo da competição) tem um certo tempo para resolver uma série de problemas usando programação. A correção do programa é automatizada. Seu programa é testado através de uma bateria de testes e deve retornar as respostas corretas. É uma ótima forma de melhorar seus conhecimentos sobre grafos, lógica, programação dinâmica, estruturas de dados, programação etc. Também é uma ótima oportunidade para conhecer ou rever o pessoal dos cursos de computação.

Heraldo Carneiro, Silveira Neto e Carlos Pontual

Bem, vamos aos problemas que nós fizemos:

  • Varetas, problema H, era um problema bem simples. Esse nós fizemos em C e foi aceito de primeira.
  • Histórico, problema E, também um problema não muito complicado. Mas foi por ele que nós nos enrolamos. Nós resolvemos o problema em Java e submetemos, mas a correção deu runtime error para ele. Nós re analisamos o problema, modificamos o programa e mandamos novamente e ganhamos outro runtime error. Como nós estávamos bem confiantes que nossa resposta estava certa nós refizemos o programa em C e submetemos. Dessa vez o programa passou sem problemas. Mais Tarde ficamos sabendo que devido a um erro da correção automática, não havia como um programa em Java ter acertado essa questão. Isso fez que passemos 1 hora e 44 minutos nesse problema.
  • Rouba, problema B, basicamente um problema para simular um jogo de cartas. O Heraldo pegou esse problema e fez ele em Java. Depois de 3 submissões e 3 time limit exceeded da correção automática, nós estávamos certos que nosso programa estava correto. Nós já haviamos feitas varias otimizações de velocidade no programa. Havia agora três alternativas: ou abandonar o problema e tentar outra questão ou continuar a otimizar o programa ou refaze-lo em C. Até tentamos sair do problema, mas ele não saiu da cabeça do Heraldo :). Refaze-lo em C implicaria em implementar uma série de estruturas na unha, o que iria ser muito chato e não havia certeza que isso ia resolver nossa vida.Por fim o Heraldo fez mais um última pequena otimização no programa e ele passou.

Nós ainda tentamos sem sucesso resolver os problemas Mário (o problema do armário hehehe) e o Zak.

Algumas estatísticas (parciais) da sede do Ceará:

Problema Submissões Aceitos
Histórico 27 9 (33%)
Rouba 17 6 (35%)
Tubos 1 0
Volei 1 0
Zak 6 2 (33%)
bolhas 4 0 (0%)
caixas 23 5 (22%)
mario 8 2 (25%)
olimp 0 0
varetas 17 10 (59%)

Equipes e problemas resolvidos:

Equipe Resolvidos Problemas
UECE – Camila, Tainara, Leonilia 6 Rouba (7/207), mario (1/172), Histórico (1/41), caixas (1/233), varetas (1/49), Zak (2/273)
UECE – Die aphthe schmerzen 5 Rouba (1/161), mario (2/0-), Histórico (1/47), caixas (2/223), varetas (1/35), Zak (4/186)
AVL Team 5 Rouba (1/135), mario (1/277), Histórico (1/77), caixas (5/296), varetas (1/67)
Os Entrevistados 4 Rouba (1/90), Tubos (1/-), Histórico (1/79), caixas (2/182), varetas (1/66)
GOF 4 Rouba (2/73), Histórico (5/151), Caixas (5/289), Varetas (1/39)
Eupodiatamatando 3 Rouba (4/181), Mário (4/-), Histórico (3/143), Varetas (1/39)
UECE – n^n 2 Rouba (1/-), Histórico (1/90), caixas (1/-), varetas (2/122)
UECE – n! 2 Histórico (2/206), varetas (1/61)
unifor2 2 Histórico (2/206), varetas (1/61)
Mazela.cpp 1 Vôlei (1/-), Histórico (4/-), caixas (7/-), varetas (1/71)
unifor1 1 Histórico (2/-), Varetas 6

Observações: A equipe Singularidade de Sobral não estava presente lá, eu não sei se eles competiram. As equipes da UECE tiveram a boa idéia de colocar o nome da faculdade no nome da equipe.

Eu gostei muito dos resultados. Tivemos muitas equipes com bons resultados. Isso demonstra que os esforços, principalmente do Joel Uchôa, em divulgar e particularizar a competição estão sendo frutíferos. Todas as universidades conseguiram bons resultados. Ano que vem eu espero ver mais universidades competindo.

Sugestões para a organização:

  • Linguagens: segundo o Joel Uchôa me informou há planos para inserir novas linguagens na competição. Fica minha sugestão para que Python e Ruby sejam incluídas.
  • Java: me parece que há um longo histórico de problemas com a correção de programas em Java, sendo inclusive o uso desta desaconselhado por alguns. Eu espero que isso seja melhorado na próxima edição. Eu e minha equipe tivemos sérios problemas por conta disso mas nem por isso tenho planos de usar outra linguagem na próxima edição.
  • Distribuição: há uma distribuição GNU/Linux própria para a competição o Maratona Linux. Ele tem várias sacadas legais como redes separadas para que nenhuma equipe possa usar a Internet ou enxergar as outras equipes, boot remoto etc. Porém é necessário boot pelo disquete o que tem sido uma fonte constante de problemas. O sistema de janelas WindowMaker também é fonte de confusão com usuários iniciantes, se é realmente necessário um sistema minimalista eu recomendaria o Fluxbox, XFCE ou Icewm.
  • Correção: eu não gosto do esquema de correção da Maratona. Eu prefiro o da OBI. Na OBI há varias baterias de testes, cuidadosamente preparadas para filtrar cada tipo de erro ou algoritmos. Cada acerto em uma bateria resulta em pontuação. Já na maratona ou se acerta uma questão completamente ou ela está totalmente errada. Isso impede algoritmos mais triviais, algoritmos com complexidade alta (os não polinomiais) e impede também usar técnicas de Inteligência Artificial. Acho que isso interfere muito na forma de se elaborar os problemas e de se resolver os problemas. No universo dos problemas reais, nem tudo pode ser resolvido em tempo e espaço polinomial. Esse é o universo em que vivemos.

Fotos:


almoço Almoço Maratona Brasileira de Programação Maratona Brasileira de Programação Maratona Brasileira de Programação Maratona Brasileira de Programação Mesa desorganizada Maratona Brasileira de Programação Maratona Brasileira de Programação Maratona Brasileira de Programação Maratona Brasileira de Programação Maratona Brasileira de Programação Maratona Brasileira de Programação Heraldo Carneiro Maratona Brasileira de Programação balões laboratório computadores Maratona Brasileira de Programação Joel Uchôa Maratona Brasileira de Programação Heraldo Carneiro Silveira Neto Carlos Pontual Maratona Brasileira de Programação confraternização Maratona Brasileira de Programação confraternização

bônus: um vídeo que eu fiz quando já estava bem cansado. Aqui.

A Maratona Brasileira de Programação é uma realização da Sociedade Brasileira de Computação, USP, Fundação Carlos Chagas, IBM e diversas universidades e voluntários por todo o Brasi.

Meus primeiros U$100 no AdSense

Nesse exato momento eu atingi a marca dos 100 dólares no AdSense. Esse é o valor mínimo para que eles me enviem um pagamento.

100 dólares no AdSense

A renda é proveniente praticamente só dos cliques no eupodiatamatando.com. Lá eu coloquei o AdSense mais ou menos no começo do ano. Durante os primeiros meses, que também foram os primeiros meses do blog, ele não deu praticamente nada. Finalmente em Agosto e Setembro ele deslanchou junto com o crescente número de visitantes no Blog e passou a dar algum dinheiro. Recentemente ele encostou na renda do Buscapé, que já vinha dando alguma renda. Por sinal eu estou trocando gradualmente o Buscapé pelo Já Cotei, que paga por cliques diretos.

Legal ver um hobby que eu tenho só por prazer e que eu levo paralelamente às minhas atividades principais, trazer também algum dinheiro. Eu até conheci algumas pessoas aqui em Fortaleza que vivem de blogs e de internet, não é o meu caso. Para mim essa grana tem sido uma mesada, paga as contas do telefone. Mas o retorno financeiro não é o único ganho, muito menos o principal. As pessoas que eu conheci, as coisas que eu aprendi e compartilhei e destaque que eu pude dar à minha voz, esses sim eu posso garantir que foram os maiores ganhos.

Bônus: um fato interessante que o Hélcio Brasileiro trouxe para mim, os blogs no Brasil tem uma audiência de 9 milhões de leitores. Interessante, bem mais do que eu esperava.