About
This page is available in the following languages:
Table of Contents
About Me
Education
- 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:
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.