I'm a programmer by trade and by hobby. I have worked in industry and academia in areas such as web development, program analysis and transformation, and natural language processing. In my free time, I like to think about and play with programming language design and implementation.
I also like learning about linguistics (the workings of human languages), and especially historical linguistics (etymologies, the evolution of languages in time, language reconstruction, that sort of stuff).
I have a blog here (partly in Portuguese, partly in English).
I obtained a Master's degree in Computer Science in 2018 at the Institute of Informatics of the Federal University of Rio Grande do Sul (UFRGS), Brazil. I obtained a Bachelor's degree in Computer Science in 2013, also at UFRGS.
My e-mail address begins with vbuaraujo, ends with sapo.pt, and has an @ sign between those.
Here are some things I have worked on. You can also browse my Git repositories.
- Blognir: a no-frills, databaseless blog system in PHP, which powers my blog since 2012.
- Parenthetical Blognir: a rewrite of Blognir in Guile Scheme.
- Litlavík: the simplest thing that might still be called a wiki, in PHP.
- Fenius: a functional programming language combining Lisp-style macros with a more conventional, non-Lisp syntax.
- Neander-js and Ahmes-js: simulators for the Neander and Ahmes didactical architectures.
- AMK CYK parser: a parser and sentence generator for context-free grammars. Written for a Formal Languages course, and kept around for amusement value.
- MLP: an ALGOL-like language with closures and a graphical interpreter, which I designed as the final project of a Programming Language Models course.
- Hatter: a hat-oriented esoteric programming language.
- Faz: a didactical functional programming language I designed as my Bachelor's final project, built on the Racket environment.
- Týr: a code transformation for LLVM IR to ensure memory safety based on programmer-provided annotations. My Master's thesis project. Not maintained and not supported.
Here are a few things I have written. Most of what I write nowadays tends to go to my blog instead.
- Introdução ao bash (Portuguese)
- Kontraŭranto: Learn Not Not to Speak Esperanto