newsonaut

Turning inner space into outer space

February 4, 2025

Tapestry weaves RSS and social media, for better or worse

As if the random chaos in your social media and RSS feeds wasn’t enough on a per-platform basis, now you can get it all mingled together in a one big feed.

A new app called Tapestry combines RSS feeds with Youtube, Reddit, Bluesky, Mastodon, Tumblr and podcasts. Even if you don’t subscribe to much, it can make for a massive list. On the up side, it might give you the wake-up call you need to pare back.

Still, if massive mingling is what you want, Tapestry does it about as well as can be expected, with the designers at The Icon Factory making it a pleasure to use. I like, for example, that the platforms are colour-coded so you can easily pick them out. Bluesky, of course, is blue. And Reddit is, well, red.

The new version of Reeder also combines RSS and social media, though, and I’ll be sticking with that. I like its understated elegance and the options to customize the main feed. For example, I follow Techmeme’s RSS, but keep its firehose separate from what Reeder calls the home feed. I allow just one of the subreddits I follow into the home feed.

Both Tapestry and Reeder work best for lurkers. If you like to use social media to socialize, you need to make an extra tap to go the website in the in-app browser. And at that point you may wonder why you used an app in the first place.

The basics of Tapestry are free, but you may be enticed by a universal filter that comes with the subscription. Sick of U.S. politics? Gone! I’d love to see this feature in Reeder. I’m currently forced to use a web service called siftrss that only works on one feed at a time.

Tapestry is available on the App Store for iPhone and iPad.

January 25, 2025

Hyperduck is quack-tastic

I’m a little late to the party with Hyperduck, but maybe you are, too, so I’m spreading the word.

Hyperduck is an app that you install both on your Mac plus one or more other Apple devices — iPhone, iPad or Vision. Once that’s done you’ll find a new option when sharing a web page from one of said devices: “Send to Mac”.

Choose that option, and the next time you’re at your Mac, you’ll see the page sitting there open on your default browser. This is super handy if you want to deal with something later and want it in your face so you don’t forget.

Hyperduck also sends other types of URLs — one that will run a shortcut, for example. There are few things I like better than a good automation, so I’m looking forward to exploring that one. Read this MacStories article to get started.

January 24, 2025

Raging about Siri has turned into a national pastime

We’re getting another pile-on today about how terrible Siri is. It seems there is no end to the number of ways people can find to hate on Apple's digital assistant.

The popularity of this pastime may be catching up with the National Football League. Don't believe me? Just for fun, I created this Google Ngram.

I made the comparison because the latest round of rage started with Paul Kafasis at One Foot Tsunami, who got spectacularly bad results when asking Siri about winners of Super Bowls. John Gruber picked up on this and added his own test at Daring Fireball. Juli Clover reported on the mess at MacRumors. And the Apple subreddit has at least 3,400 comments about it.

So I tried it myself. I asked Siri to give me Super Bowl results the same way Kafasis did — by using roman numerals. For example, “Who won Super Bowl XXV?” Like him, I pronounced “XXV” as 25.

I did this on a 2017 iMac running macOS 13 Ventura, which cannot be upgraded to a later OS, and thus does not have Apple Intelligence. I asked the questions for several Super Bowls while having Wikipedia’s list of Super Bowl winners open for reference.

At first Siri seemed to be doing OK, giving correct answers along with details of the games. But it got worse over time, and couldn’t give any correct answers.

Now, I’m not a fan of the NFL, but I’m pretty sure even diehards would be hard pressed to tell you the difference between, say, Super Bowl XXV and Super Bowl XXVI. These numbers don’t give any context.

So I tried asking the question in what to me seems like a more normal way — by the year in which the game was played. Instead of asking, for example, “Who won Super Bowl XXV?”, I asked “Who won the Super Bowl in 1990?”. A lot of things happened in 1990. The year provides a frame a reference.

Asked this way, Siri gave the right answer every single time.

