The standard options for formatting strings in C++ are, frankly, annoying and cumbersome. Yesterday, I found a nice solution: fmt (formerly known as cppformat). Fmt is a ligthweight library that allows you to use a syntax that is very similar to the string formatting mini-language supported by Python's str.format() function and the Rust language's formatting syntax.
Somelight is a Python module that I wrote to assist in garden planning—particularly plant placement—by computing the daily sunlight exposure at a specified set of points. The user simply specifies the shapes of nearby objects that can potentially shade their garden and then uses Somelight to compute the sun exposure on a specified date (or range dates).
I am reserving this spot to put links to Python pages that I often reference. The things I put here are bits of syntax (for Python itself and library APIs) that are easily forgotten. For example, the string formatting mini-language is something that I have trouble remembering, so I refer to https://pyformat.info/
This is intended to be a brief summary of the basic knowledge and skills needed in order to maintain the NebulOS cluster at UC Riverside, starting at a low level. More generally, this is a concise roadmap (or outline) for Ubuntu Linux system administration. In this roadmap, I will point you to resources that can be used to learn more. The purpose of this is not to explain everything in detail; it will merely get you started. Note that some of the things mentioned here are specific to Ubuntu or Debian-based operating systems, so this isn't exactly a general Linux system administration roadmap.
Wormhole uses the Linux kernel's inotify functionality to react to filesystem events. More specifically, it watches a directory and performs user-specified actions on any files that are moved into or written to the directory. Once the files are processed, the results are stored in another directory. Wormhole was initially developed to provide a means of automatically compressing files before they are transferred via NFS, and then decompressing the files after they have been transferred.
When I was a graduate student, I started a research blog at my personal website, idius.net. About one year after completing my Ph.D., I created nrstickley.com as a professional profile / résumé. I will now continue the blog here. I may eventually import some of the old posts into this blog, but until then, readers can refer to http://www.idius.net/my-research/research-log/ for older posts.