Olá, eu sou o Jônatas, sou sócio da invent.to e sou dev rails na Resultados Digitais.

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

Programação 3D com OpenSCad

Estou impressionado com o OpenScad. Conheci essa ferramenta na Trilha de Impressão 3D no TDC de São Paulo esse ano. Com certeza posso dizer que foi um presente para mim pois até agora não havia conseguido me apegar em nenhuma ferramenta visual para criar objetos em 3D.

Já estou com meu syntax highlight rolando para programar em 3D no VIM e agora posso desenvolver minhas ideias com uma ferramenta simples e intuitiva.

Meu site não é um agregador de tutoriais, mas estou apaixonado por essa ferramenta então vou mostrar os primeiros passos para programar em 3D com ela.

Download

Baixe o openscad de sua maneira favorita. A minha no Mac OSX é via brew cask.

brew cask install openscad

Ou via linux

sudo apt-get install openscad

Mas você pode entrar no www.openscad.org e baixar o zip também.

Explorando as formas

Lembra das formas básicas da geometria? cubo, esfera, cilíndro. Elas estão fácilmente disponíveis no OpenScad para serem usadas de diversas maneiras para construir seu objeto.

Por exemplo. Para construir uma simples esfera, eu apenas preciso passar o tamanho do raio:

sphere(r=2)

O código acima cria uma esfera como a imagem abaixo exibe na prática rodando dentro do openscad.

Esfera com raio de 2 milímetros

Observe nas reguas laterais estamos trabalhando com uma esfera de 1 milímetro.

Observe a escala de definição:

Esfera com raio de 3 milímetros

Ela não posssúi definição por isso é um objeto de poucas faces. Se aumentar o raio do objeto, a resolução da esfera vai ter uma qualidade maior.

Esfera com raio de 6 milímetros

Legal, nada de muito novo criar uma esfera. Vamos explorar o espaço. Se criarmos duas esferas, não poderemos ver elas pois estarão uma sobre a outra então é necessário "transladar" para outro espaço.

A função translate recebe um array com [x,y,z] direções. No exemplo abaixo vamos apenas transladar em x para fazer outra esfera menor ao lado.

Transladando a segunda esfera com raio de de 3 milímetros

Uau! Agora imagina que você pode combinar movimentos, formas e tamanhos!?

Tudo isso é possível usando funções incrementais. O objeto vai sendo transformado, transladado, escalado conforme as funções vão sendo chamadas em sequência enquanto não encontrar o ;.

Usando repetição

A estrutura básica do for é bem semelhante as linguagens convencionais e aceita um range de valores como parâmetro, ou ainda um próprio array. A sintaxe é: for (indice = [comeco:fim]) para usar com ranges. Veja como é simples de adicionar uma estrutura de repetição aqui:

for (i = [5:1]){
  translate([i*2,0,0])
    sphere(r=i);
}

Criando 5 esferas e transladando com um for repetitivo

Uau, veja que a peça acima parece uma gota, mas também lembra um pião. Então vamos tentar produzir um peão.

Criando meu pião de brinquedo em 3D

Bom para terminar o peão apenas temos que aumentar o tamanho. Penso em fazer de um tamanho parecido com da moeda de 25 centavos, , com 24 mm.

Esfera transladando e 1 a 24 milímetros

Adicionando um cilíndro na ponta para poder girar o pião na mão.

Esfera transladando e 1 a 24 milímetros com cilíndro

Usando subtração de formas

Uma coisa extremamente explorada em desenho 3D é a subtração de fórmas, então no meu caso eu quero abrir um furo para passar um prego e potencializar a ponta do peão como é um peão de madeira. Imagina que vou usar um prego 17x27mm então vamos abrir um furo de 2.7mm de diâmetro que atravesse o peão inteiro.

Esse furo nada mais é do que a remoção de um cilíndro de 2.7mm de raio do centro.

Então é só aplicar a função difference para obter o objeto com a diferença dos objetos em questão.

A função difference aceita múltiplos objetos, então é possível construir um objeto complexo e remover algo dentro dele. Apenas a última expressão é entendida como o objeto que será removido.

Esfera com difference abrindo um espaço para passar o prego com cilíndro

Bom, nosso primeiro objeto está disponível opensource. Baixe, altere, compartilhe, imprima! Crie e distribua!

Ficou curioso?

Acesse o manual do usuário do OpenSCad que tem exemplos muito mais ricos e fantásticos do que os apresentados aqui :)



6 meses na Resultados Digitais

Essa semana completei 6 meses na Resultados Digitais. Durante esse meio ano de vida tenho certeza que a palavra que mais levo é aprendizado.

