I don’t know if you heard, but there was a pandemic. Quite early on in all that I may have been overly optimistic, and figured it wouldn’t last much longer. I interviewed before it all started and figured why miss out on this new opportunity when it will all be over soon. A lot has happened between then and now, I half wrote several posts I never completed, short version is we were allowed to move, then not, then were again, moved, the program I was hired into was dissolved, new one created, I was suddenly in a leadership position but not for what I really do, did that for quite a while, reinstalled hundreds of systems, petabytes of data, another reorg, now ostensibly closer to doing what I do leading a new group and we are at Easter nearly three years later!
So, you might ask, how is it going? It has been a lot and I will admit to losing focus at times! I recently looked at my GitHub profile and realized my activity is lower than ever and I haven’t done anything major in open source since moving. If you look really closely, you might notice me picking things back up in the last few weeks a little. I have also been reading a lot about new developments in C++, CMake, binary representations, hardware accelerated APIs and efficient transport of data. I spent a while fixing some things in Avogadro 2 that were broken while I was away, along with adding a feature of two I had been wanting to look at for years.
As you can imagine it has been tough being taken away from my core passions, to do work that needed to be done but nonetheless isn’t aligned with my career goals. I have learned a lot of new skills, I think one of my greater failings may be that I am very adaptable!!! I used to dabble in Ansible to get Docker containers configured, whereas I have now written many lines of YAML to automate a great many things over hundreds of machines. I am one of the people working to secure machines, and am much more adept at jumping through various hosts, using hardware backed security tokens for two factor authentication and SSH-based access. I had to help take KDE away as we switched over to RHEL (don’t worry, I still run Arch on my stuff).
Doing all of this through the ups and downs of the pandemic, challenging conditions where onsite access is needed. I learned how to rack machines when they were just forms in a cloud provider console before. I have access to A100s and high end machines with fiber connections and all that good stuff. At my core I remain the hacker I have always been, wanting to sneak off and write code, look at new libraries, the latest chipset revision and make things go faster. I read a post (and have since lost the link) where someone referred to herself as an elder millennial and it really resonated. I think that is me, impatient, always wanting to make it go faster whatever it might be!
Are We There Yet?
As signs of the pandemic winding down make me hope we might finally be done I have also spent much longer thinking about where I want to go. My family and I all love life on Long Island and the fact we have so many nearby beaches including one we can walk to in quarter of an hour or so. The cost of living is certainly higher than upstate, but there are a lot of the things we all wanted. We even have a few restaurants and shops within walking distance, not trying to brag but something we had kind of ruled out as unlikely. Virtually no snow this winter was amazing too, not dropping below freezing for more than a few days in a row is magical after years in upstate!
As I began peeping out I have seen a number of things I had lobbied for or wanted to see come to fruition. CMake will let me use JSON files for presets, C++ module support is coming along, new languages continue to develop and there are compelling binary formats with open specifications that can be implemented across languages. It took me a while to reorient, but I got a few things going in Avogadro, and have a number of changes I want to get in there. I updated my blog, static is cool, but don’t listen if people tell you it is maintenance free! I have a few experiments I want to work on. There is a cool embeddable database called DuckDB I really want want to play with, along with Apache Arrow which has a number of C++ libraries for binary data storage, network transport, memory sharing. I think it could be way better then the JSON-RPC thing I added to Avogadro years back depending on how the dependencies work out.
I tried to be more of a Python developer, and have done more things in Python than I used to. I like the language, but ultimately realize I am much happier and more engaged working in C++. I like the challenge of the build systems, keeping dependencies lean, incremental builds, thinking about memory layouts, having all the checking the compiler does for me using all the language features at my disposal. Don’t get me wrong, Python is a great language and I will happily use it but it is also beholden to finding clever ways to use C, C++ and Fortran to do anything “big”. Not at all trying to get into language wars. I moved from a C++-centered group that did a lot of Python to a very Python-centered group that uses a bunch of code wrapped in Python and it was more of a change than I had expected.
Wrap It Up
I am hoping to get back to writing more frequently, both posts here and code over on GitHub. I will do some of that in my own time and will hopefully get more of my professional time to dedicate as the focus shifts there to scientific data analysis and visualization. I haven’t forgotten Tomviz either, and I was just talking to people the other day about supercomputer access for some workflows using GPU acceleration. Looking forward to warmer days and some time at the beach too!
Migration to Qt 6, OpenGL core profile, maybe better yet Vulkan, C++20, the new string formatting in C++, and of course I should start posting about the latest thing I asked ChatGPT or Bard I guess?!? I have largely quit on the socials in the last year, don’t get as much out of it as I once did. I may return some time, but focusing on more one-to-one and maybe a little broadcast of ideas here. It is quite possible no one reads this and that is OK by me too ;-)