Entries in category  

Reiterate 1.6.0 release

Version 1.6.0 of Reiterate has been released and is now available.

Debian 12 Bookworm Upgrade Report

I’ve updated the Reiterate server to the latest Debian release (bookworm). Here’s a report of everything I had to do.

Reiterate 1.5.1 Release

Reiterate version 1.5.1 is now available on the App Store!

Using Ansible to deploy new servers

I’ve turned my manual server setup playbook into an Ansible playbook.

Adding Mastodon links to Jekyll

I’ve added Mastodon links to the blog. In the process I created a Jekyll plugin that does all the work.

Custom MacOS Notifications

I wanted Jekyll to notify me when it had completed building my site. Getting it to work the way I wanted involved patching together a bunch of almost-solutions from different places.

How To Filter Journalctl By Unit

Journalctl is the standard way of viewing system logs on Linux. But since the logs from all processes get consolidated in one place, it can get quit spammy if one process dumps a lot of output. Here is how I filter out those bad processes.

Designing a REST API in Swift

Reiterate uses a backend server to coordinate its in-app purchases. The app and server communicate via a REST API. Here’s how I implemented that in Swift.

Creating Custom Bundles for On-Demand Resources

For the new in-app purchase flow, with on-demand resouorces, I needed to organize Reiterate’s products into separate bundles.

Reiterate 1.4.3

Reiterate has been updated to version 1.4.3 and is now available on the App Store.

Transaction Verification with the App Store Server API and Rails

Apple released the new StoreKit 2 API, and I’ve been working on updating Reiterate to use it.

How to Suppress Fatal Logging from Rails Middleware

This bothersome bit of intrusion bot spam has been vexing me for some time, and I’ve finally figured out how to fix it.

Reiterate Website Updated

The Reiterate website has a fresh new look!

Email Obfuscation with Stimulus

Keeping email addresses away from harvester bots is an old problem. I decided to apply some new technology to it.

Dispatch Queues on Modern Swift Concurrency

As part of the Acknowldgement update to Reiterate, I also took advantage of the rewrite to move the app’s core audio code to the new Swift async/await concurrency model.

Reiterate 1.4.0 Release

Reiterate 1.4.0, with the new Acknowledgement feature, is now available on the App Store!

Google Site Issues

I recently discovered that this site has more problems than I knew about.

How to Record a .wav File with AVAudioEngine (Acknowledgement part 7)

Integrating the AVAudioEngine API into the rest of my app meant retooling some basic functionality, like saving .wav files.

How I Backup my Server for Less than a Penny per Year

Backup is one of those administrative tasks that you have to take care of if you run your own server. There’s a lot of options, ranging from just copying all your files to another server yourself, to setting up a backup package, to installing a backup service from your hosting provider.

Acknowledgement Part 6

Speakerphone mode is now working for the Acknowledgement feature!

Comments Enabled

I’ve enabled comments on the blog.

Acknowledgement part 5

Acknowledgement is taking a lot longer than I initially had hoped, but I continue to make progress.

Acknowledgement part 4

I’m currently making adjustments to the acknowledgement feature based on beta feedback.

Acknowledgement part 3

Here is a progress report on the Acknowledgement feature, which is coming along nicely.

New Direction for Acknowledgement

Reiterate is meant to be a tool to reduce autopiloting. One of my greatest frustrations as I’ve used Reiterate is when I’ve finished a game session only to realize that I never heard Reiterate play a single clip. The lack of awareness can be so strong that it masks out the audio prompts Reiterate plays. That pretty much negates the entire point of the app.

How to Filter Bots from Your Nginx Log Files

One thing you learn when running your own webserver is just how unfriendly the internet can be. Within moments of enabling your HTTP ports, malicious bots will immediately start scanning you, looking for vulnerabilities. It’s not too hard to lock things down; you have to be careful and meticulous and always keep up to date with the current best security practices. But that still leaves one problem: the bots make a mess of your log files.

Identifiers and Usernames

What exactly is a username? I came across a very interesting article which goes into detail on what makes a good username.

Server Upgraded to Debian Bullseye

I’ve spent this week upgrading my server to the latest Debian release (bullseye).

Authorio 0.8.5 Released

Authorio 0.8.5 fixes bugs that were found through field testing.

PKCE Fix for Authorio

Authl 0.5.2 was just released, bringing support for PKCE. And that surfaced another bug in Authorio.

IndieAuth Profile Exchange In the Wild

Thanks to @fluffy, Authorio’s profile exchange is not completely useless.

Thoughts on IndieAuth Profile URLs

For Authorio 0.8.3, I made a change to the way it handles user profile URLs, and that forced me to think a little more on exactly what a profile URL is.

Authorio 0.8.4 Released

Authorio 0.8.4 has been released.

There’s no new features in this release, but some under-the-hood changes have been made to the way user profile URLs are handled.

Authorio 0.8.3 Released

Authorio 0.8.3 has been released.

This release adds user profiles. In the latest spec clients can request and receive user profile data. Authorio lets you specify that data and optionally send it upon request.

Authorio 0.8.2 Released

Authorio 0.8.2 has been released.

The main new feature in this release is Local Sessions. You can enable this in the config file, and if it’s enabled you get a “Remember Me” box you can check on the authentication form. This works like any other website you can log into. Checking the box means you don’t have to type in your password for 30 days (or however long you set the session lifetime in the config).

Publishing via Bridgy

Getting Bridgy and Jekyll to work together took a little more effort than I expected.

Twitter Issues

Now that I have my IndieAuth solution working, and I can log in to various IndieWeb sites with this blog, the next step is to set up WebMention.io and Bridgy.

Authorio 0.8.0 Released

I’ve released Authorio 0.8.0 on RubyGems. This is the initial release for the package.

Authorio is the first open source project I’ve contributed to. It’s a part of the IndieWeb community which bills itself as a “people-focused alternative” to the corporate web.