Estive participando ativamente da equipe e estou me sentindo muito mais a vontade.

Conforme vamos ganhando intimidade com a equipe, aprendemos a nos relacionar melhor.

Sempre falo que no desenvolvimento de software temos que ser como em um time de futebol. Cada um deve jogar na posição que tem melhor performance para ter resultados melhores. E conforme o tempo vai passando as pessoas do time vão se adaptando e acabam trabalhando e pivotando para os desafios de maior interesse e aptidão.

Numa empresa com crescimento acelerado como a Resultados Digitais, desafio têm para todos então basta encontrar e abraçar aqueles que melhor se encaixam com você. Estou interessado em trabalhar com pesquisa e desenvolvimento e em geral tenho feito isso. Também já tive minhas primeiras experiências com estatísticas e análises de dados. Dei uma brincada com o R e tem sido um trabalho muito legal e desafiador. Além de pesquisa, temos que trabalhar para entregar em algo de valor então torna-se uma pesquisa muito mais dinâmica e focada no resultado.

team ownership

Um aspecto bem interessante na RD é a liberdade para abraçar e encarar os desafios. Alinhando com os gestores, sempre é possível sair da zona de conforto e fazer mais. Buscar uma nova posição, assumir novas responsabilidades.

Mas mesmo quando você encara, ainda assim não está sozinho no desafio. O time todo sempre está por perto para ajudar e desbloquear qualquer tipo de empedimento.

Esse entrosamento gera um engajamento muito legal nas atividades. Tanto pelo fato das pessoas trabalharem em conjunto, quanto pela troca de informações que se gera no aprendizado.

Eu fico muito feliz e orgulhoso em trabalhar em conjunto com tantos gurus da tecnologia :)

feedback 360º

Um aspecto que gostei muito daqui é a melhoria contínua promovida para cada colaborador. Uma ação mapeada para isso é o feedback 360º que é uma espécie de bate papo com a equipe com o objetivo de alinhar as expectativas de cada um assim como reconhecer conquistas e estabelecer novos limites para o RDoer.

A partir do feedback 360 cada pessoa estabelece um plano de ação com novas metas e objetivos conforme o feedback do seu time.

Por exemplo, eu estabeleci minha meta ser tendencioso para big data, data mining e performance backend.

No meu plano de ação defini como estratégia fazer cursos para desenvolver mais meu lado estatístico e de análise de dados, e também estudar mais backend e performance.

Então nos próximos meses vou estar focado em aprender e contribuir para a empresa com tarefas associadas a esses aspectos do RDStation. Encarando desafios assim, alinhados com meus interesses pessoais de crescimento na carreira é algo muito interessante e que se consegue nesse momento de feedback e planejamento.

Out teach

Por exemplo, eu recebi um meu feedback sobre minha pegada de out teach e nunca tinha pensado em como gosto de ensinar e tenho facilidade para tirar lições de tudo que eu faço. Com isso, tenho ainda mais empolgação para seguir nesta linha de ensinar, escrever, compartilhar.

Saindo do feedback, já abriram uma oportunidade interna e palestrei no RDTalks, um evento interno de palestras para a empresa. Palestrei sobre life hacks de produtividade.

Fiquei feliz pois tive um feedback super positivo da equipe!

Também palestrei no TDC em Floripa e SP e estou participando ativamente do Floripa On Rails - um evento mensal organizado pelos devs da RD.

Estou gostando muito de compartilhar conhecimento e tenho recebido apoio da empresa. Minha próxima palestra vai ser na RubyConf. A equipe de produto da Resultados Digitais também estará presente como patrocinadora do evento :)

Team A

Quando entrei, fui o funcionario 134, agora já somos em mais de 190 RDoers, e o time aqui é muito fera mesmo. A empresa toda tem uma riqueza cultural e intelectual muito grande.

Aqui a maioria das pessoas que conversei já tiveram uma experiência morando em um país estrangeiro ou um intercâmbio. Também falam mais de uma língua e tiveram grandes experiências antes da RD.

Eu que venho de uma cidade pequena onde a maioria das pessoas não tem a mesma oportunidade, tenho aproveitado muito toda essa gente, aprendido muito não só sobre software e marketing digital, mas sobre a vida e um pouco desse mundão também.

Transparência e feedback

Aqui na RD temos uma transparência dos dados e direção aberta muito linda. Eu acredito e aprecio muito no conceito Openess aplicado na prática.

Na foto acima, toda a equipe reunida para o planejamento dos próximos seis meses com o Eric, CEO da Resultados Digitais.

