Archive for the 'Uncategorized' Category

Porque ando tão calado

Technology is nothing. What’s important is that you have a faith in people, that they’re basically good and smart, and if you give them tools, they’ll do wonderful things with them. It’s not the tools that you have faith in — tools are just tools. They work, or they don’t work. It’s people you have faith in or not. Yeah, sure, I’m still optimistic I mean, I get pessimistic sometimes but not for long.

Steve Jobs – 1994

Diante do bombardeio diário de novidades, um computeiro deve se sentir tentado a acompanhar todas as discussões sobre os produtos e as tecnologias da moda: no último meses tivemos um ou dois iPhone killers, uma linguagem de programação “abençoada”, o estouro do Cloud Computing, um “sistema operacional“,  o fim da indústria editorial e o surgimento do computador para todos os outros.

E nós aqui, passamos boa parte do ano calados. Trabalhando. Até poderíamos ter escrito N+1 blog posts opinando sobre cada uma dessas novidades. Mas nenhuma dessas nos ajudou a entender melhor o mundo, ou a construir algo melhor. Então, passou batido. Sem contar que estávamos muito mais interessados em produzir algo de fato, ao invés de simplesmente sermos mais um palpiteiro na poltrona.

É uma revolução por minuto, que muitos tentam discutir, comparar, medir, organizar. É tudo bobagem. É tudo tecnologia, e tecnologia não é um fim em si mesmo. Por favor, saiam do Google Wave, parem de perder o presente discutindo o futuro. Construir o futuro é muito mais divertido.

Job4Dev 3.0

Primeiro post do ano, e nada melhor do que começar com novidades (antes tarde do que nunca)!

Os assinantes de RSS do Job4Dev mais atentos devem ter percebido uma mensagem nova que passou a aparecer no rodapé de cada anúncio. Cito:

Parece que você está se cadastrando (ou prestes a se cadastrar) para o feed de todos os anúncios. Nenhum problema por nossa parte, mas tenha em mente que o volume de anúncios pode ser excessivo. Você pode se interessar em dar uma olhada em nossa página para filtrar os tipos de empregos, e obter feeds específicos, baseado na localização e nas palavras-chaves.
Alguns talvez tenham visto a mensagem em inglês. Fato é que algo parece ter mudado. E mudou: graças ao trabalho do Raphael, o Job4Dev evoluiu e chegou à versão 3.0 com grandes pretensões. Job4Dev pretende virar global, mas mantendo a qualidade local: ruído ZERO, essa é a nossa meta!

Aqueles que frequentam o site  devem ter notado que mais vagas internacionais estão sendo cadastradas, e que um versão em inglês está disponível. Acessando a URL http://www.job4dev.com.br, o site estará sempre em português, mas ao acessar http://job4dev.com, a língua irá variar com as preferências do seu navegador.

Para tentar oferecer as vagas mais próximas do visitante, adicionamos um mecanismo de georeferenciamento na página principal: o Job4Dev descobre a sua localização e mostra vagas da cidade, ou da província (estado) ou do país. Por exemplo, neste momento em que vos escrevo, estou em Sampa e ao acessar o site, vejo apenas vagas para a capital do estado. Está em Sampa mas quer procurar vagas no Rio ou em Campinas? Sem problemas: clique em no link Vagas (ou Jobs), e veja a listagem completa de anúncios, com opções de filtros por palavra-chave, tipo de contrato, localização e por aí vai.

Por falar em filtros, a partir de agora é possível agora criar feeds RSS específicos para suas necessidades. Entre no site, crie o filtro desejado e clique no link feed, que aparecerá no quadro amarelo no topo da página.

Em relação às vagas e empresas, aumentamos o nosso lado colaborativo, adicionando um mecanismo de comentários para usuários cadastrados. Gosta da empresa? Quer dar mais informações? Acha que a vaga vale a pena? Comente. Assim, estamos promovendo a criação de uma base de dados de empresas de tecnologia do mundo todo, permitindo uma escolha altamente consciente e embasada em opiniões alheias.

O formulário de cadastro agora diferencia usuários que buscam vagas daqueles que desejam cadastrar novas vagas. Um passo a mais na oferta de serviços específicos para cada um destes públicos, como por exemplo o cadastro de currículos online (já disponível também para usuários cadastrados).

Vale citar também pequenas modificações, como a simplificação do fluxo de cadastro de anúncios (com link para adição de vaga diretamente da página de empresa), e mecanismo para troca de senha (esta que já veio tarde demais….mas novamente: antes tarde do que nunca).

