I have a wide range of skills and interests. My formal education is in Mathematics, but I started writing code while in middle school and never stopped. I studied psychology for a time, I have worked as a translator and I did some systems administration. I am a passionate advocate for Software Freedom.
I was integrated into the project Field Guide, which is and environmental education research project funded by FCT and hosted by ITI-LARSyS and the Azorean Biodiversity Group.
In this context I continued the work on the Field Guide app and developed a small device with an integrated circuit to be used in a study.
We worked on using Coq to mathematically formalise the European Regulation 165/2014, which sets limits on the driving time of trucks.
This position required a wide range of skills, including interpreting legislation, understanding and building different mathematical models, and writing code in both OCaml and Coq. I also worked on a cross-platform application to visualize the data and interact with the main code.
I was responsible for the maintenance of the computers used by the students of the Mathematics Department of Instituto Superior Técnico (Universidade de Lisboa).
My main tasks were installing and updating the software and systems on both the clients and servers.
I had to ensure that everything was running smoothly at all times which meant predicting and fixing problems wherever they arose.
From time to time I was asked to help in other tasks where my skills could be handy. These included configuring and fixing bugs on a program to manage the department's exams and also replacing and configuring switches.
I worked with 18 students, some still in high school and others at university level, with a big variety of goals and previous knowledge.
This required not only scientific knowledge, but also interpersonal skills (especially to motivate disillusioned students) and the flexibility to find the best strategies and techniques to teach each individual student.
I participated in several ICOs (Initial Coin Offerings), which required both a great deal of technical study of the fundamentals of the project and sentiment analysis.
Later on I also wrote a few scripts for automated cross-exchange trading and market making.
I translated a total of 243,577 words of English text into Portuguese (the equivalent of about 3 average sized books, or the biggest Harry Potter book). This included text of the most varied nature, ranging from video games and mobile applications, to descriptions for jewellery auctions.
I was responsible for the development and planning of all the company's software, which includes its website, ERP and tablet application.
My responsibilities also included the maintenance of the server (for web and emails) and all the desktop workstations.
I accompanied the growth of the company from a micro-enterprise based on a flat to a small business expanding abroad.
The company behind the (now defunct) eyeOS Web Operating System hired me to help them make their OS more suited to be used in schools of Barcelona and Catalunya.
My main contribution to the project was an improved user management tool. This included features like importing and exporting users from a text file and bulk editing.
Freelance software development job on a project for a school, adapting features of the eyeOS Web Operating System to their needs.
Among other things, I worked on better user group management, improving the internal chat, and integrating an image editor.
This app was part of a project in environmental education, in a partnership between ITI (Interactive Technologies Institute) and Universidade dos Açores, with funding from FCT (Fundação para a Ciência e a Tecnologia).
Using geo-location, the app provides students relevant educational and informational material while doing a field trip to a natural park. The students can also use the app to provide their own contributions in the form of questions to scientists, photographs and videos.
We also produced a Podcast around the Mistérios Negros trail. We gathered questions asked by students and sent them to specialists in the respective areas.
This was integrated in a project funded by the European Union and by the Generalitat de Catalunya, in a partnership with Formal Vindications S. L. and the Universitat de Barcelona.
The goal was to find a formal specification of a law (in this case, the European Regulation 165/2014) in Coq, write a program in OCaml to decide whether the driver was following said regulation, and most importantly, provide a verified formal proof in Coq that the program indeed followed the stipulations of the law
As of my departure from the project, the team had written 3 scientific papers, as well as a lot of technical papers and white papers. We also wrote thousands of lines of code trying to approach this innovative endeavour from multiple angles.
As we were writing the code for the #lawformalisation, it became apparent that it was hard to showcase what it was doing and the results. In order to tackle that, I wrote a user interface to visualise the data and the flow of the programmmes.
This was written in such a way that it could run as a webapp and connect to the server to fetch the output of the code. But it could also be built using Electron or Cordova to obtain a standalone computer or mobile app that ran the main code locally.
In 2017 I had a number of low liquidity cryptocurrencies as as investment. This required me to follow different exchanges to understand how I could better take the profits. While doing so I started noticing some reliable patterns of market inefficiency.
To take advantage of these inefficiencies, I wrote some scripts to monitor the different markets and then make and take orders across the exchanges. This not only netted me a very nice profit, but also helped the system by making the price across exchanges more consistent and by adding volume.
The main task of the scholarship was to maintain two computer labs with around 20 workstations each. We had a setup that allowed us to have a single installation for all computers that was exactly the same everywhere. All users had access to their data using their university credentials on any computer and could use them as if it were a local installation with synced data.
The terminals booted through PXE. A barebones OS mounted an overlay partition with a read-only NFS containing a Debian system fetched from a central server and a read-write tmpfs on RAM to store all session data. For persistent storage, Técnico's AFS was mounted on /home/userid, allowing the students to seamlessly access their data everywhere.
This system was central to all the processes inside the company. Every step of the services provided by the company was made using the software, which made the work a lot more streamlined.
The job of the software started on receiving the quote request from the client. After a visit to the client, the software assisted the work manager building a technical report. Afterwards it sent a request for a quote to the partners, who filled it directly there and it built a report with a visualisation and all the information of the different quotes.
The function of the software didn't end there. It also assisted on the follow up with the client, even after the quote was selected. It also helped managing human resources, invoicing and the public facing website.
To try to streamline even more the creation of the technical report, we built a tablet app that the work manager could take to the visit with the client. The idea was that they could input directly the most common works and take notes there for everything else.
Unfortunately after many iterations it became clear that we couldn't make the app simple enough. It was always a bit too intrusive to allow for a normal interaction with the client.
Regardless of that, it was a very interesting project because it allowed me understand the job of everyone else in the company in detail and at times required me to think outside the box to search for new solutions.
In 2008 the process of registering for running events was really clunky. Usually runners had to fill a form by hand, which was mailed to the organisation. They paid through a wire transfer, having to also mail the slip.
Even worse was the amount of work left for the organization of the event. They were receiving many assorted forms, which had to be processed one by one in order to compile all the information. It got even worse when they had to reconcile all the financial information.
I built a platform that allowed the participants to register and pay online. The participants could even reuse the data inserted for previous events. This was especially helpful for teams which had to register dozens of runners.
The payment was directly assigned to the registration and the organisations had access to a backoffice with all the information well structured and updated in real time.
On top of all this, we also published the final results. Traditionally it would take a long time for the participants to be able to see the full results, but we published them minutes after the event finished.
This also allowed us to have a central searchable database with the results of hundreds of events. We even scanned results from old events, providing the runners their history.
Pure Mathematics track
This is a very informal self-assessment of proficiency based on my experience with it, how long it has been since I last used it, and also how much more there is too know.
This is my self-assessment of proficiency following the Common European Framework of Reference for Languages (CEFR).
I have been involved in different youth groups in my parish, taking various roles. Between 2007 and 2018, I taught the catechism to children with ages between 9 and 15. During retreats and similar activities I was part of the team who was entrusted with the participants's children, with ages between 1 and 12. We not only looked after them, but also adapted the contents provided to their parents for them.
I often organize and help in small events on my parish, most of them for fund raising. Among those events are bake sales, youth song contests and prayers.
On occasion I have helped organize larger running events, with about a thousand participants, doing various tasks such as sorting the bibs, handing them to the runners, setting up the hardware and software of the transponder timing system, leading a team of volunteers and general resource and people management.
Whenever possible I like to attend conferences about Mathematics and other topics to broaden my knowledge. I also like to take part in discussion-oriented meetups.
I have been exclusively using GNU/Linux since 2007 (mostly Debian and Arch) and I consider myself semi-competent using its resources. I also run a Debian server which runs my personal email and a handful of scripts.
In 2016 I organized a talk by Richard Stallman, which about 200 people attended. I'm previous a member of the executive board of ANSOL - Associação Nacional para o Software Livre. It is a national association that promotes Free Software, in the image of FSF and FSFE.
I had piano lessons for 10 years and I also studied guitar more informally. I have played guitar and sang in church choirs since 2008.
On my free time I like to go to board game gatherings and I also organize board game afternoons and evenings at my home. I've also contributed to open-source implementation of board games and organised tournaments.
I am certified in providing first aid (Emergency First Response) as part of my scuba diving training (PADI's Master Scuba Diver).