When my knowledge portfolio was defined, describing the domains and programming languages I wanted to invest, I embraced it as my Lifelong Learning Program. I put this program into practice by creating GitHub repositories. I have at least one for each programming language that I have chosen and they somehow cover the domains I want to focus on. They are:

  • Digger (Java, Utilities) : An app to help developers to document relational databases in a collaborative way. There are many legacy databases out there and teams struggle to learn the meaning of tables, views, columns and other structures. Digger helps them to keep track of what they know about the database structure. Digger is developed in Java with Spring Boot and Hibernate. This stack was not mentioned in my new knowledge portfolio, but I’ve been working with Java for a long time and Digger is the most mature repository I have in my GitHub profile.

  • Minimily (Clojure, Home Automation) : An app to manage the minimalist life of a family at home. Its controversial approach is based on workload. It means the more I consume the more I have to use the app, thus less consumption means less usage. Tools like Mint connects to your bank account, do all the heavy lift for you and leave only charts for your eyes, without giving the feeling of spending frequency and volume. Minimily requires you to register every single record manually, so you feel you are spending more or less. It does not invade your privacy and does not care about your identity. Since I adopted Minimily I was finally able to buy everything in cash, including my last three brand new cars (one at a time, of course). We also gave a good down payment in our first home and we are able to pay down the mortgage faster.

  • CSVSource (Rust, Utilities) : Rust is the programming language I know the least in my portfolio. So, I’m going to start with a small tool to get familiarized with its concepts. CSVSource is a library to generate SQL statements from CSV files. It has special features like grouping insert statements in transaction chunks and inserting multiple rows with a single insert statement.