Resumindo, é isso! Feliz 2010 para todos.

Bits4Dev – Byte4Dev

  • Red Gate Software não dá casa, comida, nem roupa lavada. Mas dá espaço pra trabalhar, palestras de mentores e até uma mesada para quem quiser trabalhar em alguma idéia original.
  • A diferença entre homens e crianças está no preço dos seus brinquedos, diz o ditado. Nem isso, se o seu brinquedo for um motor V8 construído a partir de Lego
  • Representando graficamente a sua vida online.
  • Projetinho interessante para quem está trabalhando com Django e quer alavancar as redes sociais: SocialAuth.
  • Uma das melhores formas de se explicar unidades métricas para o povo que está acostumado com o padrão imperial é essa. Mas e para explicar quanto é um petabyte?
  • São raros os filmes onde a continuação é tão boa quanto o original. Espero que com o prêmio do Netflix seja diferente. Prepare seu algoritmo de Machine Learning.
  • No futebol, muito se fala dos jogadores de sucesso com salários estratosféricos e contratos na Europa, mas pouco se fala que há 2849 jogadores em times de segunda divisão para cada Kaká ou para cada Ronaldo (brilha mutcho no Curintchia!). Isso é conhecido como survivor bias. Em tecnologia, muito se fala das startups que deram certo e transformaram seus donos em zilionários, mas pouco se fala das startups que correram risco e não vingou. Ainda bem que isso está começando a mudar.
  • Curta e rápida, só pra fazer bit-padding: Saiu a nova versão do slackware.

Quais features você gostaria de ver em um site de empregos?

Fato 1: A nova versão do Job4dev já está no ar. Não tenho dúvida de que ainda há bugs que devem ser resolvidos, mas creio que já está na hora de começar a planejar quais recursos vamos adicionar para as próximas versões.

Fato 2: Eu vi que o Github tem um issue tracker meio rudimentar, mas que possui um recurso interessante: ele permite que as pessoas “votem” em bugs, para que os desenvolvedores saibam quais bugs as pessoas desejam que sejam resolvidos primeiro.

Juntando os dois, tive uma idéia: já que esse é um projeto de código aberto, vou começar a usar o issue tracker do Github como um sistema de votação de feature requests. Espero que isso sirva para que potenciais colaboradores possam ter uma idéia de “onde” eles podem ajudar, e também que prioritize meu (escasso) tempo dedicado para o desenvolvimento.

Para votar, é só ir na página de issues do projeto Job board, aqui. Se você tiver alguma outra idéia, é só criar um novo ticket com um breve comentário explicando a proposta.

Gerador de Stats Web

Pergunta à comunidade Log4Dev: alguém aí conhece um bom sistema de geração de estatísticas web a partir de log do Apache, de preferência de código aberto?

Dica Terminal / Mac

Descobri um comando hoje que pode ser útil em scripts bash: é possível acessar a àrea de transferência do OS X através do bash usando o comando pbcopy.

Por exemplo, para o conteúdo de um arquivo, basta fazer: > cat arquivo | pbcopy

Nessas horas eu vejo que eu não sei picas do Darwin…

Pânico

Muitos diziam que existia, mas ninguém nunca tinha visto de fato. É um evento raro, que aconteceu comigo ontem pela primeira vez em 8 anos de OS X. Me dói muito falar isso, mas é dever deste blog mostrar uma foto raríssima de um KERNEL PANIC no Mac.

As cenas são fortes…

Kernel Panic Mac

Acho que está na hora de eu levar meu MacBook Pro pra revisão. Ele anda com uns comportamentos estranhos.

Java, Emacs and JaL (Java, a Linguagem)

Real programmers

Comecei a utilizar Emacs no início da minha primeira iniciação científica, nos idos de 1999. Fui feliz durante muito tempo, escrevendo código em Perl e C, algumas páginas HTML, diversos relatórios em Latex … tudo muito tranqüilo, nenhuma reclamação com aquele ambiente de desenvolvimento.

Eis que por volta de 2002, ao definir a linguagem de programação que iríamos utilizar na Scylla, optamos por Java, uma linguagem até então desconhecida para mim. Arregacei as mangas, peguei meu Emacs, e mandei bala. Tudo muito tranqüilo, afinal não tinha parâmetro de comparação. Até que fui apresentado ao Eclipse: auto-complete, code-checking durante a digitação, etc e tal – Como pude viver sem isso? – programar em Java ficou muito fácil.

