Mastodon Ownership

Overview

A group calling itself “Mask Group” has purchased three of the largest mastodon instances.

Mastodon users, especially people on those servers, should be very concerned.

Why?

There are some things you need to consider about mastodon to understand why this is very concerning.

  1. Large Mastodon instances are expensive to run.
  2. Mastodon is not a good platform for large advertisers for a number of reasons.

This means that by buying a large mastodon instance you are signing up for a very large ongoing cost in a system whose current state is adverse to profit generation for the owners. If we assume the purchasers are not complete idiots there are 2 solutions to this problem.


Rewriting Hey

Overview

“Hey!” started as an Interruption Tracker, and now supports Time Tracking too. It has been through 3 iterations: Chicken Scheme, Crystal, and now Raku. This post is a high-level developer’s diary of what I wrote, why I rewrote it, and what I learned along the way.


How To Receive Twilio Messages In MongoDB Atlas Functions

Overview

There's plenty of documentation about how to send an SMS via Twilio, but very little about how to receive one. Receiving one in a MongoDB Atlas Function involves an extra complication. By the end of this post you'll know how to receive a text in Twilio, and have it successfully interact with your MongoDB Atlas Function. I'll also cover a couple nice-to-have's in Twilio that you'll probably want to set up anyway.


I used AI to generate products & write copy for my store

Quick Summary

I used Midjourney to generate art that I threw on t-shirts, coasters, and almost everything else RedBubble offers. Then I used OpenAI to generate copy for it, and combined that with a handful of custom scripts to generate a product site called Bed Bath & The Beyond.



A Rebuttal to Scaling Mastodon is Impossible

Armin Ronacher wrote that Scaling Mastodon is Impossible

I'd like to offer a rebuttal. As someone who's been doing professional web development since 1995, with most of that time being spent in Rails jobs, or doing Rails work on the sidelines, I think i have a pretty good perspective on the situation. For those who don't know, Mastodon is written in Ruby on Rails.

Decentralization promotes an utopian view of the world that I belief fails to address actual real problems in practice.


A Journey With Midjourney

Exploring an Idea With Midjourney

I haven’t seen anyone talk about what it’s like to try and work with Midjourney, or any of the other Image AIs. No-one has shown just how much work it takes to get from an idea, to the beautiful output we keep seeing.

This post will take you through the journey, from a spark of colorful and strong Native American imagery, depressed cyborgs, to visions of Muslim women, in a dry and trying future.


Private Comments & Your Security

Summary

While leaving “private comments” on a repo can be incredibly useful, it can get you into trouble if the wrong person sees them and disagrees with what they see. This post goes into the problems, consequences, and things that tools that provide this functionality need to do to protect their users from accidental harm.

Some Context

A while ago I wrote a tool called “Private Comments”, which allows you to leave “private comments” on a codebase that aren’t actually in the codebase. Imagine leaving little “breadcrumbs” for the future you that are actually attached to the relevant lines of code, and go away when that code changes, but reappear if you need to look at the relevant past version of it. It can be used for you, or shared with your team.


Recording & Sharing Terminal Sessions

This post describes how to make high quality recordings of terminal sessions that can be replayed in the terminal, or shared on the web. I’m defining high quality as recordings with zero typos, and relatively controlled timing between commands.

to see an example of the type of output I’m talking about.

Why? Videos and gifs take up a lot of disk space, don’t age well as display technology improves, and are problematic for folks low vision requirements.


Raku Signature Errors with Arrays & Hashes

A quick post to help future Raku geeks understand a couple of confusing error messages:

expected Positional[Array] but got Array

and

expected Associative[Hash] but got Hash

These are conceptually the same problem. If you’ve received one of these errors it means you’ve double-specified your parameter by using the @ or % and Array or Hash.

A parameter of Hash %foo says “I would like to be passed something that implements Associative and has a Hash in it.” (a Hash of Hashes). Likewise Array @foo says “I would like to be passed something that implements Positional and has an Array in it”. Yes, that sounds backwards. No, I can’t explain why.