Todo evento que eu vou eu encontro pessoas interessantes. Nos últimos essas pessoas tem se reunido comigo para escrever algum código. No TechEd 2010 isso também aconteceu, e a ideia surgiu, não lembro nem de quem, de fazer um projeto bem bobo: uma calculadora social. Seria algo simples, só pra exercitar mesmo. O Felipe Rodrigues, daqui da Lambda3, e o Vinicius Quaiato, participaram ativamente até o lançamento. Isso quer dizer que codamos também no RubyConf e no Google Developer Day.
A ideia do projeto é simples: Alguém tuita uma expressão numérica qualquer, e o serviço retuita a resposta.
Ontem a ideia entrou no ar. Criamos o serviço “Quanto é”. Basta você tuitar para a conta @quantoeh que ela te responde com o resultado. Assim, se eu tuitar:
Ela responde:
1024 RT @giovannibassi: @quantoeh 2 ** 10
O interpretador é baseado em Boo, ou seja, toda conta que o Boo faz no seu REPL, o Quanto É também faz. Assim, você pode fazer:
- As 4 operações básicas: 5 + 2, 5 – 2, 5 * 2, 5 / 2
- Exponenciação e raiz: 5 ** 2, 25 ** 0.5
- Contas com decimais: 10.0 / 3 ou 10f/3
- E várias outras. Funções estão desabilitadas.
Simples não é? Seria… Se o objetivo não fosse brincar com algumas tecnologias interessantes. E assim fizemos: Windows Azure, Visual Studio 2010, C# 4.0, Boo, TPL, e Linq To Twitter, só pra listar as mais significativas.
O código está versionado com Mercurial e disponível no meu BitBucket em: https://bitbucket.org/giggio/quantoeh/
Você pode ir lá, forkar, e contribuir. Todo o código fonte está lá. Basta forkar e submeter um pull request que olhamos.
Eu me diverti muito fazendo o projeto, e dá pra melhorar bastante. Depois eu volto aqui pra falar de cada pedaço da aplicação. Por enquanto vão olhando lá o código e o histórico pra ver como ele progrediu (e vai continuar progredindo).
O Vinicius também deu a visão dele sobre o projeto, vejam lá no blog dele.
Giovanni Bassi
Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.