Tudo ia muito bem, até há pouco tempo atrás, quando por razões que nem o Padre Quevedo poderia explicar, a configuração de meu ambiente de desenvolvimento foi para o espaço, sem formas de recuperá-lo. Isto, associado à vontade dos orixás da conexão internet intermitente (vulgo péssima estrutura de TI), impediram que eu conseguisse baixar uma outra versão do meu querido Eclipse. Após falhar neste teste de paciência, decidi que tinha de voltar a trabalhar com o que eu tinha à mão. Resultado: tirei a poeira do Emacs e o coloquei para trabalhar.

O começo foi duro: vários impropérios foram proferidos por conta de erros de digitação que resultavam em erros de compilação; sem contar no aumento de caracteres que tive que passar a digitar – já não me lembrava mais que era preciso escrever imports (aliás, não lembrava que a classe Connection estava em java.sql e que a classe DataSource em javax.sql ?). Mas muitos xingos e litros de café depois, me adaptei a esta nova realidade.Neste instante, compreendi claramente a diferença entre JaL e JaP – (Java a Linguagem x Java a Plataforma – veja os comentários).

Não quero defender aqui que a verbosidade de Java, condenada veementemente por alguns, seja um impedimento ao uso da linguagem ( devagar com as críticas Lullis, por favor :-D ), mas vejo esta verbosidade como um atributo para melhorar sua forma de programar. Agora, penso melhor no código que escrevo, procuro formas de reaproveitar o código … até mesmo os nomes das variáveis que utilizo são pensadas de forma a evitar a fadiga. Coisas que eu não tinha porque me preocupar, pois tudo era muito simples, graças ao poder do Ctrl Enter.

Não defendo tampouco a aposentadoria de ferramentas como o Eclipse. Gostaria de voltar a utilizá-lo no futuro. Mas neste instante, pretendo continuar a utilizar o Emacs por um bom tempo, forçando-me a melhorar minhas práticas, e então sim, voltar para o Eclipse, que inegavelmente é uma ferramenta fantástica para aumento de produtividade.

People, not process

Não é a primeira vez que recorro ao cinema para passar a mensagem.

“I never think about the audience. If someone gives me a marketing report, I throw it away.”
Andrew Stanton, criador de Wall-E

Gerenciamento pessoal

A idéia deste artigo é tentar capturar dicas, conselhos e experiências dos leitores deste blog, para benefício próprio – e quem sabe de outros que talvez tenham o mesmo problema.

Há pouco tive uma conversinha rápida com o Miguel no GTalk, acabamos falando de planos futuros, projetos pessoais, etc e tals. E ele estava descrevendo que estava bastante contente com a concretização de alguns projetos pessoais, como aprender Python, Job4Dev, SigaSeuTime, fotografia, entre outros. Neste instante, comentei que admirava a sua disciplina, pois apesar de ter alguns planos, não conseguia me dedicar à execução dos mesmos se não tivesse alguma obrigação embutida.

Para tornar mais claro, vou dar dois exemplos pessoais que ilustram bem este problema:

  1. Estava com o firme propósito de aprender Lisp para fazer desenvolvimento web (curiosidade pessoal gente, não atirem pedras, por favor). Comecei a estudar, brincar um pouco, e “puff”. O plano empacou. Não consegui me dedicar mais ao mesmo
  2. decidi que era o momento de aprender estatística – me inscrevi como aluno especial em uma matéria sobre o tema na Esalq, e voilá … estou aprendendo.
Outro problema que sinto também, é balancear vida pessoal com estes objetivos de “desenvolvimento técnico-profissional“. Apesar de gostar muito do que faço, dificilmente troco uma cerveja com os amigos por algumas horas de programação em Lisp; ou então um treino/jogo de handebol pela leitura do artigo sobre MapReduce.

Exposto o problema, fica aqui o pedido de socorro aos leitores:
  • O que vocês fazem para desenvolver a disciplina necessária para execução de projetos pessoais de “desenvolvimento técnico-profissional“?
  • Como vocês fazem para determinar o equilíbrio entre as vidas pessoal e profissional?
Sintam-se à vontade de contribuir. Espero podermos reunir um bom material, e depois escrever um outro artigo a respeito (se não rolar nenhum churrasco no dia :-D )

Next Page »

Switch to our mobile site