Emacs e Slime: Seu Laboratório Lisp

Esse post vai para quem está estudando Clojure (ou outro Lisp qualquer) e está tendo dificuldades para configurar o Emacs. Não é, Ronaldo?! :-)

Esteja preparado para uma enorme quantidade de gambiarras.

ELPA

A primeira coisa que faço numa nova instalação do Emacs é configurar o ELPA, ou Emacs Lisp Package Archive. Para quem não conhece, pense no ELPA como se fosse um apt-get da vida, guardadas as devidas proporções (como veremos a seguir).

As instruções para instalação podem ser vistas nesta página. Se tudo der certo, agora deve ser possível rodar o comando M-x package-list-packages <ENTER>. Leia este documento caso tenha dificuldades para usar atalhos e comandos do Emacs.

Após alguns instantes, a lista de pacotes disponíveis para instalação via ELPA deve ser exibida num buffer secundário.

Continue lendo

Publicado em Português, Tutoriais | Com a tag , , , , , | 1 comentário

Emacs and Slime: Your Lisp Lab

This post goes to who’s studying Clojure (or other Lisp implementations) and is having trouble configuring Emacs. Be prepared for a huge amount of ugly workarounds.

ELPA

The first thing I do on a fresh Emacs installation is configure the ELPA, or Emacs Lisp Package Archive. If you don’t know what ELPA is, think of it as an apt-get for Emacs (with some quirks though, as discussed below).

You can find the installation instructions here. If everything works, now you should be able to run the command M-x package-list-packages <ENTER>. Read this if you don’t understand how commands and shortcuts work on Emacs.

The list of packages available for installation via ELPA should be displayed in a secondary buffer after a few seconds.

Continue lendo

Publicado em English, Tutorials | Com a tag , , , , , , , , | 1 comentário

Understanding Open Source Licenses with Clojure

You only know how cool it is to develop or contribute to an open source project until you do so. The worst part is to define which license to use, and this task is frequently neglected by software developers.

Recently we released Licensator, a simple web application that gathers information on the most popular open source licenses and helps you choose the right license for your own projects.

The language behind Licensator is Clojure, which proved to be great to solve this sort of problem. We’ll see today how the application’s main algorithm works.

Continue lendo

Publicado em English, Programming | Com a tag , , , , , , , , | Deixar um comentário

Entendendo Licenças Open Source com Clojure

Só quem desenvolve ou contribui com projetos open source sabe como é legal. A pior parte é definir sob qual licença soltar o código, e essa tarefa é muitas vezes negligenciada por desenvolvedores de software.

Para quem não viu, recentemente colocamos no ar o Licensator, uma aplicação web que, além de reunir informações sobre as licenças open source mais populares, é capaz de indicar as licenças apropriadas para cada caso.

A linguagem escolhida para implementar o projeto foi Clojure, que se mostrou excelente para resolver esse tipo de problema. Veremos hoje como o principal algoritmo da aplicação funciona.

Continue lendo

Publicado em Português, Programação | Com a tag , , , , , , , , | 1 comentário

Fecha-se um ciclo; outro se inicia…

Atualização (15/Nov): Gostaria de agradecer a todos que divulgaram este post e/ou me enviaram propostas, algumas delas muito boas. Aproveito também para comunicar que inicio meus trabalhos na Globo.com nas próximas semanas.

Globo.com

Pois bem. Após quase três anos de serviços prestados e vários projetos desenvolvidos ao longo desse tempo, chegou a hora de me despedir de meu principal cliente, a GSP, uma das maiores loteadoras do Brasil. Um abraço aos amigos que ficaram, e aos que já não estão mais lá. Foi um prazer!

A principal tecnologia com que eu trabalhei nesse período foi Java, com uma pitada de Python aqui e ali. Mas, como irremediável curioso que sou, não pude deixar de brincar com outras coisas também.

Agora, no entanto, é hora de pensar no futuro. Se você precisa de um profissional com o meu perfil, ou conhece alguma empresa que precise, entre em contato comigo ou passe o link deste post adiante. Busco trabalhar com empresas ou pessoas que:

  1. Tenham projetos não convencionais;
  2. Tratem a tecnologia com a devida atenção;
  3. Contem com equipes multi-disciplinares, com gente que ama o que faz e que busca melhorar a todo instante.

Apesar de morar no interior de São Paulo, estou aberto a propostas de outras cidades, de preferência em tempo integral.

