I haven’t written a single entry recently as I was very busy polishing my Python and tcsh scripting skills. Many apologies for that! Meanwhile, I am trying to assemble a simple NAS (Network Attached Storage) from the many bits and pieces I have at home. Quite the task, I have to say. Despite my daily job being extremely time-consuming, I try to hone my programming skills as much as possible to join the vast open-source community of developers and finally make a difference. Not to mention all of the badly written code that’s been around for ages.
As such, I decided to focus on Python as my primary language. It’s extremely simple, has a clear and easy to comprehend syntax and currently there is a significant need for it. As my second language I will probably pick C or Java, though I’m leaning heavily towards C. Java is highly portable and will allow me to produce APIs and software also for mobile devices, though it will not get me much more than I already have with Python. On the other hand, C and C++ complement Python wonderfully. That’s the most common combination – Python for program’s logic, C/C++ for algorithms and engines. Many consider Python to be slow, though it matters not if all it does is just link the input to the number-crunching C code or provide a UI for improved easy of use.
Currently, my platform of choice is the FreeBSD operating system. It’s great for servers, especially when data protection is vital, and has a reasonable selection of tools for virtualization. Unfortunately, it’s not really that popular among OSS developers. Much of the enterprise class software seems to be designed for, well, enterprise class GNU/Linux distributions like Ubuntu Server, SLES (SuSE Linux Enterprise), CentOS or RHEL (Red Hat Enterprise Linux). That’s entirely fine, though if I want to get a well-paid job I have to make the switch. systemd bothers me greatly and I feel the GNOME way is merely the flashy, eye-candy way. However, since we all more or less enjoy the boons of capitalism, money comes first.
The good thing about working with FreeBSD is that one learns a great deal about Unix system management and this knowledge can be easily applied to other Unix-like operating systems such as GNU/Linux. In addition, I intend to transfer some of the tools like tcsh and Emacs to my new environment. I will keep the FreeBSD installation on a separate computer of course and still use it when possible. For software development I will switch to Fedora and later on to CentOS as this is also what my current computer lab uses.
Fedora does a really good job at promoting open-source software and it’s definitely geared towards developers. Some of the attention goes to bleeding-edge experimental software like Wayland, though a more conservative approach is still possible, especially with its cousin CentOS. I hope my experience with Fedora works out fine.