Olá, eu sou o Jônatas e este é meu site pessoal. Através dele você pode acompanhar meus pensamentos sobre desenvolvimento de software/humano. Sou desenvolvedor desde 2004 e os conteúdos aqui descritos contam a respeito da minha vida/experiências trabalhando como programador e freelancer. Em 2007 conheci o Ruby e o Rails e sou muito apaixonado pelo meu trabalho.

Atualmente sou sócio da invent.to e também desenvolvo para algumas empresas de tecnologia como freelancer.

ps: Sinta-se livre para conversar comigo por email ou gtalk: jonatasdp@gmail.com.

Fim de semana bliss

Este fim de semana estive na minha pós graduação estudando sobre educação especial e arte. Então assisti um vídeo falando sobre a integração entre alunos especiais e sistemas de educação mais híbridos e multi-disciplinares com sistemas de inclusão e acessibilidade muito evoluídos. Então havia uma mãe falando o quanto havia mudado sua vida conhecer a linguagem “bliss”. Não bastassem as 15 horas de pós graduação me internei em uma série de links para aprender essa linguagem, mas desta vez não era de programação.

Apesar de existir também a linguagem de programação Blizz aqui estou me referindo exclusivamente a linguagem de símbolos bliss. Então a história começou pois o austríaco Charless Blizz foi para china e não conseguiu aprender a escrever mandarim e compreender como um todo com tanta eficiência. Então pensou em criar uma linguagem universal com símbolos ideográficos que tinham a capacidade de interagir com uma forma visual simples e cognitiva.

Essa linguagem também usufrui do . ou espaço de forma natural e o sistema é bem cognitivo.

favico

Existem uma serie de exemplos de frases que ajudam bastante na compreensão prática da linguagem. Estou pensando em fazer um jogo de aprendizado desta linguagem, pois ela é tão lógica e dedutiva que se torna fácil de aprender brincando.

explain

Os simbolos possuem seu sentido principal e seus modificadores e conectores.

Então é muito fácil de pegar o jeito e ir aprendendo esta linguagem bacana. Gostei muito de que existem uma série de exemplos de todos os níveis e conforme você vai treinando se torna mais simples e ágil de produzir a mensagem.

Não testei nenhum software com mapeamento de teclado pois meu objetivo era conhecer bem os simbolos e também tentar entender mais sobre a sinapse deste conhecimento.

As linguagens como elas são

Estive analisando como as linguagens e a diversidade dos meios de interação nos fazem pensar diferente. Hoje e ontem dediquei horas da minha energia para entrar na linguagem bliss e conhecer mais intimamente as combinações dos simbolos e a clarificação automatica do cérebro ao encarar a mensagem.

Como um fã de linguagens de programação me sinto muito feliz por entender esta linguagem sem som apenas visual e que esta por sua vez torna toda a estrutura da imagem iconográfica mais intuitiva e simples de se construir o pensamento.

Tente você mesmo observar como os ícones são intuitivos e o cérebro codifica rapidamente as variações depois que você vê os exemplos a aprende as regras.

Por fim estou muito feliz por terminar meu fim de semanas de uma maneira melhor aprendendo algo tão legal e divertido. Vou ver se imprimo alguns destes símbolos para ensinar para meu filho desde cedo sobre esta linguagem.



Git Post Receive

Hoje estive querendo transformar a página de categorias para ficar mais estilo ‘tag cloud’ com cada categoria com um tamanho diferente dependendo do número de posts que houvesse. Então tive uma série de problemas para adaptar um tamanho legal via css e resolvi procurar por um plugin para o jekyll. Após encontrar um plugin para o liquid templates, descobri que o jekyll do github está em modo safe e não aceita plugin algum, então como gostei da nova forma resolvi migrar meu site do github para minha VPS. E aí precisava automatizar o processo de deploy do site a cada novo post.

Como funciona

Nos repositórios do git, é possível usufruir dos métodos hook, que nada mais são do que possíveis eventos em torno do repositório git. Dessa forma é possível mapear os eventos em torno do git. Neste exemplo usei o post-receive.

Fui até o meu servidor e executei os seguintes comandos:

  ssh jonatas@ideia.me
  mkdir ~/ideia.me
  cd ~/ideia.me
  git init --bare .

No código acima criei um repositório git que receberá os commits de minha máquina sendo este o servidor.

Em meu repositório local adicionei:

jonatasdp@~/Code/ideia.me$ git remote add deploy jonatas@ideia.me:~/ideia.me

Neste caso estou apontando diretamente para o repositório criado anteriormente com o meu usuário. Assim tive apenas que ripar o post-receive do wiki do jekyll e configurar o nginx.

Post receive

No post receive, nada mais faz do que clonar o repositório locamente e executar o jekyll para gerar o website estático novamente na versão mais atualizada:

jonatas@ideia.me:~$ cat ideia.me/hooks/post-receive 
GIT_REPO=$HOME/ideia.me
TMP_GIT_CLONE=$HOME/tmp/ideia.me
PUBLIC_WWW=/var/www/sites/ideia.me
git clone $GIT_REPO $TMP_GIT_CLONE
cd $TMP_GIT_CLONE
jekyll --no-auto $TMP_GIT_CLONE $PUBLIC_WWW
cd $HOME
rm -Rf $TMP_GIT_CLONE

Com este post-receive o jekyll irá regerar meu site cada vez que envio um novo post.

git push deploy master

O jekyll é uma engine muito boa e valeu muito a pena desde o início. Agora estou totalmente livre do sistema de páginas do github e posso dar o deploy em minha VPS como bem entender :)

Configuração do nginx

Para configurar o Nginx criei o arquivo /etc/nginx/sites-enabled/ideiame com o seguinte conteúdo:

server {
  root /var/www/sites/ideia.me;
  index index.html;
  server_name ideia.me;
  location / {
    try_files $uri $uri/ /index.html;
  }
}

Valeu GIT!

Demorou um pouco para o site ficar 100% pois o DNS demora um tempo para migrar e na nostalgia ainda cheguei a ver uma primeira versão do meu site onlne durante o período da migração.


Jekyll e Twitter Bootstrap

Sempre usei o jekyll para construir o site, mas resolvi migrar o estilo do site para o twitter bootstrap pois estava um pouco cansado daquele leiaute que eu fiz. Acabei usando o jekyll bootstrap para acelerar a migração. A organização do code é um tanto quanto melhor que a minha e então tive que substituir alguns detalhes em todos os posts ao mesmo tempo. Para não passar arquivo por arquivo, utilizei uma expressão regular com perl:

Para trocar o nome do leiaute

ls *.markdown | xargs perl -pi -e 's/layout: ideiame/layout: post/g'

Também removi o título e foi simples interno de cada post pois está sendo injetado pela nova template:

Para remover a linha do titulo de cada post

ls *.markdown | xargs perl -pi -e 's/# \\{\\{.page.title.}}//g'

Temas para o bootstrap

A estrutura do twitter bootstrap é simples e linda. E também permite usar temas de forma muito simples. Estou usando o tema cyborg do site bootswatch, e também adicionei um menu onde é possível trocar o tema. Agora só falta colocar um cookie para manter o mesmo tema do último acesso.

E aí gostaram do novo leiaute?