Eu estou super empolgado com a forma como todas as análises e estudos dos dados e estatísticas são compartilhados para conhecimento de todos. Percebo que existe liderança mas não existe verticalização. Cada pessoa está livre e pode contribuir, perguntar e saber do andamento das outras áreas. O feedback entre áreas é constante e alinhado.

Um outro aspecto aplausível de transparência aqui são os post mortem realizados quando ocorrem problemas. A pessoa que está apagando o incêndio, sempre escreve um relatório sobre o problema. Traçando a causa, data, duração e consequências. Também descreve como foi resolvida e como poderia ter sido evitado. Cada post mortem valida e melhora o ciclo geral do desenvolvimento do produto. Todas as ocorrências são compartilhadas e trazem uma carga de aprendizado muito grande.

Scaling fast

Escalar uma empresa é um desafio. Desde que eu entrei a empresa praticamente dobrou o número de funcionários e isso não vai parar.

Em breve estaremos nos mudando para um espaço maior e então provavelmente veremos esses números dobrarem novamente no próximo ano.

Esse processo de escalar rápido também tenho aprendido muito sobre organização da empresa. Setores, divisões, limites e responsabilidades. Estou muito empolgado em ver as áreas se organizando e reformulando. A empresa até promove uma iniciativa chamada RD Rotation, permitindo as pessoas rotacionar para outras áreas de interesse, conforme habilidade e aptidão.

Eu gostei muito dessa notícia, é um exemplo de valorização do colaborador como humano por trás das scenas. Nós humanos temos vários altos e baixos nos interesses profissionais e muitas vezes o trabalho/empresa não consegue acompanhar esse ânimo. Com uma oportunidade como essa basta querer mudar, e é possível planejar essas mudanças e passar para outras áreas.

Hoje estamos num mundo de pessoas polivalentes, que conhecem de diversas áreas e até mesmo domina algumas mesmo sem ter trabalhado.

Eu como programador sempre aprendo tudo sobre a área que está desenvolvendo o software sem nunca ter se tornado um profissional da área. E isso já aconteceu com: ERP, E-commerce, CMS, Contab/Fiscal, Mercado Financeiro, e agora mais recentemente o Marketing Digital.

O Marketing Digital é apaixonante, pois nada mais faz do que trazer o espírito de comunidade para o negócio. O espírito de compartilhar seu conhecimento, suas ideias e técnicas com o seu cliente. No mercado que você está atuando.

Essa criação de conteúdo traz uma série de facilidades para o onboarding de novos clientes e até mesmo novos colaboradores. Faz parte de um novo aspecto de crescimento organizacional das próprias empresas.

Fazendo a diferença no marketing digital

Um pouco fora do conteúdo mas também relevante para o momento, esse final de semana estive colaborando de um hackathon aqui em Florianópolis para colaboração de projetos sociais através do Social Good Brasil Labs. Apresentaram 45 ideias de inovação social e a maioria dos projetos já falava que precisava ter uma Landing Page, que precisava ter uma estratégia de marketing digital para engajar seu público, e de certa forma me admirei como o pessoal estava com o mindset de marketing digital bem forte como parte essencial para a estratégia do negócio.

Esse é o tipo de influência que sinto orgulho de fazer parte. Pois a galera da RD está sempre presente nos eventos da comunidade de empreendendorismo. Isso com certeza vai influenciar e ajudar a elevar o nível do mindset geral de startup no Brasil. Alinhando ainda mais com estratégias de marketing digital desde a concepção do negócio.

Customer first

O cliente em primeiro lugar é a chave. De todas as lições que pego na RD no dia a dia, sempre caímos no customer first batendo a porta. O conceito de valorizar o cliente e colocar ele em primeiro lugar é realmente algo que move a RD para o futuro. Além de ser uma prática extremamente digna, conquistamos muito mais do que a venda de um software ou serviço, cria-se um relacionamento.

O interessante de levar esses valores a sério é a possibilidade de expansão das ideias e participação ativa do cliente. Vejo vários clientes ajudando e dando feedbacks construtivos para a melhoria contínua.

Antes eu trabalhava no mercado financeiro, desenvolvia sistemas autônomos onde o desafio era apenas fazer o cliente colocar o dinheiro para ser investido. O resto era por conta do software que iria gerenciar.

Na RD já é mais estilo academia, se você pagar e não fizer logo não terá sucesso. Então, temos uma área chamada "Customer Success" responsável por ajudar os clientes a malhar na academia do marketing digital. Eles auxiliam e mostram ferramentas para que o próprio cliente consiga desenvolver seu negócio e criar suas estratégias de marketing digital.

