Here's an
update I wrote for my Patreon backers.
Hello, Patreon backers!
Now that your greatly appreciated backing is not (for the time being) paying for godtributes' vision bill, I figure I should fill you in on what you're supporting.
About @godtributes
I applied for a license with Twitter to get access to their webhook API, a substitute for streaming, so that godtributes (and linkfinds) can possibly reply to followers again. That was on August 26. I have not heard back yet.
Recent projects
You can usually get an idea of
what I've been working on here. It's a list of my GitHub projects, from most recently updated to least recently updated. I have most recently been focused on controlling where I write things down in order to spend some time outside of the psychological loops that social media leads the brain into and to be able to get at what I've written now in the future easily, regardless of what other corporations or organizations may do.
Hence, I have a
personal weblog with RSS! I direct most of my writing there, large or small. (If you'd like help setting up a weblog like that, let me know! The posting client is kind of rough, but weblog is light and fast.)
At the same time, I still want to communicate with people on Mastodon and Twitter. Many individual people still have reasons to still be on social media, so I have to meet them where they are. "Am I Muslim? No. But I go where the brothers go" as Ice Cube said. So, I built something to post summaries to Mastodon and Twitter.
The summaries look like this. Every time I write another 25 notes, a process runs TF-IDF analysis on each note, then puts the top few terms from each note into a summary. That way, you get a sense what I'm thinking without every single word being reposted to Mastodon and Twitter.
The thing I wrote to post to the web (with RSS), Mastodon, and Twitter is also used by three bots, Dem Bones, Land of Contrasts, and Hills. (Dem Bones and Land of Contrasts are new-ish bots that I've made this summer. One of them assembles skeletons at random, and the other generates those US-state-specific infographics.)
Here's some details about that.I've also started working in person with a friend once a week on an automated colorer. That is, it takes an image, then tries to color it in as if it were a coloring book. It's invigorating to work with someone in person. We're doing more on it tomorrow.
Here's some output from my Rothko-inspired cats on color fields project so far.
I think I'd like to structure it via my "wandering functions" probability controller. I've written specs out, but if that takes a long time to implement, I'll move on with cats on fields the old-fashioned way.
And now for some dry talk about expenses and infrastructure!
Hosting
Most of my bots and web servers live on two Digital Ocean micro instances. These are computers that have 20 GB of HD, 1 GB of RAM, 1 "vCPU". (vCPU means access to a single core on a CPU. Here's what /proc/cpuinfo says: "Intel(R) Xeon(R) CPU E5-2630L v2 @ 2.40GHz". I have to admit I have no idea how good or bad that is anymore.) Each costs $5/month.
The most important thing is that they have a reliable, fast internet connection, as opposed to the Raspberry Pi I have at home, which does run a few of my bots, like
Self-Tagging Bot and
The Most Successful Bot I've Met.
Recently, I've made an attempt to make my projects, including bots:
- Reasonably futureproof, meaning that they produce artifacts in a medium that is likely to be readable in ten years, like HTML and PNG, rather than Twitter.
- Portable, meaning that, at least their output, if not their operating parts, can be picked up and moved somewhere easily. If a single company goes down or becomes unacceptable to work with, my projects should be easy to take elsewhere. Something that makes this easier is keeping everything from a single project on the same server, rather than separating HTML and media, as is the recent tradition.
This second concern has its costs. I've been running three image bots, Hills Land of Contrasts, and Dem Bones as well as two weblogs on one of my servers, having them write their images to its HD. Last week, the HD filled up! I found some crud to delete and got 3 GB of breathing room, then updated the weblog client to reduce image sizes.
However, I need to either reconsider this approach or get a bigger HD for this server. I could get another 40 GB for another $5 a month, but I'm sure I'd eventually fill that up, too, though probably not for a while. And I'd like to take a break from infrastructure for projects to work on actual projects for a few months.
I think my ultimate strategy will be like this:
- Bots that do not pull from corpuses that could potentially create stuff that needs to be deleted will write straight to some cheap mass storage service like S3 or Digital Ocean Spaces. They'll be backed up to my HD at home daily (hopefully, there's a way to do this incrementally?) so that if there is a problem, I can restore from the previous day's backup.
- Bots that can create things that need to be deleted immediately (like godtributes) will work like Dem Bones does now: They'll make commits to a local git repo on the server. Then, I can go in and revert changes that are bad.
Source control
I pay $7/month for a GitHub account. I think I'd live if I had to host my repos elsewhere, so I don't think I'm in any danger of being locked in. It's just way more work to move than I have time for right now, so I'm staying there.
The thing I do want to do, however, is stop using GitHub Pages to host bot output. Except for Dem Bones, Land of Contrasts, and Hills, they all use GitHub Pages. It's free, but the GitHub API gives me more trouble than I'd like. I have
static-web-archive generating RSS for archives that live in local Git repos, but doing anything when the GitHub API is the store is always a fight, so I'm not bothering with that.
OK! Thanks for sitting through that! Let me know if you want to hear more, less, or if you want details about anything in particular or you just want to say a thing! And thanks again! It really helps to know that I'm doing things for people other than myself.
Jim