About me
Born and raised in Lisbon, Portugal but with strong northern roots in Trás-os~Montes. Annoying anyone and everyone with questions since 1999, Diogo always had a very inquisitive nature on how things work. Growing up with Legos and a strong interest in physics, Diogo pursued sciences in highschool but made a 90° turn into programming after learning how to make games for his Texas Instruments TI-84 graphic calculator.
Diogo enrolled in a BSc in Informatics Engineering at Faculdade de Ciências da Universidade de Lisboa (FCUL) where he acquired core programming knowledge mainly focused on Java but also dabbling in the ‘Web trifecta’ (HTML, CSS, JavaScript), SQL, Haskell, C and Python. He concluded in 2020 with a final grade of 16.
On December 2019, while on his BSc, he began as an undergraduate student at LASIGE, a research unit at FCUL, under the coordination of professors Vasco Vasconcelos and Andreia Mordido in a new programming language, FreeST. FreeST focuses on safe channel communication, or in other words, guaranteeing communication follows a pre-defined protocol.
In the summer of 2020, between finishing his BSc and starting his MsC, Diogo participated as a fellow at the CryptoSummer summer school at NOVA IMS. The focus of this summer school was to find new ways to tackle urban residue and recycling using blockchains, crypto currencies and smart-contracts. As part of the BitBin team, he leaded the development of a private (custom) blockchain based on Ethereum’s own blockchain whose miners would be inexpensive Raspberry Pis. There was also a webapp with integration with Metamask to simulate interactions with the smart-contract running in our private network of two Raspberry Pis.
To top off his education, Diogo enrolled in a MsC in Informatics Engineering at FCUL with a focus on Software Engineering. His subject choices where mainly in the realm of programming languages, a growing interest since he begun research in the FreeST language. Some examples of these subjects are: Compilation Techniques (19), Domain Languages (19) and Fundamentals of Programming Languages (16). To avoid a narrow specialization in programming languages, varied subjects on important programming topics such as: Software Security, Middleware Technologies, Parallel and Concurrent Programming and Software Verification and Validation.
During his MsC he also was a Monitor for practical classes in Programming I (first year, first semester licentiate subject), went to POPL 2021 (a programming languages conference) as a Student Volunteer, and presented a preview of his thesis at INForum Informatics Symposium 2022.
Diogo successfully presented his thesis Shared channels on Context-free Session Types with a final grade of 19. It presented an implementation of shared channels for FreeST which only had linear (1-to-1) channels, thus opening a plethora of new use cases and useful constructs for future FreeST programmers, such as shared data structures, standard input and output, and interaction with files.
After his MsC, Diogo continued in LASIGE working on FreeST creating several tools (extensions for VSCode, documentation generator, and a debugger prototype), a new website for FreeST and, finally, working on new language improvements such as Minimal Renaming and storing source code in the language’s AST for better error messages. A link between FreeST and distributed systems is in the works as an eventual source of ideas for further improvements.
During this time, he was also responsible for lecturing Domain Languages, a MsC subject, for half a semester.