Yesterday was Friendship Day, though almost nobody actually celebrates it on that day, and is a literal Hallmark Holiday, created by the company’s founder Joyce Hall. It was also, apparently, International Forgiveness Day, though I can’t find a legitimate reference for it. This is also the best of the August holidays, so they’re going to slide awkwardly downhill from here.
Oh, well. This week, you’ll notice a bit of a theme on what I got done, which makes this a much shorter post than usual.
There wasn’t much code involved, but I messed around with the analytics system and made sure everything was GDPR-compliant. I think the law is ham-fisted, myself, and don’t need to care what happens in the EU, but if it makes someone more comfortable spending time on the site, it’s worth the trouble.
At least, I think I got it right. One way stopped all incoming data—including bots—so I assume that one was wrong. But I only really check the analytics to see which pages get traffic (since those topics might warrant more attention) and where people are coming from (because that interests me).
On Saturday morning, the first issue of the Entropy Arbitrage Newsletter went out to subscribers. If you haven’t subscribed, you can see what you’re missing here and then sign up over to the right or at Mailchimp.
You can find the code I use for generating everything in the Ham Newsletter repository, named for [the first chimp in space](https://en.wikipedia.org/wiki/Ham_(chimpanzee), given the service that maintains the list.
Less important, but I finally got the profile repository to auto-update with the most recent blog posts. You’ll notice a couple of bogus commits where I tried to tweak things that didn’t matter, not realizing that the problem was the cron job needing more information.
Specifically, the command that runs in the morning executes something like the following.
eval "$(ssh-agent -s)" && cd /path/to/repository && /bin/sh runupdate.sh
eval step sets a series of environment variables that allows the session to access the GitHub key. It then switches to the profile repository and runs the update script. I needed to jump through a couple of extra hoops to make sure the task could use a key that’s otherwise protected by a pass-phrase (since I won’t be waking up to type it in), but otherwise, that’s all that needs to happen.
Note that this produces nearly daily activity on my GitHub profile, which is a good time to remind everybody not to trust metrics like commits-per-day. I assure you that I’m not awake at three in the morning…but my software is, and that’s what shows up on the list, so it looks like I’m suddenly doing more work.
I’ll continue cleaning up the mailing list code. Some scripts still have content specific to me.
Back before I was programming mailing list APIs “full time” (not really full time…), though, I was thinking about some bookkeeping changes to Uxuyu, such as internally identifying feeds by their URL instead of their handles and possibly storing posts for offline use, not to mention figuring out how to package it as an application for other people to use.
Working with APIs also makes me want to look at Twitter. It probably doesn’t make sense to try to generate the Friday posts, but validating that I got the links right wouldn’t be the worst idea.
Alternatively, I may catch up on some of those library updates GitHub has been nagging me about. Eventually, one of them is bound to be important.
Credits: The header image is Friends looking at a smartphone by an anonymous RawPixel photographer, made available under the terms of the Creative Commons CC0 1.0 Universal Public Domain Dedication.
Tags: programming project devjournal
Sign up for My Newsletter!
Get monthly (or thereabouts) notifications on Entropy Arbitrage
posts, additional reading of interest, random thoughts, and previews
of upcoming projects, delivered right to your inbox. I won’t
share your information or use it for anything else.
You can view previous issues.
If you disable trackers (like I do), this form won’t work, so you’ll need to sign up on Mailchimp's site. Sorry!