Weekly Thing

    Enjoying an Espresso and Cappuccino at Monogram Coffee in downtown Calgary while sending this morning’s Weekly Thing.

    I’m wondering what MCP endpoints I would like to have:

    • My blog
    • Weekly Thing
    • OmniFocus, that could be amazing
    • Manuals for stuff I own
    • My media library
    • My photo library
    • My house, or whatever that would mean

    Today Buttondown released a new comments feature! I’ve turned this on for the Weekly Thing — it is something I’ve wanted to try for a while. You can leave comments on any issue in the archive.

    The Weekly Thing is back from winter break — Weekly Thing 274 / Gibberish, Happyfeed, Airshow is ready to go out tomorrow morning with a ton of great links and a first ever interview! 🥳

    How I Find Links for the Weekly Thing

    The most common question I’m asked about the Weekly Thing is how I find the links for each week’s issue. I’ve already shared how I build the Weekly Thing and the task management for each issue. Let’s dive into this part as well!

    I find this the hardest question to answer because to me it is the same as asking “How do you learn about new stuff?” or “How do you read the Internet?” This isn’t something that I do for the Weekly Thing but is instead something I’ve always done. The Weekly Thing is a result of this activity. If you read my Weekly Thing introduction from 2017 you can see this. My link archive on Pinboard currently has 14,181 links with the first one dated August 2, 2005, twelve years before the first Weekly Thing! How terrifically nerdy is it that the first link is to the now defunct Make Magazine. 🤓

    This article doesn’t cover the writing I do on my blog, or what shows up as my Journal, in the Weekly Thing. That is just my writing on whatever I blog about syndicated into the Weekly Thing.

    Collecting and curating links that show up in the Weekly Thing isn’t a technical process like building it and there is no task management. However, there is a process and there are three distinct “actions”. This does not have to be a linear process. I can skip all the steps and jump straight to curating an article.

    Collecting

    New links, articles, and information is showing up all the time. It can arrive as an email, a link that a friend shared, or via some feed. It is very rare that I have the time to even give a cursory read of this stuff when it shows up so I tend to collect these links to review later. I’m an avid user of Safari Reading List for this. Adding something to Reading List is usually just a long press and I’m done. At most it requires two taps or clicks. Technically any “read it later” capability, which there are many, would work for this. I’m just using the one that is the fastest and easiest for the platforms I use.

    The biggest issue most people have with “read it later” systems is that later never arrives. I had the same issue. This is one area where the process of publishing the Weekly Thing helps me. If I haven’t read it in that week I’m probably never going to read it and it gets deleted. These “read it later” queues can be infinitely long. For me, no link stays here for more than a week. Even if you aren’t publishing your links, I’d encourage the same process. An infinite “read it later” queue can be mentally exhausting.

    The most important way that I keep up-to-date and identify links to read is Feedbin. Feedbin is a paid service that I use to subscribe to RSS feeds from various websites. I share my list of RSS subscriptions if you are curious. If a site refuses to share updates via RSS, I’m likely not going to see it. That is fine with me. The majority of sites do this, even though they may not advertise it that much.

    Also, not all RSS feeds are a single website. Some aggregation services also create RSS feeds. One of my favorites like this is the Pinboard Popular feed. Since I also use Pinboard to store my bookmarks, I’m part of this feed. This listing of the most frequently bookmarked links is one of the ways that I pull in interesting links from this small community from around the Internet. It also allows me to get a filtered list of other sites. For example, I don’t follow Hacker News but many Pinboard users do. By watching Pinboard Popular, I’m getting the filtered view of Hacker News that just pulls the stuff that has resonated enough I might care to see it.

    Lastly, I also subscribe to many newsletters. I share my list of newsletters, but that can be out of date and incomplete. I love the newsletter medium and find it a refreshing and relaxing way to learn and read.

    Reading and Filtering

    At various times I have gaps of time, or sometimes in the evening I may want to just explore. For me that usually involves looking at my Safari Reading List and grabbing something to check out. Now I have a bit of time and can dig in. This could be 5 minutes, or an hour with the iPad on the couch.

    There is nothing fancy here other than reading and learning. If the article isn’t interesting, I delete the link from Reading List and move on. If it is interesting, I mentally note that and leave it to curate. Sometimes I’m not sure, and I’ll just leave it to revisit again.

    Curating

    The last thing after collecting a link and then reading and reviewing it is optionally curating it. For years curating for me just meant adding to Pinboard and then moving on. When I did a link blog I started using the “description” text in Pinboard to be a bit of a blog post. I extended that for the Weekly Thing and realized that I can easily use markdown in that description so I can have links, some formatting, and excerpts.

    To curate I take the link from Safari Reading List, usually add a paragraph or two, possibly an excerpt, and add that to the description in Pinboard. I then delete it from Safari Reading List. That link is now in link archive permanently. To me this feels like an ever growing database of knowledge. I’d love to do more with this database and have some ideas on my “Someday, Maybe” list.

    Going back to how I build the Weekly Thing I then pull this information via the Pinboard API and it becomes part of each issue. Pinboard allows me to add a tag to a link. If I want the link in the Featured section I add the _feature tag, and if it goes in the Brief list on the bottom I add _brief. Why the underscore? I use to tag my links in Pinboard with topics so the underscore was used to indicate these are “special” tags.

    Summary

    That should give you a feel for how I find links to include, and overall covers how I “read the Internet”. I’ve done something very similar to this for nearly two decades now.

    You may be curious to see social media not referenced. I don’t get links from social media platforms because I don’t use them. Even when I did, I didn’t use it that way. The algorithms and advertising influence made me skeptical of why I was getting the link in the first place.

    Lastly it is worth noting that the publishing deadline of the Weekly Thing can compress the reading and curating. Ideally this is all happening throughout the week and I pull each link through these steps in little bits. It is hopefully “just in time”. But if it is a particularly busy week I may end up on Thursday night with 20 links in my Reading List and nothing curated. That usually means I sit down and spend a couple of hours scanning, reading, and then curating. That is an effort but it is also critical to continuing the process of being a life long learner! 🧠

    Task Management for the Weekly Thing

    I’m often asked about how I create the Weekly Thing and how I’ve been doing it for over six years. People are usually curious about how I find things to write about or how I build the Weekly Thing. However, there is a critical part that is invisible to others but key to the consistency of sending every week for 262 issues — project management!

    With the recent rebuild of my automation I needed to update my project template which seemed like a good time to share how I do this. I’m a Getting Things Done practitioner, and my tool of choice for as long as I can remember has been OmniFocus. Everything here is in OmniFocus or supporting automation.

    A detail to share on dates and times for the publishing schedule. My target for sending the Weekly Thing is Saturday at 7:00 am CT. If I miss that it’s fine, I can shift things. However, the content cutoff is actually Thursday at 11:59 pm CT and that never changes. This allows me a window from Thursday night to Saturday at 7:00 am CT to publish. One odd side effect of this is that a blog post I publish on Friday will not be in that issues Journal on Saturday, but will wait for the following week. Nobody seems to notice this and it is necessary for me to have the time to do the publishing.

    Project

    Here is what the project to send Weekly Thing 264 looks like in OmniFocus. The two dates on the right are the defer and due dates. Defer dates are critical for me since they keep things off my plate until they need to be. Note everything in gray is deferred. You can see that right now, there are only three tasks available. I’ve expanded select tasks so that you can see the helper links and text that make things a bit faster for me.

    There are four major steps to publishing each issue:

    1. Creating Content: Most notable activities here include writing the introduction, adding any “Currently” topics, taking and setting the picture for the week. Some of these I can do immediately, others I defer until a few days into the week. The writing is done in Drafts.
    2. Curating Links: I try to curate links and various points through the week, but I have two “deadlines” for the publishing cycle. Links are curated in Pinboard.
    3. Building and Sending: Content and Links are done, time to build and send. I’ve automated this to be pretty simple. See how I build the Weekly Thing for more.
    4. Finalizing: After the issue is sent and in peoples mailboxes, I need to do some final activities and most importantly create the project for the next issue.

    All of these steps are sequential. And the tasks in them are sequential, except for Creating Content which can be done in any order.

    Repetition

    This project is not a repeating project. That is the reason for the last step in the project, to create the next project. Why not repeating?

    1. Changes: Not having it repeating means I can change and alter any given instance however I like. I might add a special task to one issue, like adding a POAP for the anniversary issue. Or a special section I’m only doing that time.
    2. Schedule: I may move the due dates for one step or another and I love knowing that will not persist to the next iteration.

    So how do I get the repeating project without doing all the work? Plus, there are tons of date references that need to be calculated, where does that come from? This is where TaskPaper and project templates come to the rescue.

    TaskPaper allows me to have a template for sending the Weekly Thing that I can “run” via a Shortcut. You can see the Send Weekly Thing Taskpaper Template for all the details. Take note of two special “tokens” in the template: «Issue» and «Date». These are not part of TaskPaper, but instead two “variables” I handle.

    Before I hand OmniFocus the TaskPaper to create the project, I’m going to process those two tokens using a Shortcut. My Send Weekly Thing shortcut will get the “Publish Date” and “Issue Number” from Data Jar. It will set those “variables” in the TaskPaper and the rest of the data offsets are magically handled by OmniFocus. Most critical thing here is making sure I format the «Date» as yyyy-MM-dd hh:mm aa so that OmniFocus understands it.

    The Shortcut also puts a time block on my calendar for Thursday night to send the issue. This is a nice benefit of combining Taskpaper and Shortcuts together.

    Summary

    Creating the Weekly Thing isn’t a single “Send Weekly Thing” task on my list. Instead I’ve focused on “next action thinking” to try and make each component a simple task. Overall this works really well for me. It doesn’t solve writers block, but frees me up to focus on the creative aspects instead of the tasks.

    You might be curious how this works when I take my summer or winter breaks? In those cases, I still create the next project for the issue when I come back from break, but then I set the defer date for the whole thing to the week before that issue publishes. I also usually add a housecleaning task to the beginning of that issue to clean out my Safari Reading list and Pinboard Unread links.

    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.

    1. 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.
    2. 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.

    1. 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.
    2. No Python scripts, all native Shortcuts. I had some steps that involved Python and that was harder to maintain and change.
    3. Durability, better error handling, and logging. When my automation didn’t work it was hard to know why. Not good when your on deadline!
    4. 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.
    • thingelstad.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:

    1. See if “Weekly Thing.«Current Issue».Fortune” exists in Data Jar, if it does return markdown and you are done.
    2. If “Weekly Thing.«Current Issue».Fortune” does not exist present random Fortunes to user until one is selected.
    3. 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:

    1. Retrieve the RSS feed for www.thingelstad.com
    2. Find items in feed that are within the time period of this issue
    3. 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:

    1. Detect any URL’s that are uploads into my blog, and make sure to not grab any others.
    2. Retrieve the image file at that URL
    3. Resize it to 1,200 pixels on the “long edge”
    4. Add to S3 bucket for files.thingelstad.com in the right directory for this issue
    5. 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.

    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.

    Hosting Minnebar 17: How to Newsletter

    Update: Sorry to say that this session had to be cancelled. We had some travel plans come up and we will only be able to attend Minnebar 17 for half the day. We are still going to do the POAP session though.

    I’m going to host a session at Minnebar 17 on How to Newsletter: Lessons from 250 Issues of The Weekly Thing. This is my first time presenting at Minnebar in several years. I’m excited to do it again!

    If this is interesting to you, register on the Sessionizer and indicate that you might attend this session.


    I have been publishing The Weekly Thing since May of 2017. With 250 issues of the newsletter complete I’m hosting this session to share the common questions that I get about:

    • How do you find the things you put in the Weekly Thing?
    • How do you create each issue?
    • How do you maintain consistency?

    Additionally I will be covering:

    • My task template that I use for each week
    • The automation that I have created to build each issue
    • The overall toolchain that I use to create it
    • Specific tactics to maintain sustainability of a long-term project like this

    This session will be focused on the creator and building. We will not be covering marketing, social media, or anything related to newsletter monetization or subscriptions.

    With Labor Day and some additional travel, I decided to extend the Weekly Thing summer break for two more weeks. Issue 226 will resume on September 17th!

    I just sent issue 219 of the Weekly Thing, which also marks the Five Year anniversary! It is also my first issue back after an unscheduled break. It was fun to get things going again. Subscribers got a PAOP token to mark the occasion.

    I’ve been using Telegram recently to stay in contact with folks in Ukraine. I decided to create a channel for thingelstad.com and a channel for the Weekly Thing. If you like getting things in Telegram, there you go.

    Update: I deleted these channels after a few months as they didn’t prove valuable.

    I didn’t get the Weekly Thing done last night, but I got up early this morning and finished issue 190 with 28 minutes to spare! 😅

    Four Years of the Weekly Thing

    Today marks the four year anniversary of the Weekly Thing! Issue 1 was sent May 13, 2017. When I started this project I figured I would do it for a year and then see. Now it is four years later and I’m still enjoying it.

    Here are some learnings I would share.

    • Having a well defined structure that I flow content “through and in” has been key to making this something I can do over the long haul. If I started each week with a blank document I don’t think it would work well.
    • It is surprising how often the hardest thing is writing the little intro bit in the beginning. Sometimes I find myself with traditional writers block. Other times major things in the world have brought a seriousness to the week that needs to be addressed. I didn’t expect this when I started this project.
    • Getting a new photo every week is difficult in the winter when the daylight is so short.
    • I’ve been able to get to know a lot of readers more than I ever would have any other way. Email is much more personal than blogging or social media.
    • The rare times that an issue doesn’t go out on Saturday at 7am CT, I often get pings from people asking what is up? I love that. It’s fun that this has become part of a few peoples Saturday morning routines.
    • It is harder to keep up with the email replies I get from people. If you sent me a reply and I didn’t get back in a few days, or at all, I’m sorry. I read it all!
    • I love the archive that is created by writing every week. In addition to blogging, this is a very rewarding activity that I plan to keep doing.
    • Automate as much as possible. This keeps the busywork down. I’ve got extensive automation to keep everything humming.

    And now onto the years ahead!

    1,000 Subscribers

    I’ve had a “soft” goal for the Weekly Thing to get to 1,000 subscribers and it got there today! Plus it is fun that Buttondown sends a note like this.

    Buttondown says that I have written 448,665 words in the first 166 issues of the Weekly Thing. The average non-fiction book has less than 100,000 words. Even if half of the Weekly Thing words aren’t mine, I’ve possibly written two books worth of words? 🤯

    Link Blog Relaunched

    I got my Link Blog up and running again. It is still plenty rough around the edges. This gives the links that I share in the Weekly Thing a permanent home on the web.

    As an experiment I’ve also put the Commento commenting system on it to see if that is interesting.

    I also created Index pages for sites so you can see all links I’ve save for a site. See this Index for the EFF website as an example.

    On my to do list is Annum pages that show statistics for each year.

    Trying tagging people whose articles I am commenting and sharing in the Weekly Thing. Example on LinkedIn and Twitter for issue 161. Will be watching to see if this is appreciated or seen as tag spam, and if it results in additional awareness.

    This weekend I wired up two additional platforms that I’m syndicating to. I’m now sharing to Mastadon and am @jamiethingelstad@mastodon.social. This is built into micro.blog so I decided to turn it on for those that may prefer it.

    I also configured Zapier to share the Weekly Thing to Medium. If you prefer Medium you can find jthingelstad there and this is a full share, with all the content. Right now I’m only sharing the Weekly Thing to Medium.

    The best way to get all of of my stuff directly is still via RSS or Email.

Older Posts →