O Manoel Lemos escreveu um artigo inspirador sobre o assunto: O sucesso do cliente é o seu sucesso.

Cool stuff

Na Resultados Digitais temos uma votação para comprar coisas legais e este mês compramos uma impressora 3D!

Eu já curto impressão 3D faz tempo, e estava com saudades da impressora 3D na Invent.to. Mas sempre falava com a galera sobre esse assunto e fiquei super feliz com a iniciativa do @mauriciokj em colocar no cool stuff e ter dado certo. Gosto muito de ser maker e fazer as coisas e a impressora tem se tornado uma grande ferramenta maker.

A galera lá da empresa está imprimindo muitas coisas legais e criamos uma fila de impressão semelhante a nossa fila de deploy do RDStation, usando o slack para controlar as impressões 3D que estão na fila. A impressão em si ainda está no semi-automático e exige a presença de um humano, mas já conseguimos imprimir muitas peças por ter organizado a fila.

A cidade de Florianópolis

Enfim, além de toda a experiência profissional mudar para Florianópolis foi uma das melhores iniciativas para minha qualidade de vida e da família.

Aqui tem muita gente fera, a comunidade em si de tecnologia é bem ativa. Têm eventos pra ir toda semana se quiser se reunir. O próximo que vou ir vai ser o RubyOnBreja :)

Leu até aqui e gostou do meu post? Ficou curioso sobre Resultados Digitais?

Não deixe de ler meus outros posts sobre minha experiência de primeira semana, primeiro mês e três meses de RD :)



TDC SP here we go :)

Estou muito feliz pois vou participar do The Developers Conference pela terceira vez. Participei da última edição aqui em Florianópolis e agora vou participar em SP.

TDC São Paulo.

Vou ter 3 participações: Cloud computing, impressão 3D e TDC4Kids.

Cloud computing - Quinta feira

Vou falar rápidamente sobre ø downtime migrations e minha experiência na Resultados Digitais com migrações de dados sem interrupção da aplicação ou agendamentos.

Essa experiência gerou até algumas reflexões. Compartilhamos um pouco disso no blog do shipit e agora vou falar pessoalmente sobre o assunto.

Também palestrei na trilha de Cloud computing aqui em Florianópolis junto com o @andrehjr e essa será a segunda vez. Esta é uma oportunidade de participar no meio da semana veio com o meu trabalho na Resultados Digitais que têm o valor de ser out-teach e também é patrocinadora oficial do evento :) Valeu RD!!!

Impressão 3D - Sábado

Estarei na trilha de impressão 3D com a impressora da invent.to trazendo um pouco das nossas batidas de cabeça na parede até conseguir ter sucesso nas impressões com nossa impressora open source.

A ideia é dar umas dicas para ter uma boa impressão em 3D e pequenos detalhes que mudam completamente a qualidade/velocidade de impressão.

Eu quebrei muito a cabeça e desisti abandonando a impressora por semana várias vezes. Pegando de volta e tentando e tivemos bons resultados.

Me sinto um entusiasta quando penso em quão recente têm sido a acessibilidade das impressoras 3D. Tanto por participar da inauguração da trilha no TDC quanto por ter tido a oportunidade de trabalhar com ela.

Saindo das indústrias para dentro dos nossos lares temos a oportunidade de vislumbrar um novo mundo com a impressão 3D. Criando novas maneiras de resolver os problemas do cotidiano com impressão 3D. Entendendo e tentando se adaptar a possibilidade de criar novos mercados e explorar os benefícios dessa tecnologia de agora em diante.

TDC4Kids - Sábado

Essa é inspirada no Lorenzo, meu filho, que sempre brincamos de construir pequenas coisas com meus hardwares. Vou fazer uma máquina de bolhas no TDC4Kids. Infelizmente ele ainda não vai comigo nesta vez mas na próxima quem sabe vamos fazer a máquina de bolhas em conjunto.

A máquina de bolhas atraiu muito a atenção do meu filho. Ele têm 3 anos e sempre me convida para brincar com eletrônica depois que montamos a máquina de bolhas. Já fiz ele jumpear uma breadboard certinho para ligar o motor e fazer a máquina de bolhas funcionar. Ele conseguiu perfeitamente.

Eu fiquei muito empolgado por ele gostar e se entusiasmar tanto com a brincadeira. Então a ideia é compartilhar e ver se outras crianças também se encantam com a tecnologia para brincar.

Nos vemos por lá

Então nos encontramos lá! Vou chegar na quinta e fico até o final do evento! Não deixe de me procurar para bater um papo! Enquanto eu não estiver nas trilhas vou ficar pelo stand da Resultados Digitais com os outros RDevs.