2017 has been an incredible year for me with lots of opportunities, but many challenges as well. In the spring, I got a (lab) teaching opportunity for a 50-student Measurement & Control of Biological Systems course, culminating in 17 teams making maze-solving autonomous robots. There's a higher level of mastery to be attained by teaching others, and in that regard, it was an incredible experience. Teaching, however, is well outside my comfort zone, and in that regard it had some difficulties.
In the summer, I was able to work on a Google Summer of Code project/pseudo-internship. Working in a mix of Python and C++ was again an interesting challenge since I'm much more familiar with the former than the latter, and even my experience with other languages lies on the Python side of the interpreted/compiled, dynamic/static typing divide. Still, it was an invaluable experience since C++ rules the domain of finite element analysis and computational fluid dynamics, which I want to explore further. Particularly, FreeCAD is the perfect vehicle for engineering computer modeling, so I have high hopes for my future with the project.
At the end of the summer, I passed the exam for the Linux Foundation Certified System Administrator. This was an opportunity provided by a scholarship given in part because of my work using Python to analyze the efficiency of backyard irrigation systems in the Yucatán back in early 2016, so it was great to finally see the culmination of that work. As a little celebration project, I decided to begin running my own Linux mail server, which has been a great success. There were a few hiccups with blacklists on Yahoo and Outlook, but I was ultimately able to get it working with all the major email providers.
I also embarked on a project I've been wanting to do for a long time: running my own Linux router. I found a great series of tutorials on setting up such a router using Ubuntu and the Pine64 board, and have had excellent results since.
I have also been spending time here and there researching a really promising project, FreeIPA. It's a sort of competitor to Active Directory in the identity management space, mostly made up of a combination of an LDAP, Kerberos, and certificate server. I'm running a sort of pseudo-small business in my home network using my FreeIPA server as a centralized authentication, authorization, and identity server, and it's been a great experience so far; I hope to apply it in reality with the FreeCAD project one day. Look out for future posts on the topic.
In the fall, I began my final year at Texas A&M. My capstone project and team was assigned. Our project involves analyzing the flood resiliency of the Houston area and proposing an ecological engineering design to improve that resiliency and mitigate the effects of future extreme flood events such as was seen during Hurricane Harvey. We are using an open-source toolchain involving PostGIS, Python, and QGIS, and the project is really quite exciting since our analysis could be applied to other coastal cities and regions facing extreme weather events in the future.
Altogether, it's been a great year, but I foresee 2018 being even better. If you're reading this, I want to wish you a happy new year with hope for the same!