Skip to content
Image with logo, providing a link to the home page
  • United Stated of America flag, representing the option for the English language.
  • Bandeira do Brasil, simbolizando a opção pelo idioma Português do Brasil.


This page is available in the following languages:

Table of Contents

About Me


  • Bachelor in Computer Science -- Universidade Federal de São Carlos (UFSCar / Brazil);
  • Master's degree (Master of Science or M.Sc.) in Computer Science -- UFSCar;
  • Doctorate (PhD) in Computer Science -- UFSCar.

Areas of Interest and Research Topics

Over the years, I have worked with research and development in Computer Science in areas including:

  • Digital games design and programming;
  • Game engines;
  • Entity-Component Systems (ECS);
  • Serious games;
  • Game accessibility and inclusion;
  • Software architectures;
  • Data-driven architectures;
  • Adaptable systems and adaptative systems;
  • Collaborative systems;
  • End-User Programming / End-User Development;
  • End-User Game Programming / End-User Game Development / Modding;
  • Accessibility;
  • Participatory design;
  • Universal design;
  • Human-centered computing;
  • Computational thinking;
  • Informatics (usually with games) for education;
  • Informatics (usually with games) for health and rehabilitation;
  • Therapeutic games.

Publications and Presentations

TODO List someday.

Software Programming and Development

Programming Languages

I have projects in the following programming languages:

  • C++;
  • C;
  • Python;
  • Godot GDScript;
  • Dart;
  • LISP;
  • JavaScript;
  • SQL;
  • Lua;
  • Emacs Lisp;
  • Prolog.

I have experience on other programming languages, though only with projects for learning them. At this time, one of the languages I am learning is Go.

Document Preparation Languages

In decreasing preference order:

  • Emacs Org mode;
  • ;
  • Markdown.

Languages for Diagrams

Software (as User)

I am primarily a Linux user (I have been using Arch Linux since around 2013; before, I have used Slackware since 2009). For graphical environment, I usually choose KDE.

I do not have problems nor restrictions without other operating systems. I use Linux by choice and because I think it is more convenient for programming activities. In particular, I use the GNU Emacs text editor for almost all activities involving text (including programming, e-mails, calendar, document preparation with , diagramming, calculator...). In my experience, Emacs has better performance and compatibility with programs of interest (such as mu4e) on Linux.

About This Website

The most interesting part of this website is arguably the blog. Its purpose is providing high quality programming material. The availability of programming material, especially written material, in Portuguese is somewhat scarce.

The level of detail of the topics probably will be higher than on other pages and blogs. Consequently, this material will not always be the most accessible for beginners, although it will be detailed and in depth.

I Have Found a Problem in a Page or in Some Content

Despite my best efforts, there will be errors and mistakes in this website.

If you have found something wrong in any page (for instance, content, broken links, accessibility issues or poor usability), please contact me to let me fix the issues. Please provide how you would like to be credited for your contribution (for instance, name, name and contact, etc.).

Notes About the Writing

As of now, the English version has draft quality.

I am not a native English speaker, and I am mostly self-taught in the language. There will be spelling and grammar mistakes in the pages, especially as I am not writing for academic publication (like I would for academic papers). I apologize in advance for inevitable errors and bad English.

Although I should proofread the English content in the future, is not a top priority at this time, as I am currently writing more content. Once I have enough content and more time, I should review the writing and improve its quality.

Implementation Notes

This site is written in HTML, JavaScript e CSS with React, Gatsby and Theme UI. Math formulas are drawn with . Code highlighting uses Prism. Icons are from Font Awesome and flag-icons. Icons and links to share content in social media use Social Share URLs.

Most of the content is written using MDX, although, possibly, I may switch to Org mode at some point (Markdown is a limited format if compared to Org mode). The site is hosted by GitLab Pages; the source code is also hosted on GitLab (as a private project).

Notes Regarding the Images That I Create

Except in setup tutorials, most images will have the appearance of the environment I use on my system. Images of text editors will probably be from my configuration of Emacs.

Linux screenshots are captured with Spectacle. Windows screenshots are captured with Greenshot. Images are edited with GIMP and Inkscape. Videos are recorded with OBS Studio and edited with Kdenlive.

Although some text and examples can be in Portuguese (which, perhaps, might be exotic for foreign visitors), all software is in English.