Valeu!

Publicado em Off Topic, Português | Com a tag , , , | Deixar um comentário

Clojure Invade o Dev In Sampa

No próximo sábado, dia 14/08, acontecerá em São Paulo o 2º Dev In Sampa, um encontro de desenvolvedores de software que não faz propaganda do governo nem apresenta palestras com foco em um único fornecedor. Já era hora!

Infelizmente, por razões de força maior eu não pude comparecer na primeira edição do evento, mas este ano eu estarei presente, e ainda por cima como palestrante.

Por isso, antes de mais nada, eu gostaria de agradecer àqueles que votaram na minha palestra. Isso mostra que Clojure anda despertando o interesse da rapazeada também no Brasil, o que é muito bom.

Update: Apresentação e códigos-fonte disponíveis para download.

Continue lendo

Publicado em Off Topic, Português | Com a tag , , , , , , , , | 1 comentário

Crie seu próprio pendrive USB multi-boot salvador da pátria

Não preciso convencê-lo de que carregar algumas distribuições Linux com você pode fazer a diferença entre a vida e a morte. Bem, é claro que eu estou sendo um pouco dramático, mas é realmente muito bom poder rodar um teste de memória numa máquina que insiste em jogar erros estranhos na sua cara, ou mesmo copiar discos ou partições importantes quando você está por aí.

Para mim, algumas ferramentas e distribuições são particularmente úteis:

  • Clonezilla. Ferramenta muito boa para clonagem de disco/partição. Leva algum tempo para iniciantes se acostumarem com ela, mas vale o esforço. Já fui salvo por esta ferramenta mais de uma vez.
  • GParted. Excelente ferramenta para particionamento de disco.
  • Linux Mint. Distribuição Linux baseada no Ubuntu muito fácil de usar. Eu gosto muito da edição Live-DVD, que inclui softwares como VLC, OpenOffice e Java.
  • Ubuntu. Uma das distribuições Linux mais populares hoje em dia.
  • Memtest86+. Ferramenta para teste de memória incluída na maioria das distribuições Linux modernas. Indispensável.

Agora, em vez de queimar um CD/DVD com cada uma dessas ferramentas, nós iremos usar um pendrive USB multi-boot.

Continue lendo

Publicado em Português, Tutoriais | Com a tag , , , , , , , , , , , , , , , | 13 comentários

Create your own save-your-ass multi-boot USB stick

I don’t have to convince you that carry around a couple of Linux distros can mean the difference between life and death. Well, of course I’m being a little bit melodramatic here, but it’s really nice to have the ability to quickly run a memory test on a machine that insists to misbehave, or even backup important stuff when you are on the go.

For me, some tools and distros are particularly useful:

  • Clonezilla. Very nice disk/partition cloning tool. It takes some time for beginners to get used to it, but it’s worth the effort. This tool saved my life more than once.
  • GParted. Great tool for disk partitioning.
  • Linux Mint. Very easy to use Ubuntu-based Linux distro. I particularly like the Live-DVD edition, which includes useful software like VLC, OpenOffice and Java.
  • Ubuntu. One of the most popular Linux distros nowadays.
  • Memtest86+. Memory testing tool bundled in most Linux distros. Indispensable.

Now, instead of burning one CD/DVD for each one of these tools, we’re going to use one multi-boot USB stick.

Continue lendo

Publicado em English, Tutorials | Com a tag , , , , , , , , , , , , , , , , , | 9 comentários

Django Para Dispositivos Móveis

Estamos vivendo o que alguns chamam de “explosão mobile”, um tempo onde um número cada vez maior de dispositivos móveis — como tablets e smartphones — se tornam parte significante da Web. Esta é a razão pela qual ter seu website preparado para tais dispositivos é cada vez mais importante.

Felizmente, Django é um dos poucos frameworks web que tornam este um problema simples de solucionar.

Continue lendo

Publicado em Português, Programação, Tutoriais | Com a tag , , , , , , , , , | 5 comentários

Django For Mobile Devices

We are living what some people call the “mobile explosion”, a time where an increasing number of portable devices — like tablets and smartphones — are becoming a significant part of the Web. This is the reason why having your website tailored for these devices is becoming increasingly important.

Fortunately, Django is one of the few web frameworks that makes this an easy problem to solve.

Continue lendo

Publicado em English, Programming, Tutorials | Com a tag , , , , , , , , , , , | 1 comentário