Development
[BookReview] Pragmatic version control using Git
Æ!!
Há tempos que eu estava querendo conhecer um pouco mais do Git e nos últimos dias estava procurando um livro legal, quando me deparei com esse livro. Fiz algumas perguntas para um pessoal no Twitter como pessoalmente sobre esse livro, alguns me recomendavam, outros me passavam outros também interessantes, e estava em dúvida entre comprar ou não, até que consegui emprestado e li em 3 dias.
O livro é bem interessante, aborda desde o mais básico até o nível intermediário, não abordando conteúdos tão avançados.
Começa abordando como é o fluxo de trabalho do git, mostrando com exemplos práticos como você faz para usar o git num projeto, modificando o arquivo, adicionando para o stage, fazendo commits e etc. E fica uma boa parte do livro mostrando um pouco sobre as formas com que você pode fazer as coisas, como:
- Adicionar arquivos como o git add -i para adicionar interativamente
- Usar git log -p para alem de ver as mensagens de commit ver tambem o que foi usado
- git log -2 para ver apenas as 2 ultimas mensagens de log
- git diff –cached para fazer o diff do que já está no stage
- E mais várias outras dicas úteis
Uma das coisas que eu achei interessante foi a apresentação de curiosidades interessantes como dizer que o Git usa um hash SHA1 que tem uma chance se se repetir de 2⁶⁹
.
Comentou sobre algumas ferramentas para se usar junto com o Git, como alguns mergetools para facilitar no processo de merge e o git gui ( que é feio que dói, mas funciona ) para quem gosta de brincar com algo no estilo tortoise.
Depois de explicar sobre a parte básica do Git ele começa a passar para algo mais intermediário, onde vem os merges e as modificações de commits localmente.
Nessa parte mais intermediária foi comentado sobre o git rebase e como você pode usá-lo para reorganizar os seus ultimos commits usando git rebase -i. É uma técnica bem interessante quando se faz um monte de commits locais mas quer enviar apenas um commit para o repositório.
Foi comentado tambem sobre tags e como é útil utilizá-las para marcar as versões do seu sistema, sendo que você pode adicionar commits apenas a uma tag e tal. Utilizando git tag 1.0 você já define que determinado commit marca a versão 1.0 do seu sistema. Você pode depois dar um git checkout na sua tag e ver ela como read-only ( sendo possível criar um branch e fazer modificações ).
Mais modos do git log foram apresentados tambem, como fazer um git log para ver os commits das ultimas 5 horas, ou desde as 10 horas usando –since ou –before, ou até mesmo usar um –pretty=format:”" e passar uma melhor maneira para formatar o seu log.
Conheci algums comandos interessantes que raramente são usados mas são muito úteis tambem:
- O git gc que compacta o seu repositório para que ele exclua tudo o que não está relacionado a nada, assim reduzindo o espaço que seu repositório ocupa.
- O git archive para você gerar um arquivo com seu repositório com a versão que quiser, sendo tag, passando o Head ou o que achar melhor.
- O git reflog para quando você precisa recuperar algum commit que não está mais no repositório, algo que estava em um branch que foi excluído ou coisas do gênero ( lembrando que se você usou o git gc isso não será possível )
O livro tambem comenta de vários outros comandos, como o git cherry-pick por exemplo, para você passar um commit para outro branch, e sem contar que mostra várias opções que os comandos normais tem, como o git diff para você ver os status a partir de uma tag e tal.
Concluindo, achei o livro interessante e recomendaria para muita gente! O que eu tenho a dizer é que ele não é um livro para alguem que quer ver algo avançado em git, e sim alguem que não conhece ou sabe apenas o bem básico, pois assim vai conhecer algumas coisas bem legais.
Encontro de Design e Tecnologia Digital
Æ!!
Participei nesse sábado do EDTED ( Encontro de Design e Tecnologia Digital ), e vou postar as minhas impressões sobre o evento, focando as palestras que assisti:
CMS’s livres: não reinventado a roda no desenvolvimento web
A palestra foi conduzida por Paulino Michelazzo da Fábrica Livre, e foi uma palestra interessante!
O palestrante soube levar bem a palestra, com momentos engraçados ( várias brincadeiras com Java e Windows, que obviamente não devem ser levadas a sério ), e apresentando como é fácil criar uma loja virtual utilizando o Joomla. O que achei legal da palestra foi ele não focar apenas o Joomla, e sim izer que você não precisa reinventar a roda, e pode usar várias ferramentas para isso como o Drupal, WordPress, e obviamente o Joomla, cada um para sua determinada finalidade.
Crédito para o palestrante: Falou que uma parte do valor que eles conseguem com os projetos eles doam para os softwares livres que eles usam, e isso sim é devolver o que você conseguiu gratuitamente! Parabens a Fabrica Livre.
Scrum
Encontrei um amigos como o Ricardo ( Guitarrista do Megadriver e programador Web ) e fiquei networkeando conversando por um bom tempo sobre diversas coisas, portanto acabei chegando na metade da palestra.
A palestra foi conduzida por Fabiano Milani, em nome da Caelum, e pelo que consegui assistir foi aquele overview geral sobre o Scrum ( que eu tambem já tinha visto ), e teve uma parte de dúvidas bem legal, com várias pessoas perguntando como poderia implementar Scrum, ou se estava implementando Scrum corretamente, com boas respostas do palestrante.
Para quem nunca tinha visto uma palestra de Scrum deve ter gostado bastante da palestra.
SEO – Search Engine Optimization
Tambem já tinha assistido outras pelestras sobre esse tema, e elas geralmente são iguais, portanto para mim não teve muita novidade. De modo geral, o palestrante Fabio Ricotta da Mestre SEO conduziu bem a palestra, deu dicas interessantes sobre como organizar a sua página semanticamente, mostrou várias ferramentas úteis para utilização em SEO, e várias outras dicas bem interessantes.
Uma coisa legal para enfatizar: SEO não é algo que você faz e pronto, e sim algo que deve ser mantido e atualizado com o tempo, pois você não vai ter sempre alta relevância se você aplicou SEO e ficou bem nas buscas, pois isso vai caindo com o tempo, e você precisa continuar mantendo isso com boa semântica.
Desenvolvimento web ágil: ferramentas, arquiteturas e princípios
O Guilherme Chapiewski falou sobre muita coisa legal, avaliando linguagens e frameworks como Python / Django. Ruby / Rails, Java, PHP / CakePHPe mais outras coisas. Foi abordado alguns gostos pessoais e experiência própria do Chapiewski sobre as linguagems e frameworks, inclusive algumas considerações sobre Rails e Scala ( ¬¬ ), mas a abordagem disso foi com dicas de como poderia ser resolvido de meios diferentes, com problemas que são conhecidos e poderiam ser tratados para ajudar.
Ele comentou de 7 métodos que ele usa como um programador ágil:
- Soluções a longo prazo
- Sempre pensar no que pode acontecer futuramente. Ele usou um exemplo bem legal sobre um cara que não documentou um sistema por que não tinha tempo, quando futuramente 3 pessoas perderam cada uma 2 dias para entender o que aquilo fazia…Ou seja no fim das contas foi perdido mais tempo do que ganhado nesse caso.
- Elimine desperdícios
- Usar um framework que cria tudo facilmente e você pode portar ele facilmente para outras features
- Qualidade não é negociável
- Aqui outro bom exemplo…O médico está limpando o paciente após uma cirurgia e o paciente fala para ele deixar isso por que está atrasado para alguma coisa, e é claro que o médico vai te ignorar e limpar, por que ele sabe o que é o certo para se fazer, ele não negociaria a qualidade do trabalho por causa do seu tempo.
- Não esconda os problemas do cliente
- O cliente é um cara legal e sua solição simplista pode ser o suficiente para ele
- Use a melhor ferramenta para cada problema
- E lá vamos com bons exemplo: Um marceneiro não usaria um martelo para cortar uma mesa sendo que ele poderia usar uma serra para isso. Portanto use sempre o mais adequado para cada situação
- Documente menos e simplifique mais
- Foi mostrado um bom exemplo de código, que você olhava e intuitivamente sabia o que ele fazia.
- Reflita sempre sobre o que você faz e melhore comtinuamente
- Não fique apertando parafuso para sempre, sempre renove seus conhecimentos.
Os argumentos do Chapiewski sobre Java ser o novo COBOL é bem interessante! Ele diz que o JAVA antigamente tinha ótimos motivos para ser adotado, e assim muitas empresas começaram a utilizar, e atualmente temos sistemas monstros desenvolvidos e vários programadores programando em Java, portanto para sair da linguagem não vai ser tão fácil assim, e foi isso que aconteceu com o COBOL. O Chapiewski falou que só usa Java hoje em dia se tiver um sistema que é obrigado a integrar com Java, por que ele não ve um bom motivo para usar Java, sendo que ele pode usar coisas que ele considera melhor e com mais benefícios.
The Rails Way – Como Ruby on Rails pode te tornar um programador pior
O Carlos Brando falou e muito bem sobre o Ruby! Falou muita coisa que eu tinha vontade de dizer sobre Ruby != Rails utilizando um exemplo de miojo e macarronada, como seu o miojo fosse o framework para o suposto cozinheiro!
Vários exemplos com código para mostrar como o Ruby é parecido com a nossa lingua, e não com a lingua do computador, inclusive usando uns exemplos simplificados do Why. Teve alguns exemplos de metaprogramação para saciar a vontade de quem já conhece um pouquinho de Ruby tambem!
Gostei bastante da ideia da palestra e o por que de você se tornar um programador pior ( você saindo de uma outra linuguagem que você se considerava bom, para uma outra coisa que você não sabe nada ), e ainda mais mostrando os facilitadores dos frameworks que ajudam você, mas abstrai um pouco da sua felicidade em desenvolver um pouquinho mais low.
Mercado de trabalho em TI
Foi uma “mesa redonda” com todos os palestrantes, discutindo sobre assuntos sugeridos pelo pessoal que estava assistindo o evento. Foi discutido sobre os valores de trabalho no mercado, apoio as universidades pelo governo, scrum, software livre e outras coisas.
Considerações finais
Gostei bastante do evento, consegui conversar várias pessoas legais por lá, como o Caue Linden da HostNet, Maujor do Maujor.com.br, Hugo Borges, Rafael do Ruby Inside, Ricardo que é guitarrista da banda Megadriver ( ouça por que é muito foda! ), Guilherme Chapiewski, Carlos Brando e mais um monte de gente!
O Evento foi muito legal quanto a palestras e networking! Quem não foi perdeu!
Há braços
Plugin para WordPress: Anti IE6 Army
Æ!!
Estou postando para anunciar que foi lançada a versão 1.0 do meu plugin para WordPress chamado anti-IE6-army!
A idéia do plugin é juntar um exército de campanhas contra o Internet Explorer 6 que estão perdidas pela internet em um único plugin, para que todos que possuem blogs com WordPress possam usar facilmente, sem precisal alterar HTML, ou abrir qualquer arquivo de código!
Aqui no blog tem uma página só para falar do Plugin, e lá você pode obter mais informações.
Espero o comentário de vocês sobre o Plugin, e se quiserem contribuir com código, o projeto está no GitHub!
Esse foi o meu Call to Arms, agora espero que vocês realmente usem!
English Version
I’m posting here to announce my anti-IE6-army WordPress Plugin!
The idea behind this project is unite a lot of campaigns against Internet Explorer 6 that are splitted on the internet on one single wordpress plugin, so everybody with a WordPress blog will can use it easily, without change any HTML, or open a single code file!
You can read more about this plugin on the plugin page at this blog.
I’m waiting your comments about the plugin, and if you want to contribut with code, the project is on GitHub!
This post is my Call to Arms! Now i hope you really use this plugin.
Há braços
Projeto de fevereiro
Æ!!
No mes de fevereiro eu estive envolvido com um projeto bem interessante na empresa que estou trabalhando ( ainda vamos trabalhar mais em nosso site
), que foi feito em Python / Django e deveria gerar páginas estáticas ( exigencia do projeto ).
Tivemos um prazo muito curto para tudo que deveria ser feito, o que gerou uma grande quantidade de trabalho fora do horário e dos dias comuns. Entre o começo e o fim do projeto, tínhamos o carnaval, portanto tivemos que deixar nossos espíritos carnavalescos guardados e partir para o trabalho árduo no feriado até horas indeterminadas.
O ambiente de trabalho era bem legal, trabalhamos onde chamávamos de The Rubens, que tinha tudo o que precisávamos para nos sentir a vontade:
Obviamente nada melhor do que instrumentos ( para uma leve descontraída antes de voltar ao trabalho árduo ), pessoas motivadas, barrinhas de cereal, livros ( vários nomes interessantíssimos nessa biblioteca! ) e programação! A única coisa que não tínhamos era tempo o suficiente para fazer tudo tranquilamente, mas aproveitamos bastante o tempo.
Trabalhamos todos os dias durante o carnaval, sábado, domingo, de madrugada, e em qualquer outro horário que fosse possivel ( hehe ). Nosso repositório Git já estava bem legal no gráfico de Network do GitHub, entre emaranhados coloridos!
Durante o caminho tivemos que enfrentar alguns contratempos, como o calor infernal, a falta de energia elétrica, a quantidade de novidades para lidar, tanto com o Python / Django, como com o Git e outras coiasas mais!
Nenhum dos contratempos pode nos barrar muito! Com o calor vieram os ventiladores, com a falta de energia veio o nosso local de trabalho provisório ( só durante aquele dia ), e o prazo curto nós conseguimos vencer com muitas barrinhas de cereal e horas de trabalho.
Ahhh! É claro que no meio de toda a correria tinhamos que ter tambem o nossos momentos de descontração, alem do nosso amigo Darth Vader que aparecia na hora dos conflitos do merge… hehehe
Entre nossas descontrações ( geralmente pouco antes de ir embora, 22:00h ) tinhamos sessão violão e sitar, ou momento Guitar Hero, ou jogo de alvo + dardos, um pouco de tiro com o Open Arena entre outras coisinhas.
Estavamos trabalhando com 2 Macs, 1 Windows e 1 Linux, portanto sempre tinha as boas e velhas conversas sobre o melhor sistema operacional, que é claro que o Linux é o melhor ( haha, pelo menos aqui eu sou o root para dizer isso…hehehe ).
Enfim…Foi um projeto corrido, dormimos pouco, trabalhamos muito, consideramos feriados e finais de semana como dias normais de trabalho, mas…Como diria o Rubens ( algo parecido com isso ):
“É dos projetos mais difíceis que ficam as suas ótimas recordações”
Portanto, na minha humilde opinião, se você tiver a oportunidade de entrar naquele projeto difícil com bons amigos, faça que vai valer a pena!
Update: Bem lembrado pelo Nelson! Nós temos o nosso vídeo de comemoração, quando terminavamos nossas features:
<
p style=”text-align: center;”>
Há braços
VIVO online agora funciona no Firefox / Safari

