I am a writer of prose, software and music. I am a Ph.D. student at the Programming Languages Laboratory, at the Johns Hopkins University. I research a program analysis technique called Demand-Driven Program Analysis.
My interests are computer programming, music, books, typography, lettering, education, minimalism and veganism. I live in Baltimore, Maryland, United States.
I am 27 years old and I have been writing software for over a decade. Most of my career has been in web products and I also developed natural-language-processing applications, system administration tools and programming-language theory.
I believe that knowledge should be free as in freedom. Software included. So I contribute to Free Software and teach.
I was born in Brazil and lived there most of my life. My undergraduate degree is from Universidade de São Paulo.
I enjoy a frugal, simple, minimalist lifestyle. I own as few things as possible. I do not own a cell phone or participate in Internet social networks.
I play the guitar and write my own songs. I am also into electronic music production and computer generated music.
I am vegan. I do not eat and do not use any animal-derived products. I cook most of my meals, instead of eating out.
I read about a book per week. Both fiction and non-fiction.
The rest of this page lists my accomplishments. Work experiences, education, publications and more.
Ph.D. student in Computer Science, Programming Languages§
Johns Hopkins University, from 2014-09 to 2019-09 (estimated)
- I am part of The Programming Languages Laboratory, under Dr. Scott Smith’s advisory.
- I research a new approach to high-order program analysis called Demand-Driven Program Analysis (DDPA).
- I took courses in programming languages, logic, software engineering, cryptography, natural language processing and databases.
- I was a course assistant for the Object-Oriented Software Engineering course on Fall 2015. I advised groups of students on their semester-long project and lectured about Git.
- I am system administrator for the laboratory.
- My work is supported by a fellowship from the Brazilian Government (CAPES). Process number: 13477/13-7.
M.S. in Computer Science§
Johns Hopkins University, from 2014-09 to 2016-10
- I got a master’s degree as part of the Ph.D. program.
- My project was Practical Demand-Driven Program Analysis with Recursion.
B.S. in Computer Science§
Universidade de São Paulo, from 2008-02 to 2012-09
My GPA was 3.08.
- I participated in an Scientific Initiation program in the field of robotics with scholarship provided by the Brazilian Government (INCT-SEC). My research was in intelligent vehicles that do not require human intervention. I developed an algorithm that helped on visual navigation.
Software Developer, from 2014-02 to 2014-08
Raise Sistemas is a product start-up.
- I maintained and developed new features for an existing medium-sized Ruby on Rails application from end to end.
- I improved the performance of an user-importing subsystem by a factor of 30x.
- I was part of an agile team that did regular code-reviews, continuous integration and continuous delivery.
- I worked remotely, while traveling.
Software Developer, from 2013-02 to 2013-12
Das Dad was a product start-up.
- I contributed to a Ruby on Rails front-end application and back-end services in Ruby and Java.
- The applications made a non-trivial use of natural language processing and artificial intelligence along the lines of recommendation engines, summarization and sentiment analysis.
- I did infrastructure work, implementing continuous integration and continuous delivery systems.
- I helped manage outreach activities for the local programming community. For example, I promoted coding dojos and hackathons.
Universo Online (UOL)§
Junior System Analyst, from 2012-03 to 2013-02
- UOL is a major Internet publishing company in Brazil.
- I used Java EE to build and maintain several web products with millions of users.
- I improved the development process of front-end code by introducing new technologies and building internal tools.
Intern in Software Development, from 2011-07 to 2012-02
- Daitan Group is an outsourcing company for Telecom applications.
- I had direct contact with customers in California.
- I developed a web service in Java EE for a telephony platform and a PHP web administration tool for a video conference system.
- I taught a course about Git for peer developers.
- Programming Language Semantics
- Type Theory
- Program Analysis
- Abstract Interpretation
- PLT Redex
- Unit Testing
- Natural Language Processing
- Software Engineering
- Object Orientation
- Functional Programming
- Number Theory
- Ableton Live
- CSS 3
- HTML 5
- Oracle Database
- Continuous Integration
- Continuous Deployment
- Cloud Computing
- Mail Servers
- Server Automation
- Ruby on Rails
- Apache Httpd
- Elastic Search
- Shell Scripting
- UML 2.0
- Agile Methodologies
- Web Services
- TLS (SSL)
- Amazon Web Services
Reading: 28/30. Listening: 29/30. Speaking: 24/30. Writing: 27/30. Total: 108/120.
Verbal reasoning: 154/170. Quantitative reasoning: 166/170. Analytical writing: 3.5/6.
Oracle Certified Java Programmer§
The 17th Symposium on Trends in Functional Programming (TFP 2016)§
Alexander Rozenshteyn presented the paper What is Your Function? Static Pattern Matching on Function Behavior, of which I am a co-author.
IBM Programming Languages Day 2015§
The Developer’s Conference Florianópolis 2014§
Talked about HTTP/2 and the future of web technologies.
iMasters InterCon 2013§
iMasters InterCon + Android 2013§
RubyConf Brazil 2013§
Coding Dojo at FAI§
Co-hosted a full day of activities for undergraduate Computer Science students which included a lecture about Git and a Coding Dojo.
Talked about modern Java development techniques and tools.
Dev in Sampa 2012§
RubyConf Brazil 2012§
From 2012 to 2013
Promoted, hosted and participated in several Conding Dojos for the local developer community.
From 2012 to 2013
Profissão Java (Java Career)§
Conexão Java (Java Connection)§
18º Simpósio Internacional de Iniciação Científica da Universidade de São Paulo (18th International Scientific Initiation Symposium from Universidade de São Paulo)§
Presented the paper Sistema de Navegação Visual Baseado em Correlação de Imagens Visando a Aplicação em Veículos Autônomos Inteligentes (Visual Navigation System Based on Image Correlation Targeted to Intelligent Autonomous Vehicles).
III Workshop on Computational Intelligence—WCI. Joint Conference 2010—SBIA—SBRN—JRI§
Presented the paper Navegação Visual de Robôs Móveis Autônomos Baseada em Métodos de Correlação de Imagens (Visual Navigation of Autonomous Mobile Robots Based on Image Correlation Methods).
IV Workshop de Iniciação Científica e Tecnológica de Computação (WICT) (IV Scientific and Technologic Initiation Workshop)§
Presented the paper Pesquisa e Desenvolvimento de Robôs Móveis Autônomos com Navegação Baseada em Correlação de Imagens (Research and Development of Autonomous Mobile Robots with Image-Correlation-Based Navigation).
II Computer Science Bachelor’s Workshop from Universidade de São Paulo§
Represented students in discussion with professors about improvements on the structure of the Computer Science course.
PHP Conference Brazil§
Introduction to Ableton Live§
Erin Barra in Coursera, 2016
Introduction to Music Production§
Loudon Stearns in Coursera, 2015
Natural Language Processing§
Michael Collins in Coursera, 2013
FJ-25—Java Advanced—Persistence with Hibernate and JPA§
Software Engineering for Software as a Service (Part I)§
Armando Fox and David Patterson in Coursera, 2012
Scored 2120.6 out of 2126.
Secure Development for Web Programmers§
Universo Online (UOL), 2012
Scrum and Agile Methodologies§
Universo Online (UOL), 2012
Universo Online (UOL), 2012
MC128—Introduction to Java EE§
Globalcode in the open4education program, 2012
Java Programming Intro Course§
Advanced Course of English§