gist-it 0.2

Acabei de terminar uma atualização importante do gist-it, o plugin para gerenciamento de código no WordPress.

Na primeira versão eu não poderia nem chamar de "gerenciamento de código" pois ele era muito focado em aproveitar o syntax highlight do Gist e pouco a possibilidade de ter uma interface para manipular o código direto do WordPress.

Agora o plugin além de criar um gist para utilizar o embed dos caras como syntax highlight, irá manter o código no WordPress e quando você modifica-lo, a alteração será enviada por cima da versão que está no Gist.

Algo parecido também ocorrerá se você editar lá pelo Gist (tanto na interface do site quanto pelo repositório): ao abrir o post para edição, o plugin puxa o código da versão online e sobrescreve a local.

Uma outra mudança foi a alteração da licença, que antes era GPL e agora virou MIT :-)

download gist-it.
repositório no GitHub.

jQuery é (quase) nativo do navegador

Eu adoro o jQuery. Não tem um dia que não brinque um pouco com ele.

É claro que ele não é a solução para a pobreza mundial, nem sequer para a tristeza dos emos. Como tudo nessa vida de softwares, é importante saber quando vale a pena adicionar à porrada de linhas de código que o jQuery adiciona ao carregamento da página, quando vale a pena usar algo que encaixa melhor no problema.

De qualquer forma eu tenho um motivo muito bom para você esquecer o discurso de quem é "anti" qualquer coisa, como o jQuery...

jQuery agora é algo que está no navegador


Há algum tempo atrás, o Google anunciou que hospedaria algumas bibliotecas de JavaScript, tais como jQuery; prototype; script.aculo.us; MooTools; dojo, apoiando os desenvolvedores a linkarem a parada diretamente de lá. A idéia é que com muitos desenvolvedores usando as bibliotecas que estão hospedadas no mesmo lugar, o usuário muito provavelmente terá uma copia da local em cache sempre.

O bom é que funcionou! O criador do jQuery acabou de falar: "Bom - A conta do jQuery na Amazon S3 ficou 1/3 mais barata que mês passado. As pessoas devem estar usando ...

gist-it: Código de final de semana

gist-it é um um pequeno projeto (plugin para WordPress) que surgiu em uma tarde de sexta e está saindo para as massas segunda, aproximadamente 05:10 da madruga. Tudo isso por que eu gostei muito do Gist, que você deve saber o que é.

O que meu plugin faz é facilitar a inclusão de pedaços de código dentro de postagens no WordPress, por isso ele só deve lhe ser útil caso você seja um blogueiro-programador. Se você acha que ele vai te ajudar em algo, acesse a página que criei só pra ele: gist-it e divirta-se.

Ruby é sobre deletar código

Ok, eu não sou um jedi em Ruby ainda, mas lendo o Ruby Cookbook[bb] pretendo me tornar um. O comportamento que você vai perceber nas telas eu aprendi lá!

Wow - nós estamos deletando mais código do que estamos mantendo!

Yeah, claro que estamos. Você não faz isso sempre?

As duas imagens abaixo foram adaptadas da apresentação Rails Taking the Red Pill que o Demetrius Nunes fez lá no Rio on Rails. Ela demonstra no código o paradigma "Convenção sobre Configuração" adotado pelo Rails.

Tentar a perfeição na primeira implementação é uma forma de especulação. É extremamente difícil julgar a clareza de algo que você não pode ler, ou a performance de algo que você não pode executar.

Quanto mais fácil de refatorar, ou reescrever (uma forma de refatorar), melhor. Essa é uma das razões de eu ser a favor de linguagens densas.

As citações são traduções de trechos do artigo Wearing Out My Delete Key de James Golick, leia!

Iteração rápida?

Dharmesh Shah da HubSpot (startup de marketing na Internet) deixa claro em seu artigo "7 Uncannily Obvious Lessons From A Product Launch" o quão rápidas as iterações podem ocorrer dentro do conjunto de metodologias de desenvolvimento ágil de software. Principalmente em ambientes que facilitam tal perspectiva, como na web:

Seja realista na iteração: após os lançamentos eu intencionalmente limpo as pequenas distrações da minha agenda e então posso focalizar no software e iterar, iterar e iterar! Após o lançamento eu reescrevo software loucamente em vários updates diários do ambiente de produção! Nenhum dia pode passar em branco, sem que o software melhore para os usuários. Continue isso sempre que puder, quem sabe semanas ou mêses!

E eu que me achava estúpido por ter feito commit uma vez por dia em um dos serviços da boo-box por quase 2 semanas!

O que penso ser mais interessante do mercado que os americanos estão acostumados é a facilidade de se obter feedback (e a grande utilização do meio). No mesmo artigo Dharmesh diz que para se obter feedback, basta deixar algum lugar onde o usu ...

Entendendo a GPL (GNU General Public License)

Após escrever sobre a Creative Commons e MIT License chegou a vez da GPL - ou GNU General Public License - a precursora das licenças livres para distribuição de software. De quebra você vai entender o que é Copyleft e quais as diferenças entre as 3 licenças que expliquei até agora.

Uma forma fácil de entender a necessidade da criação da GPL é conhecer sua história, ou melhor: o que aconteceu com Richard Stallman que o levou a dedicar boa parte do seu tempo a criar e espalhar a idéia do software livre.

Lisp MachineNos anos 80 Stallman trabalhava no laboratório do MIT e um de seus projetos era um interpretador para linguagem de programação Lisp. Dentro do mesmo laboratório surgiu uma empresa chamada Symbolics com o intuito de produzir computadores de alto desempenho para pesquisas e projetos de IA (Inteligência Artificial) - chamadas de Maquinas Lisp.

Na época ocorreu a seguinte mudança nas indústria de computadores: os softwares que antes eram feitos para rodar somente em certos computadores passaram a ter características mais genéricas que possibilitariam o seu uso em maquinas de modelos e fabricantes diferentes. Antes s ...

Aplicação simples com Sinatra

* Esse artigo é baseado em Sinatra Tutorial. A good starting point por Ari Lerner. Você pode encontrar outras informações no RubyForge (Sinatra)


Sinatra é um framework para linguagem Ruby extremamente leve. Ele roda tendo como base o servidor Mongrel, servindo com muita rapidez as requisições.


Por não ter a extensa biblioteca de "helpers" que o Rails[bb] tem e também por não seguir a linha MVC de Rails e Merb, o seu uso não é indicado em grandes aplicações.


Com foco em Web Services e pequenos aplicativos, Sinatra é uma ótima solução para rodar pequenas aplicações desenvolvidas em Ruby com muita eficiência.


O propósito do artigo é ser um guia de inicio para quem quer aprender mais sobre o framework, para isso vamos desenvolver um pequeno "own-microblog"...



Eu vou supor que você já tem conhecimento nessa linguagem e que a ferramenta gem não seja desconhecida. Então vamos começar instalando o gem do Sinatra:



Uma vez que o Sinatra deixa aberta a opção de escolher um ORM (activerecord, DBI, DataMapper...) você precisa ter também o gem de um deles instalado. Minha opção aqui é pelo Sequel:


Vamos agora cuidar da base ...

About Me