Posted on Mar 4, 2009
After some few months working at TownConnect, various challenges and learning, my work on the project has ended.
Well, I’m anxious to start a new project to work on.
I’m looking for full-time projects, with the minimum of three months contract, flexible hours, motivated team and small team is desired.
You will hire a professional self-motivated and goal oriented, dedicated, hard-working team player, self-learner and focused on results. Easy adaptation to new working environments and good problems solving skills. Highly skilled in Web Technologies.
Ruby / Ruby on Rails enthusiast, specialist and evangelist. Software architect, consultant, developer and analyst.
It would be wonderful if you can share this post with anyone who would benefit from having me on their team.
I can be contacted at oz.santana@gmail.com.
Posted on Mar 4, 2009
Após alguns meses de trabalho na TownConnect, diversos desafios e aprendizados, infelizmente o desenvolvimento do projeto teve que parar.
Bom, estou ansioso para começar a trabalhar em um novo projeto.
Procuro por projetos em tempo integral, com no mínimo 3 meses de contrato, com horário flexível, equipe motivada e de preferência pequena.
Você irá contratar um profissional motivado e com metas, dedicado, com excelente trabalho em equipe, autodidata e focado em resultados. Fácil adaptação ao ambiente de trabalho e com muita habilidade na resolução de problemas. Especialista em desenvolvimento web.
Entusiasta, especialista e evangelizador de Ruby / Ruby on Rails. Arquiteto, consultor, programador e analista de Sistemas.
Agradeceria se você pudesse compartilhar este post com quem se beneficiaria em ter-me na equipe.
Você pode entrar em contato comigo através do email oz.santana@gmail.com.
Posted on Feb 25, 2009 2 Comments
Hoje pela manhã a Apple liberou o Safari 4 beta. Foram diversas as modificações, entre elas, a Nitro Engine – JS, que chega a ser 30 vezes mais rápido que o browser da Microsoft, suporte a HTML 5, CSS3 e o primeiro browser não-experimental a passar no Acid3 Test atingindo a maior nota possível: 100/100.
Os usuários do 1Password perceberam que ele não funciona na nova versão. Para que ele volte a funcionar, feche o Safari e o 1Password e edite o seguinte arquivo:
/Applications/1Password.app/Contents/Resources/SupportedBrowsers.plist
Procure uma chave nomeada com Safari e o valor da chave MaxBundleVersion. Você encontrará o valor 5528.1, que é a versão máxima suportada. Bom, basta alterar para 5528.16, salvar e fechar. Agora reabra o Safari e pronto.
Posted on Jan 15, 2009 1 Comment
Há algum tempo adotei o Nginx como servidor HTTP, e desde então tenho configurado diversos servidores, sempre obtendo bons resultados.
Esta semana precisei configurar um servidor da TownConnect para rodar o WordPress, mas diferente do que já tinha feito, precisava dele em um subdiretório no domínio principal, não em subdomínio ou domínio próprio. Neste exemplo, vou usar a versão estável, Nginx 0.6.34, WordPress 2.7 e o Debian Linux.
Vamos instalar as dependências do Nginx:
Agora vamos instalar o Nginx:
Você pode optar por instalar usando o apt-get, particularmente eu prefiro assim. Devemos configurar o funcionamento do Nginx:
Agora precisamos criar o daemon para executar o Nginx:
Temos duas opções para instalar o PHP, usando o apt-get ou compilando o código fonte.
Vamos instalar o PHP CGI com suporte a MySQL e o Lighttpd para obter o spawn-fcgi, que vai cuidar dos pedidos ao FastCGI do PHP. Depois de instalados, vamos parar e remover o serviço do Lighttpd, que não é necessário:
O spawn-fcgi deve ser configurado para executar como um serviço. É preciso escolher a porta que vai ser usada, neste caso, a escolhida foi 53987 (aleatoriamente). Desta maneira poderemos reiniciar o servidor sem se preocupar:
E para finalizar:
Apesar de ser um pouco demorado, particularmente prefiro desta forma. Se você já instalou usando o apt-get, pule esta parte. Vamos instalar as dependências, baixar o código fonte do PHP, o patch PHP-FPM, aplicar o path, compilar e instalar:
Setamos o usuário que vai executar o php-cgi como:
E para finalizar:
Faça o download do WordPress e siga os passos de 1 a 5 do Famous 5-Minute Install. O sexto passo vamos deixar para depois. O diretório usado para a instalação do WordPress deste tutorial é /var/www/example.com/blog.
Agora basta seguir o sexto passo do Famous 5-Minute Install e o WordPress estará instalado e rodando em um dos melhores servidores HTTP, o Nginx.
Posted on Dec 15, 2008 6 Comments
Some friends have encouraged me to write a post with profiles of personalities and developers of the Ruby/Rails World here in Brazil, as well as the RubyLearning, in 50+ Rubyists to Follow on Twitter and Top Ruby Merbists to follow on Twitter.
This list does not include all profiles, but it should give you a great start to following some talented brazilian Rubyists.
Update: We are updating the list based on your recommendations.
This dude also talk about Ruby/Rails, sometimes :-).
You can help. Please feel free to add a link to a Brazilian Rubyist’s Twitter profile. Add yours, too.
Posted on Dec 15, 2008 5 Comments
Alguns amigos tem me encorajado a escrever um post com perfis de Personalidades e Desenvolvedores do Mundo Ruby/Rails aqui do Brasil, assim como o RubyLearning, nos posts 50+ Rubyists to Follow on Twitter e Top Ruby Merbists to follow on Twitter.
Esta lista não inclui todos os perfis, mas deve dar-lhe um grande começo para seguir alguns brasileiros talentosos.
Update: Estamos atualizando a lista com base em suas recomendações.
De vez enquanto este cara aqui também fala alguma coisa de Ruby/Rails :-).
Você pode ajudar. Fique à vontade para adicionar no comentários um link para um perfil do Twitter de outro brasileiro. Adicione o seu também.
Posted on Dec 14, 2008 2 Comments
O vídeo abaixo é bem conhecido, e é um discurso feito por ele a formandos da Universidade de Standford, e fala sobre sua adoção, vida acadêmica, demissão da Apple, a Next e a Pixar. O vídeo tem aproximadamente 15 minutos de duração.
Abaixo tem a transcrição do vídeo, enviado pelo leitor da MacMagazine, João Carlos da Silva Faria.
Você tem que encontrar o que você ama
Estou honrado de estar aqui, na formatura de uma das melhores universidades do mundo. Eu nunca me formei na universidade. Que a verdade seja dita, isso é o mais perto que eu já cheguei de uma cerimônia de formatura. Hoje, eu gostaria de contar a vocês três histórias da minha vida. E é isso. Nada demais. Apenas três histórias.
A primeira história é sobre ligar os pontos.
Eu abandonei o Reed College depois de seis meses, mas fiquei enrolando por mais 18 meses antes de realmente abandonar a escola. E por que eu a abandonei? Tudo começou antes de eu nascer. Minha mãe biológica era uma jovem universitária solteira que decidiu me dar para a adoção. Ela queria muito que eu fosse adotado por pessoas com curso superior. Tudo estava armado para que eu fosse adotado no nascimento por um advogado e sua esposa. Mas, quando eu apareci, eles decidiram que queriam mesmo uma menina.
Então meus pais, que estavam em uma lista de espera, receberam uma ligação no meio da noite com uma pergunta: “Apareceu um garoto. Vocês o querem?” Eles disseram: “É claro.”
Minha mãe biológica descobriu mais tarde que a minha mãe nunca tinha se formado na faculdade e que o meu pai nunca tinha completado o ensino médio. Ela se recusou a assinar os papéis da adoção. Ela só aceitou meses mais tarde quando os meus pais prometeram que algum dia eu iria para a faculdade. E, 17 anos mais tarde, eu fui para a faculdade. Mas, inocentemente escolhi uma faculdade que era quase tão cara quanto Stanford. E todas as economias dos meus pais, que eram da classe trabalhadora, estavam sendo usados para pagar as mensalidades. Depois de seis meses, eu não podia ver valor naquilo.
Eu não tinha idéia do que queria fazer na minha vida e menos idéia ainda de como a universidade poderia me ajudar naquela escolha. E lá estava eu, gastando todo o dinheiro que meus pais tinham juntado durante toda a vida. E então decidi largar e acreditar que tudo ficaria ok.
Foi muito assustador naquela época, mas olhando para trás foi uma das melhores decisões que já fiz. No minuto em que larguei, eu pude parar de assistir às matérias obrigatórias que não me interessavam e comecei a frequentar aquelas que pareciam interessantes. Não foi tudo assim romântico. Eu não tinha um quarto no dormitório e por isso eu dormia no chão do quarto de amigos. Eu recolhia garrafas de Coca-Cola para ganhar 5 centavos, com os quais eu comprava comida. Eu andava 11 quilômetros pela cidade todo domingo à noite para ter uma boa refeição no templo hare-krishna. Eu amava aquilo.
Muito do que descobri naquela época, guiado pela minha curiosidade e intuição, mostrou-se mais tarde ser de uma importância sem preço. Vou dar um exemplo: o Reed College oferecia naquela época a melhor formação de caligrafia do país. Em todo o campus, cada poster e cada etiqueta de gaveta eram escritas com uma bela letra de mão. Como eu tinha largado o curso e não precisava frequentar as aulas normais, decidi assistir as aulas de caligrafia. Aprendi sobre fontes com serifa e sem serifa, sobre variar a quantidade de espaço entre diferentes combinações de letras, sobre o que torna uma tipografia boa. Aquilo era bonito, histórico e artisticamente sutil de uma maneira que a ciência não pode entender. E eu achei aquilo tudo fascinante.
Nada daquilo tinha qualquer aplicação prática para a minha vida. Mas 10 anos mais tarde, quando estávamos criando o primeiro computador Macintosh, tudo voltou. E nós colocamos tudo aquilo no Mac. Foi o primeiro computador com tipografia bonita. Se eu nunca tivesse deixado aquele curso na faculdade, o Mac nunca teria tido as fontes múltiplas ou proporcionalmente espaçadas. E considerando que o Windows simplesmente copiou o Mac, é bem provável que nenhum computador as tivesse.
Se eu nunca tivesse largado o curso, nunca teria frequentado essas aulas de caligrafia e os computadores poderiam não ter a maravilhosa caligrafia que eles têm. É claro que era impossível conectar esses fatos olhando para frente quando eu estava na faculdade. Mas aquilo ficou muito, muito claro olhando para trás 10 anos depois.
De novo, você não consegue conectar os fatos olhando para frente. Você só os conecta quando olha para trás. Então tem que acreditar que, de alguma forma, eles vão se conectar no futuro. Você tem que acreditar em alguma coisa – sua garra, destino, vida, karma ou o que quer que seja. Essa maneira de encarar a vida nunca me decepcionou e tem feito toda a diferença para mim.
Minha segunda história é sobre amor e perda.
Eu tive sorte porque descobri bem cedo o que queria fazer na minha vida. Woz e eu começamos a Apple na garagem dos meus pais quando eu tinha 20 anos. Trabalhamos duro e, em 10 anos, a Apple se transformou em uma empresa de 2 bilhões de dólares e mais de 4 mil empregados. Um ano antes, tínhamos acabado de lançar nossa maior criação — o Macintosh — e eu tinha 30 anos.
E aí fui demitido. Como é possível ser demitido da empresa que você criou? Bem, quando a Apple cresceu, contratamos alguém para dirigir a companhia. No primeiro ano, tudo deu certo, mas com o tempo nossas visões de futuro começaram a divergir. Quando isso aconteceu, o conselho de diretores ficou do lado dele. O que tinha sido o foco de toda a minha vida adulta tinha ido embora e isso foi devastador. Fiquei sem saber o que fazer por alguns meses.
Senti que tinha decepcionado a geração anterior de empreendedores. Que tinha deixado cair o bastão no momento em que ele estava sendo passado para mim. Eu encontrei David Peckard e Bob Noyce e tentei me desculpar por ter estragado tudo daquela maneira. Foi um fracasso público e eu até mesmo pensei em deixar o Vale [do Silício].
Mas, lentamente, eu comecei a me dar conta de que eu ainda amava o que fazia. Foi quando decidi começar de novo. Não enxerguei isso na época, mas ser demitido da Apple foi a melhor coisa que podia ter acontecido para mim. O peso de ser bem sucedido foi substituído pela leveza de ser de novo um iniciante, com menos certezas sobre tudo. Isso me deu liberdade para começar um dos períodos mais criativos da minha vida. Durante os cinco anos seguintes, criei uma companhia chamada NeXT, outra companhia chamada Pixar e me apaixonei por uma mulher maravilhosa que se tornou minha esposa.
A Pixar fez o primeiro filme animado por computador, Toy Story, e é o estúdio de animação mais bem sucedido do mundo. Em uma inacreditável guinada de eventos, a Apple comprou a NeXT, eu voltei para a empresa e a tecnologia que desenvolvemos nela está no coração do atual renascimento da Apple.
E Lorene e eu temos uma família maravilhosa. Tenho certeza de que nada disso teria acontecido se eu não tivesse sido demitido da Apple.
Foi um remédio horrível, mas eu entendo que o paciente precisava. Às vezes, a vida bate com um tijolo na sua cabeça. Não perca a fé. Estou convencido de que a única coisa que me permitiu seguir adiante foi o meu amor pelo que fazia. Você tem que descobrir o que você ama. Isso é verdadeiro tanto para o seu trabalho quanto para com as pessoas que você ama.
Seu trabalho vai preencher uma parte grande da sua vida, e a única maneira de ficar realmente satisfeito é fazer o que você acredita ser um ótimo trabalho. E a única maneira de fazer um excelente trabalho é amar o que você faz.
Se você ainda não encontrou o que é, continue procurando. Não sossegue. Assim como todos os assuntos do coração, você saberá quando encontrar. E, como em qualquer grande relacionamento, só fica melhor e melhor à medida que os anos passam. Então continue procurando até você achar. Não sossegue.
Minha terceira história é sobre morte.
Quando eu tinha 17 anos, li uma frase que era algo assim: “Se você viver cada dia como se fosse o último, um dia ele realmente será o último.”
Aquilo me impressionou, e desde então, nos últimos 33 anos, eu olho para mim mesmo no espelho toda manhã e pergunto: “Se hoje fosse o meu último dia, eu gostaria de fazer o que farei hoje?” E se a resposta é “não” por muitos dias seguidos, sei que preciso mudar alguma coisa.
Lembrar que estarei morto em breve é a ferramenta mais importante que já encontrei para me ajudar a tomar grandes decisões. Porque quase tudo — expectativas externas, orgulho, medo de passar vergonha ou falhar — caem diante da morte, deixando apenas o que é apenas importante. Não há razão para não seguir o seu coração.
Lembrar que você vai morrer é a melhor maneira que eu conheço para evitar a armadilha de pensar que você tem algo a perder. Você já está nu. Não há razão para não seguir seu coração.
Há um ano, eu fui diagnosticado com câncer. Era 7h30 da manhã e eu tinha uma imagem que mostrava claramente um tumor no pâncreas. Eu nem sabia o que era um pâncreas.
Os médicos me disseram que aquilo era certamente um tipo de câncer incurável, e que eu não deveria esperar viver mais de três a seis semanas. Meu médico me aconselhou a ir para casa e arrumar minhas coisas — que é o código dos médicos para “preparar para morrer”. Significa tentar dizer às suas crianças em alguns meses tudo aquilo que você pensou ter os próximos 10 anos para dizer. Significa dizer seu adeus.
Eu vivi com aquele diagnóstico o dia inteiro. Depois, à tarde, eu fiz uma biópsia, em que eles enfiaram um endoscópio pela minha garganta abaixo, através do meu estômago e pelos intestinos. Colocaram uma agulha no meu pâncreas e tiraram algumas células do tumor. Eu estava sedado, mas minha mulher, que estava lá, contou que quando os médicos viram as células em um microscópio, começaram a chorar. Era uma forma muito rara de câncer pancreático que podia ser curada com cirurgia. Eu operei e estou bem.
Isso foi o mais perto que eu estive de encarar a morte e eu espero que seja o mais perto que vou ficar pelas próximas décadas. Tendo passado por isso, posso agora dizer a vocês, com um pouco mais de certeza do que quando a morte era um conceito apenas abstrato: ninguém quer morrer. Até mesmo as pessoas que querem ir para o céu não querem morrer para chegar lá.
Ainda assim, a morte é o destino que todos nós compartilhamos. Ninguém nunca conseguiu escapar. E assim é como deve ser, porque a morte é muito provavelmente a principal invenção da vida. É o agente de mudança da vida. Ela limpa o velho para abrir caminho para o novo. Nesse momento, o novo é você. Mas algum dia, não muito distante, você gradualmente se tornará um velho e será varrido. Desculpa ser tão dramático, mas isso é a verdade.
O seu tempo é limitado, então não o gaste vivendo a vida de um outro alguém.
Não fique preso pelos dogmas, que é viver com os resultados da vida de outras pessoas.
Não deixe que o barulho da opinião dos outros cale a sua própria voz interior.
E o mais importante: tenha coragem de seguir o seu próprio coração e a sua intuição. Eles de alguma maneira já sabem o que você realmente quer se tornar. Todo o resto é secundário.
Quando eu era pequeno, uma das bíblias da minha geração era o Whole Earth Catalog. Foi criado por um sujeito chamado Stewart Brand em Menlo Park, não muito longe daqui. Ele o trouxe à vida com seu toque poético. Isso foi no final dos anos 60, antes dos computadores e dos programas de paginação. Então tudo era feito com máquinas de escrever, tesouras e câmeras Polaroid.
Era como o Google em forma de livro, 35 anos antes de o Google aparecer. Era idealista e cheio de boas ferramentas e noções. Stewart e sua equipe publicaram várias edições de Whole Earth Catalog e, quando ele já tinha cumprido sua missão, eles lançaram uma edição final. Isso foi em meados de 70 e eu tinha a idade de vocês.
Na contracapa havia uma fotografia de uma estrada de interior ensolarada, daquele tipo onde você poderia se achar pedindo carona se fosse aventureiro. Abaixo, estavam as palavras:
“Continue com fome, continue bobo.”
Foi a mensagem de despedida deles. Continue com fome. Continue bobo. E eu sempre desejei isso para mim mesmo. E agora, quando vocês se formam e começam de novo, eu desejo isso para vocês. Continuem com fome. Continuem bobos.
Obrigado.
Posted on Dec 6, 2008
Aqui vai uma dica das minhas horas “brincando” como sysadmin. Normalmente para gerar uma cópia do seu banco de dados mysql, você usa o mysqldump:
$ mysqldump -u usuario -p banco > copia_do_banco.sql
Para passar o arquivo copia_do_banco.sql para outro servidor basta usar sftp/ssh:
$ scp copia_do_banco.sql usuario@outro_server.com:/backup
Para subir:
$ mysql -u usuario -p banco < copia_do_banco.sql
Se você estiver no console do mysql pode optar por:
mysql> USE banco;
SOURCE copia_do_banco.sql
Creio que todo DBA ou Sysadmin sabe disso. Mas temos outros formas de se fazer isto, basta usarmos alguns recursos disponível no shell *nix.
Podemos executar estes mesmo comando em uma só linha, esta forma só deve ser usada em VPN ou redes seguras:
$ mysqldump -u usuario -p banco | mysql -h outro_server banco -u usuario -p
Se você não tem acesso remoto ao banco de dados, podemos usar o ssh:
$ mysqldump -u usuario -p banco | ssh usuario@outro_server.com mysql -u usuario -p banco
Você ainda pode copiar apenas uma tabela do banco para um servidor remoto:
$ mysqldump -u usuario -p banco tabela | ssh usuario@outro_server.com mysql -u usuario -p banco
Estes são alguns exemplos que dá pra fazer com o shell *nix. Prefiro o velho shell e indispensável à sistemas que prometem o mundo.
Posted on Dec 2, 2008 8 Comments
Sei que muitas vezes tenho sido chato e insistente para que vocês leiam mais, estudem e pensem no futuro. Eu sempre afirmo que a faculdade nunca garantira um futuro na área e nem mesmo que se tornará um bom profissional. Sei também que muitos não vão concordar com isto, mas tudo bem.
Tenho observado alguns trabalhos na nossa turma da faculdade e do pessoal do último ano também, e posso dizer que temos alguns trabalhos medianos, outros razoáveis e outros para terminarem o curso. Vejamos alguns pontos:
Um outro ponto importante: não saber o que fazer e como fazer. Sei que vocês trabalham e muitos não estão na área de TI, e quando estão, não fazem parte do time de desenvolvimento. Mas isto não significa que você não possa tirar um tempo para ler. A leitura é fundamental na nossa área, jamais pensem que se fizerem N faculdades conseguiram ter um bom emprego ( A não ser que seja regulamentada a lei atual de Analistas de Sistemas – mas serão tão medíocres e buscarão continuar assim). E o que devo ler? Terra? Globo? Info? InformationWeek?. Não estou pegando no pé destas sites ou revistas, mas é que tem conteúdo muito mais interessante. Quando comecei minha carreira procurava me atualizar constantemente através destes canais, mas percebi que sempre estava uns 10 passos atrás. O que tinha de errado? as minhas fontes de informações. Existe hoje milhares de blogs, podcasts, screencasts e grupos com diversos temas que precisamos refinar o conteúdo para mantermos o foco.
E como acho um bom blog? Depende do que você gosta ou quer aprender mais. Se você quiser aprender Rails, por exemplo, procure pessoas como Chad Fowler, Dr. Nic e Obie Fernandez – mas os caras escrevem em inglês? Não acha que já passou na hora de começar a estudar? Ou você programa em português? Mas vai demorar muito, não tem nada em português? – Tem sim, e caras bons como Carlos Brando, Fábio Akita, Ronaldo Ferraz, Tapajós, Danilo Sato, Nando Vieira e tantos outros. Mas por que ler estes caras? Porque eles são referencias para a comunidade Rails, assim como Leah Culver para Python/Django. Estas caras estão respirando e vivendo o que tem de melhor no mundo de TI.
Terminou Ozéias? Ainda não, só mais duas coisas. Por que tudo tem que ser Java? Por que ser bitolado? Tem muito programador medíocre que pensa em ser um desenvolvedor Java para garantir um bom salário e, em um belo dia, vai acordar e ver que o cara da mesa do lado – aquele mesmo, o chato – que falava de Ruby, Python, Perl, Linux, Mac, Erlang, Agile e mais um monte de “merda” foi embora pra trabalhar em um emprego dos sonhos! O que ele tem de diferente? Ele não bate cartão.
Pra terminar, ou melhor para começar, uma coisa que me ajudou muito foi o livro “Getting Real” – em inglês novamente? Sim, mas aqui tem a versão em português. É um excelente livro para quem quiser aprender mais sobre como desenvolver uma aplicação web de sucesso.
Terminou agora? Agora sim!
Update:
Voltei, mas só para colocar um link para o post que o Carlos acabou de fazer: Faça com que cada nova funcionalidade prove o seu valor, não deixem de ler.