This is not about making excuses for Siri. I almost never use it. In a case like this, it makes more sense to use Wikipedia or maybe the NFL's website. Still, if posing a question in a certain way doesn't work, why not try a different way? I do this with ChatGPT all the time.

I guess I just wish that if someone is truly interested in testing Siri they would come up with something a little more rigorous. When I read Kafasis’s post, I thought it made for an amusing anecdote, and I'm pretty sure that's what he intended. Looks like others decided to, ahem, take the ball and run with it.

January 9, 2025

The best punch cards are the ones you don't have to punch

TLDR: I made virtual punch cards!

Back in the day at the tai chi club, we used punch cards to keep track of how many classes people attended. After 10 punches, you had to pay for 10 more classes.

Then they put me in charge.

I didn’t want to be rooting around a box of cards at the beginning of every class as I tried to keep track of who had shown up that day. My solution was virtual punch cards on a web page — designed to look old-timey with CSS and using names and numbers fed to it by JavaScript.

tai chi punch card example

But that meant the unpleasant prospect of updating JavaScript after every class, so those cards sat idle for many months. Meanwhile, I looked for a way of keeping track of people taking classes that didn’t involve real punch cards.

My natural inclination was to turn to technology — maybe a spreadsheet or some kind of app. I went through a lot of ideas that were way more complicated than they needed to be. Then I learned about tally apps.

Tally ho

Do a search on “tally” in the App Store, and you will find yourself swimming in suggestions. A tally app basically just counts things for you, so of course it’s easy to develop, and there is a plethora of them.

Still, counting was really all I needed to do. Each person attending a tai chi class is a tally in a list of tallies. If they show up, I tap the plus button beside their name, and thus update the number of classes they have attended.

After trying several tally apps, I settled on one called Tally, by Agile Tortoise, that rises above the rest. It does that with support for Shortcuts.

The Shortcuts app, which comes free with Apple devices, allows you to put together a series of actions which can be invoked with the press of a button.

Jason, meet JSON

The shortcut I made uses one of the Tally app’s own actions to get the tai chi club’s list of tallies. Other actions convert this into a JSON file and save it to iCloud Drive. This is a handy spot for a file because I can easily access it with my Mac.

It needs to formatted as JSON, so I can upload it to our website’s server where JavaScript uses it to spit out virtual punch cards with the correct names and numbers. Yes, it really is just a bunch of names and numbers, but I wanted these names and numbers to be displayed in a way that feels familiar. And punch cards are familiar.

I did this with the magic of JavaScript, but there was still one piece missing. I didn’t want to have to upload the JSON file after every class. It would be more work, and what if I forgot?

The solution was more automation.

I needed a way to take the JSON file from iCloud Drive and upload it the server. If the JSON file is updated by the Shortcuts app, that means that tallies have been updated, and the virtual punch cards also need to be updated.

That syncing feeling

A good old app called FreeFileSync came to the rescue. I showed it where to find the JSON file on iCloud Drive and where to find the equivalent file on the web server. With this information, it created something called a batch run that keeps the two files in sync — double-click it, and it runs.

I didn’t want to have to remember to double-click it, so I created an Automator script that does this for me. Automator is yet another automation app that comes free with your Mac. Again, though, that would mean clicking the script to run it. So I went deep into the bowels of Terminal and instructed a daemon called launchd to watch the JSON file. If it detects an update, it executes the Automator script, which in turn executes the FreeFileSync batch run.

I wish I could have skipped the intervention of Automator, and had FreeFileSync work directly with launchd. Alas, this was taking way too long, and Automator was the easy way out.

The only catch is that the Mac has to be awake in order for launchd to work. It’s a small price to pay, but as an incurable tinkerer, I may yet find a workaround. (Edit: Looks like pmset is the most reliable way of waking your Mac on a recurring schedule.)

To top things off, this whole chain of automation is fired off by a setting in the Shortcuts app that makes the shortcut run when I close the Tally app on my iPhone.

Nerd creds