Æ!!
Boas novas!
Eu tinha feito um post sobre os usuários dos serviços da VIVO que tiveram que desenvolver uma extensão para conseguir acessar os serviços do Vivo on line, e agora a vivo anunciou oficialmente em seu blog que o Vivo on line funcionará bem em outros navegadores diferentes de Internet Explorer!
Tudo bem que isso é um direito nosso e já deveria funcionar em todos desde o começo do serviço, pois prejudicava os usuários de outros sistemas operacionais diferentes do Windows, mas temos que parabenizar a VIVO por trabalhar em cima do problema que tinham e resolver assim como prometeram em novembro do ano passado !
Que a VIVO seja a primeira de muitas empresas a refatorar o seu site e sirva de exemplo para muitas empresas que estão aí na internet prestando maus serviços.
Há braços
Fora IE6
Æ!!
Fala Galera!
Já está mais do que na hora de eu fazer um post sobre isso, e acho que não há momento mais propício do que esse afinal, até o Google já
está dando alertas sobre isso no Gmail . Sabemos que o Gmail é não é o serviço mais acessado do Google, mas isso já é uma grande ajuda para alertar os desavisados que esse navegador já passou da hora de deixar de existir, e quem sabe num futuro talvez distante ( espero que não tão distante assim ) o google resolva fazer algo parecido com o Orkut!
Há muito na internet sobre o quanto o IE6 é ruim, e minha opinião não difere muito da opinião dita em posts como o do Fabio Akita, ou do Canha por exemplo ( O logo ao lado foi tirado do blog do Fabio Akita todos os créditos para ele! ).
Muita gente que me conhece pode dizer:
“Ahhh….vc não gosta da Microsoft e fica fazendo propaganda de browsers Open Source”
Mas na verdade não é somente por isso…Mesmo que vc vá continuar com o IE ( não recomendado, mas menos mal ), pelo menos atualize para uma versão mais recente, pois usar o IE6 hoje em dia é completamente inaceitável!
Alguns ainda tem a audácia de me perguntar o por que de eu ser contra o IE6 e aqui vão alguns argumentos completamente lógicos para o fato:
- É um produto desatualizado que já tem uma versão mais nova lançada e outra no forno para sair sei lá quando
- É um produto que foi lançado numa época em que ele precisava estar na frente para bater outros navegadores, portanto não estava nem aí para padrões, bom desenvolvimento ou qualquer outra boa prática que pudesse existir.
- Você que usa IE6 não sabe o mal que está fazendo para tantas pessoas que trabalham com internet e precisam perder preciosas horas do seu dia para ficar fazendo hacks para que seu site ( que segue os padrões de desenvolvimento para internet, bem documentados aqui ) funcione num produto desatualizado que deveria ter sumido já.
- Ele dá um grande break na evolução das tecnologias, pois muitas das coisas legais que os desenvolvedores querem fazer ( transparencia por exemplo precisa colocar Hack bizarro para funcionar no IE6 ) devem ser pensadas e repensadas, pois pode não funcionar legal no IE6, e seu chefe com certeza não vai deixar você colocar no ar algo que não funcione legal no IE6, por que ainda tem uma grande massa que usa isso.
Já ouvi argumentos de pessoas que gostam do visual do IE6, que é totalmente aceitável, afinal, qualquer pessoa pode usar o que acha mais legal, bonito, fácil.,ou sei lá o que consideram, mas se for somente por isso você pode seguir a dica que o canha deu no post dele:
” No Firefox, inclusive há um tema que se parece com o IE6 para você não se sentir perdido. E o melhor: todos estes navegadores possuem versão em português.”
Eu estou fazendo a minha parte para começar o ano bem e estou instalando aqui no meu blog um plugin para alertar os toscos usuários desse browser software antigo para atualizar para algo melhor.
Não sabe como fazer? Veja aqui os links para instalar um browser diferente:
- Firefox
- Chrome
- Opera
- Safari
- Internet Explorer 7 ( Prefira os acima, mas se gostar mesmo do IE instala esse que é melhor )
Acho que consegui dar motivos o suficiente para você trocar de browser, se ainda tem alguma coisa que você usa não terá em outros browsers, me avise que farei o possível para encontrarmos uma boa solução para isso.
Há braços
Search
Recent Posts
WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.
Categories
Personal Links
Archives
- April 2012
- May 2011
- April 2011
- March 2011
- January 2011
- December 2010
- October 2010
- September 2010
- August 2010
- July 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008






