After several months of dormancy in my software development activities I’ve started hitting a solid pace of getting back into the swing of things recently. As much as I wanted the next big thing for me to work on to be something Fediverse related, specifically Friendica, that has created a huge mental block for me. I wrote about that a lot in this post. I’m not a language snob, more on that below, but getting fired up about doing PHP work on that project isn’t happening. I still never got to the bottom of if it was more PHP or the inertia of getting started on the project. It doesn’t matter either way because I wasn’t getting anything done. I wasn’t sure if maybe it was a general lull. I think I’ve answered that question in the negative. So what is this looking like then?
First, I’m getting ramped up on a technology platform that has been very exciting to me but I didn’t have a need to use: Avalonia.NET. This is essentially an open source project that is picking the ball up from Microsoft who has no intention of creating a true cross-platform UI for .NET Core. It takes a lot of architectural hints from WPF and UWP but also makes some of its own improvements. I have some non-web apps for desktop and mobile that I’m interested in. This looks like a cool technology that could make it possible for me to write something cross platform without using JavaFX. I’ve gotten their first tutorial done and will be posting an arcticle on that experience. As I move further through learning about it I’m hoping to have more posts on the usage of Avalonia and perhaps to even contribute back in the form of documentation updates and financially.
Second, I’m looking at getting back into those niche open source projects. There is a project I’m looking to become a part of which will use those libraries. Getting back up to speed on them and contributing to them is therefore organic to that process. Ironically my usage of those libraries was rather stuck, for lack of a better expression, in the workflows that my old projects used them for. I therefore knew of some of the updates that have happened but didn’t fully appreciate how featureful they had become in the last couple of years. I’m looking forward to writing about these aspects perhaps with some tutorials there as well. This started this weekend with pouring over the latest and greatest additions to Orekit and doing a release review for the fork of Apache Math that Orekit uses called Hipparchus. Just getting my hands dirty again on these technologies is getting me stoked about working on them and my potential new project.
Third, I don’t want to become too stuck in a software engineering rut. I want to stay invigorated in the industry. I’m therefore going to start doing what I’m calling “30 Day Tutorials” around specific languages and technologies. The idea is spend time each day for the 30 days learning a new language, framework, technology, et cetera. The idea is to provide a consistent and maintainable pace around something and to get some familiarity with it. HackerRank provides these for languages. I’m using that as a template that I can build from when using this for languages. I’ll come up with a similar scaffolding around technologies. The first of these tutorials will be around the Pascal language. Why Pascal? It was my first high level language but I haven’t used it in any serious depth since the very early 1990s. I have a bit of a nostalgia vibe about it. Also, I don’t want this to always be about the latest and greatest technology and buzzword trend. I think it’d be cool to get familiar with maybe 6502 Assembly Language where I could read some classic game source code or maybe modern PHP to the point where contributing to a project like Friendica doesn’t have so much inertia.