It seems like there should be an easier way. Ideally, you should be able to do all this from the Shortcuts app on the iPhone. There is a Shortcuts action that is supposed to connect to a server and run a script to upload files, but I could not make it work. None of ChatGPT’s suggestions panned out. Questions left in Apple and Reddit forums went unanswered.

The system I came up with could only be appreciated by an automation nerd, but it works.

December 28, 2024

Explore the indie web with a random RSS feed

If you’re an RSS stalwart like me, you may be on the lookout for cool new feeds. One way to go exploring is with random posts from indieblog.page.

You can subscribe to a daily feed of one, three, five or 10 posts. Or you can go weekly with five, 10, 15 or 20 posts.

I’ve been trying it for a few days now — 10 a day, baby! — and been receiving a steady diet ranging from the arcane to the mundane, with many curiosities in between.

There’s been nothing I want to subscribe to yet, but I’m OK with that. It’s still early days.

Edit 10 days later: I've found about half a dozen that I liked enough to subscribe to. It's been a worthy experiment.

December 26, 2024

Default apps 2024

I joined a trend and listed my default apps last year at about this time, so why not give an update?

A few things have changed.

I now do most of my photo editing with Preview instead of Photoshop. It’s fast to load and covers my simple needs. Take the time to learn its quirks, and it might be enough for you, too.

I’m still all-in with Reeder. It took awhile to get used to the new version, but now I love it.

My main browser is now Safari on both desktop and mobile. I occasionally use Firefox for web development.

I deleted all Microsoft office apps after I moved on from the employer who made them available to me. For word processing or spreadsheets, I use Pages and Numbers. In a pinch, I might use Google’s equivalents.

For budgeting and finance, I use a pretty little app called Fleur. It’s a one-time payment, covers the basics, and works on all my Apple devices.

I still use Bitwarden for password management on my iMac because it's too old to upgrade to Sequoia. But on my iPad, I happily use Apple Passwords.

I've tried out many code editors, but keep coming back to the comfort of VS Code.

For music, I’m actually more likely to use Soma FM.

I don’t need a VPN any more.

December 24, 2024

Here they are — the books I read in 2024

I’ve been tracking the books I read with an iPad app called Book Tracker since the beginning of the year.

The app has an export function, so I was able to get all that data and put it on the web for everyone to see.

The books are in order of how I rated them, from best to worst. If I finished a book with the feeling of “mind blown”, I gave it a 10. Piranesi and The Wager both did this. When Breath Becomes Air almost did it, but was spoiled by the epilogue.

At the bottom are books that I slogged through with the hope that they would get better. They never did. I was especially disappointed with The Night Circus because I had heard it was similar to Piranesi. Maybe in a superficial way, but not really.

I won’t get into the details, but if you want to create something similar, it involves exporting the data as a CSV file, converting it to JSON, and using the JavaScript fetch() function to grab it.

Some of the data was either missing or formatted poorly so I spent some time fixing it up.

December 4, 2024

Your Mac's Shortcuts app can create workspaces for you

So you need to do some work on your Mac that involves opening a few apps. One of them is a browser with a couple of tabs open. You want the windows for the apps placed just the way you like them.

And you want this workspace to appear with a single click.

You could buy an app to do this for you — there are a few good ones out there. Or you could use the Shortcuts app that comes with your Mac. Here’s how.

Before we get started, though, if you’re not familiar with the basics of Shortcuts, I suggest you watch the free sample videos in the course from the incomparable MacMost.

You build a shortcut by dragging in actions from the right sidebar, which can be found by typing in the search area.

Start off by pulling in one “Open App” action for each app you want to open. Click on the word “app” and change it to the name of the app you want to open.

If one of those apps is Safari, you can get it to open tabs with the “Open URLs” action. Other browsers are trickier, and you might have to resort to using an AppleScript snippet.

