Domain was cheap and hosting's free.
I like music and computers and that's it. I've finished my Masters Degree in Computer Engineering in University of Aveiro and my thesis work was in the field of Cloud Native 5G Networks, with the title: Dynamizing Private 5G Edge Deployments [Link], and had my first paper published: Flexible Aether Slice Provisioning for 5G Enterprise Connected Edge [Link]
Since then I've been working at IT Aveiro, still within the 5G and Cloud Native realm, and expanding my programming and orchestration knowledge in my free time.
Name | Description |
---|---|
Advent of Code - Golang |
The meaning of project gets a bit stretched with this one, but it's basically my attempts at solving the various Advent of Code daily Christmas challenges throughout the years using Go. The purpose of this is to get me more familiar with Go, by trying to approach each daily challenge in a Go idiomatic way, rather than a leaderbord/competition focused way, as is usual with the AoC challenges. |
C-Edge CLI |
Command line tool to streamline the most common use-cases of the Aether Runtime Operational Control GUI. This project aims to create a set of more high-level commands using Aether's API. It's written in Python and uses Click as the framework for the command line interface. |
Aether and UERANSIM |
Thesis project to instantiate, configure, manage and monitor multiple edge sites from a single central site, aggregating all the network operations in a single point. Being a Cloud a Native 5G Core, the network orchestration was done utilizing Kubernetes & Helm, in conjunction with ArgoCD to further streamline and centralize the network deployments. This project leveraged Aether, which is a private 5G network platform, which uses SD-Core for the 5G Core implementation. The RAN, which validated the scenario, was carried out both simulated (via UERANSIM) and with two Huawei P40 smartphones. |
Lane Merge Simulator |
Project meant to illustrate how a fully automized lane merge might be orchestrated between vehicles exchanging ITS-G5 messages, using NAP-Vanetza as the mechanism of delivering messages, Python for the overall simulation and merging algorithm, and Flask for the web page presentation and user interaction. |
Wifi Monitor |
Visualization of space occupation on University of Aveiro campus through an heatmap, with the ability to create a campus-wide timelapse of space utilization throughout the day. The values are derived from the number of devices connected to the network, thus only giving an approximation of the real number of people. |
Sokoban Solver |
Sokoban puzzle solver using Python and A* pathfinding algorithm to find the sequence of movements that result in the completion of any given puzzle level. |
Language | Level |
---|---|
Python |
Proficient |
Go |
Intermediate (Work In Progress) |
Shell (Bash) |
Intermediate |
Java |
Basic |
C/C++ |
Basic |
Software | Level |
---|---|
Kubernetes |
Proficient |
Helm |
Intermediate |
Git |
Intermediate |
Docker |
Basic |
Flask |
Intermediate |
Given that I interact daily with two 5G Open-Source Cores, SD-Core(& Aether) and Free5GC, I should mention them here, since their category doesn't really fit any of the tables above.
My familiarity with the Aether project and its 5G core is high, much due to my thesis and paper. Because of this, some PR's were also accepted upstream to the Aether Deployment repo on Github, more specifically, to the Aether Management Platform repo.
My current daily driver is a Macbook Air M2, but for many years it was an Ubuntu laptop. As per my work, everything is Linux, and for the most part, Ubuntu too, which helps me not lose the experience I gained on Linux, and actively encourages me to dive deeper within the Unix system.
Workflow wise, when it is work related, it is all Vim, for quick file/code edits and Bash, for scripting. Given the nature of the tools I work with (microsservices), everything is containerized and running in multiple Kubernetes clusters, which makes me work with tools like ArgoCD, Grafana & Prometheus, etc...
As for personal time projects and coding in general, in any setting, I use Neovim (which I setup like the image below), and when required, I also use DevSpace , which allows me to code directly inside a container running on a Kubernetes cluster, by syncing my local files with the ones on the container. This is of immense help when i cannot fully replicate the full scenario of the server cluster in my local Macbook cluster.
Because of that, I'm starting to have a more terminal-centric workflow. I can do quick internet searches from the terminal, to quickly look-up information and copy-paste if needed. I've also implemented an [AI query](https://groq.com) into my terminal via the alias `??`, which allows me to communicate with it very fast and get the answers I want even faster. AI is here and its akin to the coming of the calculator IMO lol. Don't use it as a substitute to knowing the basics/fundamentals of anything, but DO USE IT as a personal assistant, a Google search results formatter and aggregator. It is the future and it has increased my productivity immensely.
My setup has autocomplete and documentation preview, both provided by the LSP plugin, as well as file browsing, given by Telescope.nvim, with some more other stuff like autopairs/git status and so on. All of the plugins installed are in my dotfiles repo.