8 Abril 2014

Não acompanhei o anúncio do Kinect para Windows v2, baseado no Kinect do Xbox One, e me surpreendi quando fui conferir as novidades: além das melhorias do próprio sensor, a SDK promete muitas novidades. Suporte nativo ao Unity, apps da Windows Store, múltiplos apps simultâneos, enfim, uma boa leva de funcionalidades!

O lançamento do primeiro Kinect, mesmo sem o suporte de uma SDK, atraiu vários desenvolvedores que criaram várias aplicações interessantes, algumas sérias e outras apenas uns hacks divertidos. O interesse acadêmico sobre o dispositivo também foi grande. Dessa vez, no entanto, o hype é menor, mas a SDK já existe e a atualização promete bastante.

Eu fiquei empolgado para conseguir um sensor assim que puder!

26 Março 2014
My Setup - 2014

The Setup é um website onde programadores (muitos famosos) descrevem as ferramentas que usam pra fazer o seu trabalho. Já publiquei um em 2013 e agora uma versão atualizada.

Published in english on: erickmendonca.github.io.

Quem é você e o que você faz?

Eu sou um gamer convicto. Adoro códigos. Além de programar, eu gosto de escrever outras coisas. Ficção, na maioria. Sou casado com uma grande fotógrafa e nós temos um garotinho que adora Plants vs Zombies e jogar coisas pela janela. Meu telefone incluso.

Além de jogar, adoro fazer jogos. Mudava as regras de RPG quando mestrava Dungeons & Dragons e continuo gostando de alterar as regras em projetos Unity.

Qual hardware você usa?

  • Um notebook Windows na maior parte do tempo para escrever código.
  • Um desktop com Windows e Ubuntu instalados como um servidor doméstico.
  • Um smartphone para navegar, enviar emails e mensagens, além de jogar casualmente.
  • Eu jogo preferencialmente no Steam em PCs Windows.

O notebook é um LG Core i7 com 6 GB de RAM e disco de 750 GB. Dentro também vai uma NVidia Geforce GT 555M, poderosa o suficiente para jogar alguma coisa, conectada na TV via HDMI, junto com um controle de Xbox.

Meu desktop é uma máquina mais antiga, um Pentium Dual Core, 4 GB de RAM. É bem velhinho, mas o suficiente para servir de servidor e entreter meu filho com alguns joguinhos.

O smartphone é um Moto X. Antes, tive um iPhone 4, e ambos os iOS e Android são ótimos sistemas operacionais.

E qual software?

No último ano mudei meu workflow e uso hoje muito mais ferramentas do que estava acostumado. Eu sempre usava C# e Visual Studio, com banco de dados SQL Server. Hoje sou mais eclético: Python, Java, C# e Javascript se alternam nos projetos.

Sou curioso com Ruby e C++ e gosto de brincar com elas um pouco. Com banco de dados, já usei MySQL, PostgreSQL, SQLite e Google Datastore.

Eu gosto de usar ferramentas de linha de comando, mas não me sinto tão ágil com elas para as tarefas diárias. Excetuando Git e Python - para as quais eu uso ferramentas de shell - eu prefiro interfaces gráficas legais e bonitas :-)

Eu tenho bastante interesse em game design e desenvolvimento, e brincar com hardware em Arduino e Raspberry Pi. Peguei um Pi há pouco tempo para testar as possibilidades. Também estou pesquisando aplicações do Kinect em ferramentas de comunicação alternativa.

Qual o seu setup dos sonhos?

Meu setup dos sonhos não é megalomaníaco: um PC, não tão mais poderoso que o meu, mas com dois monitores de alta resolução, em uma sala quieta, limpa e à prova de barulhos e crianças. Meu notebook seria mais fino e leve, a tela não seria tão inútil sob a luz solar e a bateria duraria ao menos um dia inteiro.

Não estou pedindo muito, estou?

Na verdade, o PC não importa tanto. Mas eu realmente adoraria uma sala à prova de crianças!

26 Março 2014

Não é só porque você desenvolve jogos que não deve seguir boas práticas e adotar padrões que ajudem o desenvolvimento. Esse livro é gratuito e todo o texto está no GitHub, aceitando contribuições :-)

10 Março 2014
Comunidade

Poderia começar esse pequeno texto divagando sobre como o homem é um ser social por natureza, mas convenhamos, disso você já sabe. Por outro lado, o arquétipo do programador é o de um ser antissocial… ou não?

Desenvolvedores criaram um dos conceitos mais efetivos de comunidade: free/libre/open source software. Um produto criado através da colaboração de centenas de pessoas, de forma centralizada ou não, é algo que não pode ser ignorado. Outras iniciativas, modelos de negócio sociais, comunidades virtuais, foram desenvolvidas por programadores. Aqui, no entanto, cabe a ressalva de que desenvolver e conceber um serviço são coisas diferentes, mas acredito que muitas destas idéias sociais e inovadoras partiram das mentes de programadores.

Então porque não derrubar esse arquétipo antissocial e abraçar a comunidade? (Isso soou como abraçadores de árvores.) Procurem as iniciativas locais próximas. Com certeza há diversos grupos: contribuidores de open source software, grupos de estudos, desenvolvedores de jogos, coding dojos, etc. Conheça pessoas, ideias e tecnologias novas. Mas não se contente com o local: envolva-se com listas de discussão, fóruns, blogs, GitHub. Um bom projeto pode nascer daí!

A comunidade sergipana, aos trancos e barrancos, tem desenvolvido esse sentimento aos poucos. Os eventos de tecnologia, antes muito escassos, já tomam ares regulares. Existem cases de sucesso de profissionais locais, exportação de talentos, interesse governamental aparecendo na forma de projetos e editais abertos. Comunidades pequenas florescem: GDG Aracaju e Coding Dojo Sergipe são dois exemplos de comunidades locais com encontros quase regulares e que espero que cresçam bastante.

Ainda há muito o que ser feito para criar um ambiente propício à inovação e desenvolvimento de tecnologia em nosso estado. Mas, assim como em um bom projeto, há de se definir as tarefas e executá-las: ficar esperando, sozinho, não vai levar a lugar algum.

Published in english here.