My Path to Making Open Source Software

I’m the kind of person who has a passion for computers and technology: since I was a boy I wondered how things work. Looking back, I can recognize some important milestones that made sense in my life and it relates to me with this world. I have pursued software development in school and in my career, working as a Python programmer, Django web site maintainer, Arduino hacker, and GNU/Linux administrator.

In Childhood

When I was a kid in the 1990s, my parents bought a computer to improve their work and paid for a basic internet connection via modem. My mom was used to working in front of the computer; she used to wait for a long time to get a web page loaded.

I remember asking myself “What is this thing?” At that time I had no idea about the great work by geniuses and pioneers of computers and electronics—I was just a curious boy, like many others.

High School

In my last years of high school, some of my subjects were related to electricity and electronics. I took an introductory course in that field, but actually, I was not very interested in Faraday’s Law no sooner than electronics caught my attention. Fortunately, the informatics class had a programming course, all about flowcharts and visual basic programming.

At that moment I realized that I was much more interested in programming than other subjects, since I was able to tell the computer to do something I wanted. But first I knew I  would have to learn “how to talk” with it. That’s pretty much the key to my future path… 

University

Time passed, and I decided to study systems engineering. Honestly, at first I failed programming and didn’t understand math. Later, I enrolled in another university and this time was able to pass!

The fun part is, when a friend of mine called José O. V. had helped me with a common task, he told me: “We can do it better by using something called Ubuntu.”He taught me the philosophy behind the project and basic installation I really enjoyed that experience—it was something I’d never seen before; but mainly, I was happy because I was using a computer in a way that best suited my needs.

This moment with a friend highlights the importance of help and support from the community when you get stuck or things are broken and no one around you knows how to solve it. Imagine me as a young man getting info from manuals, visiting forums, searching on the web, and so on. I learned about sharing with others the knowledge in a particular area, experience gained, tools, tips about how to fix issues, etc.

My actual open source journey started in 2009 with the Ubuntu 9.10 Karmic Koala version. After that, the parent project and the open source software community elicited my attention; those were my fundamental basis.

At the same time, in university, I learned to program in Java, Python, and a very little C++. My favourite subject was Operating Systems, because it pertains to Unix and the Linux kernel world.

I used to code Bash scripts to automate tasks and type in the command line for system monitoring. Most of the time I was focused on distro hopping and desktop environment tuning.

Also, I participated in some programming contests, and with a classmate named Magaly, made a project to help children with disabilities recognize and learn objects with the use of aromas; for that, we implemented a prototype using Arduino. For my thesis project, I worked together with my partner Liliana to implement a robotic assistant with Raspberry Pi.

At Work

My first job was at Cátedra Unesco Assistive Technologies for Educational Inclusion. I needed to implement a small infrastructure to host the projects. To complete this task I set up a Proxmox hypervisor to handle containers and virtual machines with an appropriate GNU/Linux server distro on top.

At this point, I learned useful tricks and tips about server management tasks such as installation/configuration, storage management using RAID and LVM, and reverse proxy redirection using Apache Guacamole to retrieve virtual instances remotely.

I also implemented a basic web application using the Django framework. I used the Godot engine for interactive application development with the help of GUI interface design, and the GDScript language to control robotic assistants for educational projects made by my teammates.

2020 has been a very difficult year because of the COVID-19 pandemic. Despite that, some students where I worked had the opportunity to get a virtual instance inside the server to continue with their studies.

Months ago my contract expired, but I continued using Django for another project related to web accessibility. As you can see, “libre and open source” software have been a great tool in the academic area, but mainly and most importantly to help others improve their lives.

Today

I’m continuing my learning and am applying for a Linux or Open Source Certification. I would like to contribute to an open source project related to GUIs or desktop environment development.

Top Utilities and Applications for My Daily Use

As a desktop environment that lets me concentrate on my work, I’ve installed Ubuntu with GNOME (vanilla flavour), the PyCharm IDE for development, Bash and Python for common system tasks, Mozilla Firefox as the web browser, LibreOffice for an office suite, GIMP and Inkscape for image editing, draw.io for diagrams, and Git as a control version system.

About Carlos Contreras Alvarado:

Carlos Contreras Alvarado is a systems engineer who enjoys biking, reading books and camping in nature. Finally, he has to acknowledge the people and community who work hard every day to make this world a better place. For every possible use, he urges readers to install and support open source software.

Leave a Reply

Your email address will not be published. Required fields are marked *