List of side projects

This is meant to be an evolving list of hobby projects that I’ve worked on and made available online in some form. I link to a few of these directly from my homepage, but I think it will be more realistic to keep track of things in a blog post that can be updated without fuss.

Items are placed in alphabetical order.

  • abjadcalc.com: A simple tool to calculate the numerical abjad value of a string of Arabic or Persian text. Unlike most of what I’ve developed, this seems to have a number of users. I occasionally get email feedback from strangers, and fellow researchers have told me that they started using this utility before knowing that I was behind it. I have some updates planned, but not yet the time to implement them. (GitHub repo)
  • arabic-font-tests: A page that allows for testing the performance of a number of Arabic-script Google Fonts. I have often found that what I want from a web font for Arabic or Persian—for example, robust support for diacritics—is frustratingly difficult to come by. There are a lot of interesting display fonts out there nowadays, but if you need something really strong for general usage? Good luck. For a long time, I’ve relied on Scheherazade from SIL, and that’s still my favorite. In my review of other fonts available through Google’s service, I was particularly impressed by Markazi Text. Anyway, it may be that the test cases I developed will be of use to someone else. (GitHub repo)
  • charpick: A very simple character picker, with which you can copy any of a range of characters commonly used in the romanization of Arabic, Persian, and Turkish. If I’ve missed something, let me know, and I’ll probably be happy to add it. (GitHub repo)
  • doomsday: The Doomsday algorithm is a way of determining the day of the week associated with a given date. For each year, one of the days of the week will be “Doomsday.” Once you have that figured out, you can use a few simple mnemonics to calculate the weekday for any date in the year in question. I just built a tool to make the process easier, and to remind myself of the rules. (GitHub repo)
  • dozenal-time: A page that shows the current dozenal time, albeit in an unusual manner. The idea is to use a progress bar for each time unit, to produce a visualization that may be more intuitive than the typical dozenal clock. The top progress bar runs from midnight to midnight, i.e., the full twenty-four hours. The next unit in dozenal time reflects a “phase of day,” equivalent to two hours in conventional timekeeping. Next comes a unit that I compare to a coffee break, equivalent to ten conventional minutes. Finally, there is the “dozenal minute,” equivalent to fifty conventional seconds. With the progress bars representing the movement of these units, one can get a sense of how a dozenal time value corresponds to a point in the day. (GitHub repo)
  • kam-sala: Intended strictly for amusement, this tool lets you “encrypt” a string of Arabic-script text by using a simple substitution cipher that was common in the Persianate world in (at least) the late medieval and early modern periods. Please never rely on security through obscurity! My curiosity about this cipher began when I saw mention of it in a Persian treatise on calligraphy from the tenth/sixteenth century. (GitHub repo)
  • muqawwim.com: A calendar converter utility tailored to the needs of historians of the premodern Near East. I adapted the core of this from work by John Walker, and have refined and added to it over time. As someone who studies (among other things) Safavid historical texts, I’m particularly glad to have an easy way of checking the “animal year” associated with a given date in the Islamic calendar. This tool, like the abjad calculator, has some users—or so I’m told. (GitHub repo)
  • persian-meter: A little program that attempts to detect the meter of a classical Persian poem, implemented in Rust. This remains in an incomplete state. It was mostly something that I worked on when I was at the beginning of my journey to learn Rust programming. (GitHub repo)
  • reed-archive: During grad school, in my exploration of leftist thought, I got into the writing of Adolph Reed. I found that a few of his classic essays are not as easily accessible online as one might imagine. (Depending on the publication, there is also an issue where some of his work could have benefited from more/better copy editing…) Anyway, I started keeping my own copies of Reed’s essays, and eventually I put a handful of them online—on a site that I don’t share widely. If I think that a friend might be interested in one of the pieces, I can send a link. I haven’t updated this collection in some time, and I’m not sure what I’ll do with it over the long term. (GitHub repo)
  • scour: It drives me nuts when I have to copy text from a source that I don’t control—e.g., bibliographical data from a library catalog entry—and paste it into a document that I’m writing, and I end up with some mess. Over the years, I got used to pasting first into a buffer that would reduce everything to plain text and thereby limit problems. My go-to was TextEdit on macOS. I later developed this little utility, which runs in the browser and offers a few more quality-of-life features, such as eliminating extra whitespace. I don’t know if anyone else will ever use it, but I turn to it on an almost daily basis. (GitHub repo)