2026-06-06 01:00:57

I love Best-o-Masto, my iPhone app for browsing the most popular posts in your feed, but I'm not always on my phone. That's why today I'm happy to announce Best-o-Masto is available on the web and you can use it from any device. This also makes it available to Android users, which the iOS app obviously wasn't.

For those who don't know, the concept of Best-o-Masto is that Mastodon does not have any algorithmic feeds to surface the most notable posts in your timeline. That's fine and is likely one of the sources of the more calm vibe on the platform, but it also does mean that if you want to find all the notable posts when you sign on once or twice a day, you have potentially hundreds of posts to sift through and if you don't, you're liable to miss notable things that you would have wanted to see.
Best-o-Masto is not an algorithm for your Mastodon feed, but it does do a very simple query of the last few hundred posts in your feed, source them by engagement, and just list them from 1 to 30. You can like and boost posts directly from the interface, but I have not implemented any posting functionality. So if you want to reply, you can click the reply button to open the post in your instance in a new tab.

Another thing of note is just like the mobile app, the service will only update once every hour. This is not meant to be a place where you watch new posts coming in or that you can obsessively refresh to see new stuff. It actively does not want you to spend all day on it; the whole point is to get you in and out quickly.
Best-o-Masto is 100% free, both in terms of ads and cost. I hope you enjoy it.
2026-06-05 00:44:08

For the last few months, I've been running Quick Tier List, which is a very simple but I thought nice to use tier list website. We've used it quite a few times on Cozy Zone, and I've made some improvements to it that make it easily the go-to choice for us. And based on my analytics, a decent number of other people are using it as well.
One of the limits of the site was that everything was stored locally, though. There was zero cloud component at all, and the website was effectively just a static HTML file. This was great for me because it was simple and required zero cloud infrastructure or costs beyond serving up a bunch of CSS and HTML. All the images were stored on your local device. Simple.
However, the stud did come with downsides. For example, your lists would not sync across browsers or devices. Also, you were only able to work on one tier list at a time. There was no way to save them for later or work on several that you might be planning to do in the future. You just had the one.

I was really happy with the experience I was able to build on the old site, so that is effectively unchanged in this new version. As you can see from the above screenshot, the experience looks basically the same.
Avid users of the current app will notice a few changes near the top though. The list has a name, and there are two navigation buttons at the top left that indicate the existence of a list of tier lists as well as the ability to create a new one.
Let's click to see my lists.

As you can see, I'm signed into the site and I have two tier lists saved that I can go back to whenever I want. I can create new lists, and in the current rollout, every user is allowed to create up to 20 lists and use up to 50 megabytes of images stored to the cloud.
You'll also notice the beta tag, which I'm labeling this as right now because I'm working out kinks. I would also like to implement a paid model that allows for expanded use for those who need it. For the time being, I've tried to set free limits that are within reason but are unlikely to be hit by most people.
I should also state clearly that you do not require an account to use the website. If you liked the old model and wanted to do everything locally in the browser without any sync or giving me any information, go for it. This is what you'll see if you just don't log in.

Yep, basically exactly what the old site was. The only difference of note is up at the top right. Once you start adding images, you can save that tier list, and that will of course require you to create an account and sign in.
Oh, and if you were in the middle of a tier list on the old site, I tried to make it so that all that info will carry over to this new version. Just click "start ranking" on the home page and you should be taken to right where you left off.

I still don't want to store any passwords, so this service uses a MagicLink system to sign you in. Don't worry, you should stay logged in for a very long time, so don't worry about getting these emails too often.
And because I think welcome emails should reflect the tone of the service, therefore, I've made a fun little email template as well.

I hope you enjoy the new version of the app! If you're someone who liked the app, but has always wanted to work on more than one list at a time, today is the day you've been waiting for.
One more thing, the old version of the site was open source, and it remains so, it just won't be getting any updates from me going forward.
2026-06-04 06:18:55
I wish there was a counter running that told me how many screenshots and screen recordings I've taken over the years, but I'm into the tens of thousands easily. As a passionate Mac screenshotter, here are my keyboard shortcuts for the Mac that I think you should copy to have a 10x better computing life (not guaranteed).
CMD + Shift + 3 Capture the whole screenCMD + Shift + 4 Capture an areaCMD + Shift + 1 Capture the last screenshot area againCMD + Shift + 2 OCR textCMD + Shift + 6 Start a screen recordingCMD + Shift + 5 Bring up CleanShot's all-in-one capture UIAnd that's it, your life is now 40% better and you're 10x more productive. You're welcomeeeeee.
Seriously though, these are good shortcuts and I love them.
2026-06-02 19:30:46
As someone who did most of the jobs Marques talked about here for college basketball (and football and vollyball) years ago, this video really resonated with me. I've been out of the game for about 12 years at this point, but in a way it's heartening to see that a lot of this looks pretty similar to how it worked when I was doing it. You know, just higher resolution and more of everything.
Also, I think we all generally understand that the players on the court are the best of the best, but also everyone making that television production happen are also the best in their fields as well.
2026-06-02 07:00:17
2026-05-30 21:01:35

One of the key features for a read later service in my mind is a text-to-speech feature, and while that was by far the most difficult thing to implement in Quick Reads, I'm really glad it's there and I use it every day. However, I did want to give it some love and improve the experience to really be top class. Here's what's been updated recently.
I don't know who did it first, but a few services do this thing where they will have a different voice read out block quotes for you. So that while you're listening and not looking at the screen, you can easily tell that it is not the author you're listening to saying this. It is something they are quoting. I follow a lot of blogs that do links like this, and this is really helpful.
This feature just rolled out today.
One of the challenges with doing text-to-speech is latency. If you pass in a full article to a text-to-speech engine, it can take several minutes in some cases for the full article to be processed and returned to me via an API request. Obviously, I don't want to make users tap listen and then wait five minutes to actually hear it, so Quick Reads has some logic implemented that breaks articles up into much smaller chunks and makes sequential requests to get those chunks of the article back. You can actually see this in the user interface on the web as you'll see how many chunks the article was turned into and which one it's currently loading from the text-to-speech service (Async).
If you'll allow me to get into the weeds a bit here, text-to-speech is more natural the more context you can give it for each word that's being said. So you don't want to break it into a chunk for every single word, for example. So you need to find a happy medium where you can get the latency to a good place, but you're also giving each chunk of text enough context for the engine to know how to enunciate through everything. I won't bore you with exactly what logic I'm using, but effectively what I've done in the last couple of days is reduce the size of the chunks early in articles so that you start the audio playing back quicker. Which, in most scenarios on most network connections, should lead to a smooth experience. Kind of like how Netflix sometimes starts streaming at a slightly lower resolution until it can buffer higher resolution video a few seconds later.
Amara is a new voice available in the service, and I think it sounds really nice.
I've added a masculine or feminine label to each voice to give users an idea of what they're going to get before they click the preview. There's only six voices now, but I suspect this number will continue to creep up, and letting users filter by whatever vocal character they prefer will be more and more helpful in time.

This week I made some updates to the general UI of the web app, and those weren't reflected in the now playing modal. So I've implemented some changes there to make the buttons use the same format that we have elsewhere. I hope you all enjoy this update because I really enjoy how tactile the interface feels now, and I've normalized how buttons work across most parts of the UI.
This one doesn't really matter, but I updated the vocal previews that play in the settings page when you're getting an idea for what each voice sounds like. There was nothing wrong with the preview that they had previously, but I wanted to make sure it was clear that these were specifically for Quick Reads, so I gave the service a call out in the sample.