Now drag in one “Find Windows” action for each app. Click on “Add Filter”. Change “App Name is anything” so it reflects the name of the app you’re working on. The name of the app might not always be clear — for example, is it VS Code, Visual Studio Code, or just Code? A good guide is to use the name in the app’s menu bar. In this case, it is just Code.

Finally, you need to attach a “Resize Window” action to each “Find Window” action. Set this action so it puts the window for each app where you want it — for example, “Resize Windows to Left Half”.

If you’re not happy with the pre-sets for window sizing, you can use Dimension, and give an exact size in pixels. If you do this, you will also need to drag in an action called “Move Window”. This is so you can tell Shortcuts where to put the window after it’s been resized.

Test your shortcut by clicking on the arrow on its title bar. It should open the open the apps and URLs, then move their windows to areas you specified.

To save this shortcut, click on the tab in the right sidebar with an “i” inside a circle. You can pin it in the menu bar, make it a quick action, create a keyboard shortcut — and more. Under the File menu, you can add it to the dock.

Here's how it could be done with Safari, VS Code and Transmit:

November 21, 2024

Shared feeds from Reeder are a neat idea, embeds would make them better

Reeder is a much loved RSS feed reader for Mac, iPad and iPhone. Or at least it was until its latest update.

The new concept was a bit too weird for me — and apparently for a lot of other people as well — so I put off testing it and stuck with what is now known as Reeder Classic. Good old Reeder was good enough for me.

But curiosity about a feature called shared feeds finally got the best of me. So I downloaded the app to my iPad and paid for an annual subscription, which worked out to a little over a dollar a month.

Setting up a shared feed was fairly easy. I created a tag called “latest” and tagged a few items with it. I then went to the “latest” folder, long pressed and had a look at its settings. In the sharing section you can turn on a public JSON feed and give it a name. You get a public URL, which you can share.

Here’s the feed I made. It’s hosted by Reeder’s developer at reederapp.net.

Now, every time I tag an item with “latest,” it shows up in this public feed. I’m not sure what to do with this, but it definitely has a coolness factor.

It would be even cooler, though, if you could embed it on a website. There's no way to do this from within the app, but you can grab a JSON feed with a little JavaScript — if the server allows it. This one — as a security precaution — does not. The workaround is to create a proxy with PHP.

It took a lot of fussing with the help of ChatGPT, but here’s what I managed. I like how it turned out. An embed like this could possibly be used to give readers updates from other websites. I hope the developer eventually allows you to create embeds from the app.

Will I actually use it? I’m still thinking about it.

Update: I've created a Likes section for newsonaut. Check it out to see the articles I like.

November 17, 2024

Gonna sift those guys right out of my feeds

Four years ago, I wrote about using siftrss to filter out unwanted items from your RSS feeds “in these troubled times.”

The times are just as troubled as ever, so I’m once again recommending siftrss, but this time I have a better idea of how it works.

Say, for example, you wanted to subscribe to Techmeme’s feed, but didn’t want any items with Trump or Musk in the title.

First, go to siftrss and put in the feed URL for Techmeme. That would be: techmeme.com/feed.xml

Change the first dropdown to “exclude”, the second to “title” and the third to “matches regex”. You need to use regex if you want to exclude more than one keyword.

Fill in the blank with /Trump|Musk/i. This tells the filter to exclude any items that have the word “Trump” or “Musk” in the title. The i at the end makes it case insensitive, meaning the filter works regardless of whether the words are upper or lower case.

If you’re familiar with regex, siftrss uses the Perl Compatible Regular Expressions implementation.

Here are some more examples:

Exclude any items with one of these four keywords: /keyword1|keyword2|keyword3|keyword4/i

The pipe symbol means “or”.

Exclude any items with both of these keywords: /keyword1&keyword2/i

The ampersand means “and”.

I find that taking breaks from certain individuals does wonders for my sense of well-being.

Bonus tip: Hacker News

I use a free app called Hack to read Hacker News. It has a massive number of settings, including one that filters items based on keywords. It’s way down at the bottom under Filters & Blocks — don’t miss it!