I’ve had the ScanSnap iX500 for years and the scanner is great but the software gets worse by the day. The “Scan to the Cloud” feature fails silently! You can be scanning away thinking it’s all going to my Box account to retrieve later, but in reality the scans are going nowhere, no error message, and no file to recover!
I just realized that one of our iMacs (Retina 5K, 27-inch, 2017) isn’t able to upgrade to macOS Sonoma! I’ve been debating if it is time to update it as well as the other iMac (Retina 5K, 27-inch, 2019). Seems like it is time to put these Intel iMacs to pasture.
Seems like $4 billion is the minimum cost to Amazon for missing the LLM wave.
Amazon will invest up to $4bn in Anthropic, an American AI startup founded by former employees of OpenAI, who have built a chatbotcalled Claude. Amazon will acquire a minority stake in the company, which was valued at $5bn earlier this year, to better compete in generative AI. Anthropic will work closely with Amazon Web Services, the tech giant’s cloud-computing arm. — Economist Espresso, Sep 25, 2023
I’ve been gradually reducing my daily coffee from 24oz (4 cups) to 18oz (3 cups) and this morning starts 12 oz (2 cups). I’m trying to see if cutting caffeine in half has a positive impact on blood pressure and sleep.
Just ordered 108 additional candle vessels, more wax, and scents to fill out inventory so we can start making candles for the 2023 Things 4 Good Candle Sale! Plan is to make 203 wooden wick candles to raise money for good causes. Sale will be Nov 4th and 5th!
How I Build the Weekly Thing
One of the common questions I’m asked is how I create the Weekly Thing. There are two flavors of this question. One is about finding content and writing, and the other is about the technical act of producing each issue. This article is an attempt to answer the second question about producing each issue.
I just finished a big revamp of the automation that I use to build each issue of the Weekly Thing so it feels like a good time to document and share how it works. I’m very happy with how this is working now, and have used automation to achieve two goals.
- Remove as much of the fiddly bits around formatting and connecting systems as possible, leaving my time for the creative part of writing and sharing.
- Allow some sections to be authored ahead of time, so I can create in small chunks of time.
The revamp had some additional goals, or things to fix that I badly needed to address.
- It should run on any platform. Some of my steps required software that only worked on iOS so I oddly couldn’t run my automation on my Mac.
- No Python scripts, all native Shortcuts. I had some steps that involved Python and that was harder to maintain and change.
- Durability, better error handling, and logging. When my automation didn’t work it was hard to know why. Not good when your on deadline!
- Automation for all sections. For 6 years the photo section has never been supported with automation.
I’m happy to report that my new automation does all of the above, and even pulls in an additional big feature of reducing image sizes.
Overall Solution
Let’s start with an overall view of the whole process. This diagram shows how the various parts are connected. Green boxes are Shortcuts, and grey boxes are Apps or Services. The people represent where I author and interact to create content. This isn’t 100% of everything, but covers the important parts.
The easiest way to think of this is that the Build Issue shortcut has a list of other Shortcuts. It iterates through that list calling each shortcut. Those shortcuts in turn return a block of Markdown text. Once all shortcuts have been called, they are then combined into one Markdown block for final review and editing.
This approach is fundamentally the same as I have used since 2017. The biggest change since then is I call many more Shortcuts, and back then I pulled HTML since MailChimp required that.
The huge change that I’ve been making is that each section Shortcut is much more durable, and uses Data Jar to cache and manage data.
Software Manifest
Core technologies that are used for this include.
- Shortcuts: This is the heart of the solution and where everything starts.
- Drafts: I use Drafts for a ton of things, including writing this blog post. Drafts has incredible support for Shortcuts and automation. Any sections of the Weekly Thing that are just writing I do in Drafts. These are then put into Workspaces in Drafts to interact with Shortcuts. For example, the Currently section is a Workspace in Drafts that is pulled in via a Shortcut.
- Data Jar: This is like a simple database that allows me to cache and store content for each Shortcut.
- S3 App: Great app that was a huge unlock for me since it allowed me to finally automate the Photo section, and in general makes it super simple to get files on the web from Shortcuts.
- Pinboard API: All the links in Featured, Notable, and Briefly come from Pinboard, and I author the blurbs about them in Pinboard as well. They end up in the respective section because I add a “_featured” or “_briefly” tag to them. If no tag, they are in Notable. The reason this works well is that I can author in Markdown in Pinboard, even though Pinboard has no idea what Markdown is.
- thinglestad.com RSS Feed: RSS is how I pull my blog posts into the Journal section. This is a little weird since I author my blog in Markdown, and then pull it via RSS in HTML, and then convert the HTML back to Markdown. That process seems weird but I will likely keep it since the conversion does a couple of nice things to insure the Markdown is well formatted.
Shortcuts is where the majority of the work for this occurs and here is my current set.
The “Build Issue” Shortcut is the one that collects markdown from all the sections and assembles it. You will see a lot of “Section:Name” shortcuts, those are the ones that are responsible for returning a section. Mostly the names make sense for a number of other utility shortcuts.
Data Jar
The other very important component is Data Jar, which you can think of like a database or cache for Shortcuts. Data Jar is a game changer for Shortcuts as it allows you to share and keep state between various Shortcuts. Here is what the Data Jar dictionary for issue 262 looks like.
As much as possible the section Shortcuts use Data Jar to store anything they need. I’ll use a simple example with Section:Fortune. Each issue of the Weekly Thing has a Fortune that I set. The basic flow is:
- See if “Weekly Thing.«Current Issue».Fortune” exists in Data Jar, if it does return markdown and you are done.
- If “Weekly Thing.«Current Issue».Fortune” does not exist present random Fortunes to user until one is selected.
- Once Fortune is selected, store it at “Weekly Thing.«Current Issue».Fortune” and return markdown.
By using this approach I can run this anytime I want to get that section final, and when I build it at publishing time it will not require any input from me. This makes things very durable as well since I can re-run the automation easily.
Summary
One of the takeaways I hope you have from reading this is that while Shortcuts seem pretty trivial, you can assemble them in interesting way with additional software to create very powerful solutions. Especially with add-ons like Data Jar and S3 Files you can do some incredible stuff.
I also think this is a good example of how you can apply automation to personal workflows. I try to use as much automation as possible to remove mundane components from my week. It is worth investing the time in Shortcuts or similar tools to see where you might personally benefit.
See discussion on Weekly Thing Forum.
This post is part of the Shortcuts Collection.
Smaller Images for Weekly Thing
In the Journal section of the Weekly Thing I include any blog posts that I’ve made for that week. To keep things easy, I’ve always just linked to the same image files that are used on my blog. That has never been ideal since those images are much larger than what you would ideally include in an email.
I decided to try and solve this problem in Shortcuts and the amazing S3 Files. The basic approach I take to getting blog posts into the Weekly Thing is:
- Retrieve the RSS feed for www.thingelstad.com
- Find items in feed that are within the time period of this issue
- Convert each post to markdown and do some post processing to make it work in the newsletter better
To do this I would add another step after 3 to detect my own images in the posts, and do the following:
- Detect any URL’s that are uploads into my blog, and make sure to not grab any others.
- Retrieve the image file at that URL
- Resize it to 1,200 pixels on the “long edge”
- Add to S3 bucket for files.thingelstad.com in the right directory for this issue
- Replace the original image URL with the new URL
It wasn’t too hard to make all this work. After tweaking the regular expressions, and making sure that the replacement worked right it was working great.
Here is a snippet from my logs.
- Add www.thingelstad.com/2023/09/2… from Sep 20, 2023 at 9:30 PM. (Count 1)
- Detected www.thingelstad.com/uploads/2…
- Resized img-7928.jpeg (1.9 MB to 518 KB)
- Replacing www.thingelstad.com/uploads/2… with files.thingelstad.com/weekly-th…
- Detected www.thingelstad.com/uploads/2…
- Resized 6334e1ac32.jpg (2.3 MB to 597 KB)
- Replacing www.thingelstad.com/uploads/2… with files.thingelstad.com/weekly-th…
- Detected www.thingelstad.com/uploads/2…
- Add www.thingelstad.com/2023/09/2… from Sep 20, 2023 at 8:09 PM. (Count 2)
- Detected www.thingelstad.com/uploads/2…
- Resized 198c1c9be7.jpg (227 KB to 219 KB)
- Replacing www.thingelstad.com/uploads/2… with files.thingelstad.com/weekly-th…
- Detected www.thingelstad.com/uploads/2…
- Resized 0b1754ade2.jpg (297 KB to 276 KB)
- Replacing www.thingelstad.com/uploads/2… with files.thingelstad.com/weekly-th…
- Detected www.thingelstad.com/uploads/2…
When I ran this to the Journal images in Weekly Thing 262 it was able to resize 28 images from an original size of 43 MB to 12 MB, saving 31 MB of download data!
This is a big win in two ways. First, when you open the Weekly Thing from 263 on your device will download way less data and need to use way less memory. Also, some email services apparently dislike it if emails reference images that are longer than 1,200 pixels on the longest side. Hopefully this little efficiency will also get finicky mail servers to be nicer to my emails.
This was only possible with the revamp I’ve been doing to my automation, and the ability to add this step in was a great result of those changes.
This post is part of the Shortcuts Collection.
Introducing Weekly Thing Forum
I’ve been sending the Weekly Thing for six years. Every week I will get a few replies from people about a specific article, topic, or comment from that week. Getting those replies is great, and sometimes I’ll get multiple replies on the same thing and think it would be interesting to extend this conversation. I’m putting the Weekly Thing Forum out there for just that reason, to create a broader dialog and to continue to learn together.
Plus I hope it is just fun, in an old-school Internet sort of way.
Before the Forum I have tried some very limited experiments to create some further dialog. I tried chat platforms like Telegram, Signal, SimpleX, and Wavelength Messenger. Only Telegram and Wavelength got more than a handful of people, and it just didn’t fit well. Chat platforms are very high frequency and that didn’t match well with the Weekly Thing. They don’t suit themselves to well thought out dialogue.
I played around with Reddit and Discord as well. Discord is way too much of a commitment. Reddit is crazy land. So neither of those were good fits either.
Then I got an email from a Weekly Thing reader, Barry Hess. Barry is one of the principles behind Good Enough where he and some other like minded technologists are passionate about creating principled products. Ponder is one of them. Barry reached out to see if I might want to use Ponder for the Weekly Thing. 🤔
The fun thing is that my friend Garrick Van Buren had already introduced me to Ponder via a group he had created. So I was familiar and thought it was a great, simple, clean and easy-to-use place to host a Forum. No privacy concerns. No algorithms. Just a place to connect with people in a thoughtful and meaningful way.
Over the summer I mulled this over and decided to give it a go!
So here we are, the Weekly Thing Forum!
I don’t know exactly where this will go. I think it would be great to continue dialog about articles that are in the Weekly Thing. It would be fun to do “Ask Me Anything” kind of things. It would be super to bring in additional perspectives. Overall, I’m hoping to increase connection and shared learning.
Thanks for checking it out! Thanks for reading the Weekly Thing! And thanks for being great!
Join the Weekly Thing Forum!
This messages is also posted in the forum.
TeamSPS 2023 Kubb Tournament
Today we held our 5th Annual TeamSPS Kubb Tournament! This event has now become a real tradition and many of our team look forward to playing Kubb together in early fall every year.
We had 16 teams of 6 people, with a full registration of 96 players. Plus plenty of folks came down just to watch, hang out with team members, and cheer on the players.
The great thing about Kubb for a team event is that anyone can play, the game is quick to pick up, and I guarantee you that you are going to meet and talk to the other members of your team. The game is casual, and can be enjoyed by players of any age.
Some of our team really get into it. As the Tournament Director I’m responsible for calling matches, making rulings on anything questionable on the field. It is awesome to see the folks that really git into the spirit of Kubb.
This year we decided to up our game a bit and got 8 custom Kubb sets with SPS colors on the kings, and the logo etched into it. These amazing sets came from JP’s Backyard Games and he threw in some shirts that I got to hand out to some players as well.
It was a great afternoon to Throw Some Wood!
Just like previous years, we had a POAP for the event!
We played three Round Robin matches in four different groups (results at the end), and from the round robin we placed teams into four different brackets. The winners of each bracket got bragging rights for the year, and an awesome medal!
Bracket 1: Lead the Way
EDI Emperors (W) vs. Kubastank
The Kubb Nubbs vs. Kubbless (W)
EDI Emperors (W) vs. Kubbless
Bracket 2: Know More to Be More
Kubbcumbers vs. Simply the Best (W)
Kubbiks Rube vs. Kubb Me Up, Scotty (W)
Simply the Best (W) vs. Kubb Me Up, Scotty
Bracket 3: Win Today, Win Tomorrow
Ice Kubs (W) vs. Kubb Scouts
Lucky #13 vs. Knock’n Kubb Uff-da-bash! (W)
Ice Kubs vs. Knock’n Kubb Uff-da-bash! (W)
Bracket 4: Succeed Together
Kubb on the Cob vs. Kubb Your Enthusiasm (W)
Kubby-doo Where Are You? (W) vs. Kubb 2: Hyperkubb
Kubb Your Enthusiasm vs. Kubby-doo Where Are You? (W)
See: 2023, 2022, 2021, 2019, and 2018 tournaments.
Round Robin Results
Group A
Game 1:
Ice Kubbs (W) vs. Kubbcumbers
Kubb on the Cob vs. EDI Emperors (W)
Game 2:
Kubbcumbers vs. EDI Emperors (W)
Ice Kubbs vs. Kubb on the Cob (W)
Game 3:
EDI Emperors (W) vs. Ice Kubbs
Kubbcumbers (W) vs. Kubb on the Cob
Group B
Game 1:
Simple the Best vs. Kubastank (W)
Kubb Scouts (W) vs. Kubb Your Enthusiasm
Game 2:
Simple the Best (W) vs. Kubb Scouts
Kubastank (W) vs Kubb Your Enthusiasm
Game 3:
Kubb Your Enthusiasm vs. Simple the Best (W)
Kubb Scouts vs. Kubastank (W)
Group C
Game 1:
Lucky #13 (W) vs. Kubby-doo Where Are You?
The Kubb Nubbs (W) vs. Kubbiks Rube
Game 2:
Lucky #13 vs. The Kubb Nubbs (W)
Kubby-doo Where Are You? (W) vs. Kubbiks Rube
Game 3:
Kubbiks Rube (W) vs. Lucky #13
The Kubb Nubbs (W) vs. Kubby-doo Where Are You?
Group D
Game 1:
Kubbless (W) vs. Knock’n Kubb Uff-da-bash!
Kubb 2: Hyperkubb vs. Kubb Me Up, Scotty! (W)
Game 2:
Kubbless (W) vs. Kubb 2: Hyperkubb
Knock’n Kubb Uff-da-bash! (W) vs. Kubb Me Up, Scotty!
Game 3:
Kubb Me Up, Scotty! vs. Kubbless (W)
Kubb 2: Hyperkubb (W) vs. Knock’n Kubb Uff-da-bash!
I love that the gang at Good Enough is playing with some things that remind me of the early days of the web. They have a thermal printer you can print to from a web page. So, I had to try it out. Barry posted my drawings and I grabbed copies for archival on my site too. 🤩
Now, what to print next!?
Thanks to Paul’s Fireplace Wood I’m ready for fall and winter fires! I love that they have the domain firewood.com. 🔥
Minnedemo 39 was awesome! It was great to see so many from our fabulous technology community, and to see the great demos that everyone shared.
Thanks to Caedence, Showcrow, Evergreen, Charles Edge, Request Metrics, and Raise a Hood for presenting!
We had my step-dad Bruce over for dinner tonight with my his brother, my Uncle Tim. We were trying to recount the last time I had seen Tim and it was at least thirty years ago. The beard is amazing! 🎅
Look up.
This Athletic Brewing Waves of Sun is delicious. 🍻
Weekly Thing is back from summer break. I sent issue 261 this morning!
It is always a bittersweet day when we take the boat in for the fall. This summer was so full of travel, graduation parties, and other celebrations that we only got out on the water twice! We only got it out on June 10, only 98 days!
Congratulations to all the 2023 Minnesota CIO ORBIE Award winners and nominees! 👏
Feedforward. A new word to add to the word list.
Decided to take the leap (both Tammy and I) and sign up for Peter Attia’s new Early program. I’ve learned a ton from his podcast, and Tammy has finished his new book Outlive (I’m still reading) and Early promises to be the best way to make it all actionable.