{
  "version": "https://jsonfeed.org/version/1",
  "title": "Blogging on Jamie Thingelstad",
  "icon": "https://avatars.micro.blog/avatars/2025/14/1545.jpg",
  "home_page_url": "https://www.thingelstad.com/",
  "feed_url": "https://www.thingelstad.com/feed.json",
  "items": [
      {
        "id": "http://jthingelstad.micro.blog/2026/10/11/wt-release-notes-for-every.html",
        "title": "WT353 — Release Notes for Every Day",
        "content_html": "<p>Claude Haiku 5.5, hard budget caps on usage-based APIs, zkAPI private payment credits, rumored Apple M8 Ultra AI servers, and Tufte&rsquo;s Razor on the data-ink ratio, along with the launch of Your Version Number: Release Notes and the Twin Cities Marathon. <a href=\"https://weekly.thingelstad.com/archive/353/?ref=blog\">Weekly Thing 353</a></p>\n",
        "date_published": "2026-10-11T07:27:58-05:00",
        "url": "https://www.thingelstad.com/2026/10/11/wt-release-notes-for-every.html",
        "tags": ["Weekly Thing","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/10/06/weekly-thing-archive-improved.html",
        "title": "Weekly Thing Archive Improved",
        "content_html": "<p>Over the 10 years that I&rsquo;ve published the Weekly Thing I have used three different platforms to send it. Each one of those had unique requirements for how I structured the issues. For a while I&rsquo;ve wanted to get the entire archive updated so that no matter how far you go back the issues have the similar structure that they have today. With the help of Claude I was able to make this happen! The <a href=\"https://weekly.thingelstad.com/archive/\">full archive</a> is now updated renders cleanly. It required pretty extensive source doctoring behind the scenes.</p>\n<p>Along with that I was able to then render every issue in audio as well. Now the Weekly Thing Podcast feed goes all the way back to the very first issue as well which is pretty cool.</p>\n",
        "date_published": "2026-10-06T21:30:00-05:00",
        "url": "https://www.thingelstad.com/2026/10/06/weekly-thing-archive-improved.html",
        "tags": ["Weekly Thing","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/10/04/i-was-inspired-by-the.html",
        
        "content_html": "<p>I was inspired by the time analysis I had Claude do <a href=\"https://www.thingelstad.com/2026/09/26/i-realized-i-could-probably.html\">last week</a> on what it took to send the <a href=\"https://weekly.thingelstad.com/\">Weekly Thing</a> so I decided to build in some additional logging and a better visualization. Now I get a report like this for each issue I send. <a href=\"https://weekly.thingelstad.com/archive/352/\">WT352</a> showed some benefits from my new automation! 🪄</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2026/screenshot-2026-10-04-at-9.13.02pm.png\" alt=\"Stats card for issue 352: 2 h 05 m writing in 10 sittings, Notable took 54 m, and most time fell on the final Sunday.\">\n",
        "date_published": "2026-10-04T21:17:36-05:00",
        "url": "https://www.thingelstad.com/2026/10/04/i-was-inspired-by-the.html",
        "tags": ["Weekly Thing","Productivity","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/10/03/my-newest-mcp-experiment-was.html",
        
        "content_html": "<p>My newest MCP experiment was to add it in <a href=\"https://github.com/jthingelstad/wt-builder\">WT Builder</a> and then Claude was able to watch me creating content in near real-time through tool calls and give me immediate feedback on typos and grammar suggestions.</p>\n",
        "date_published": "2026-10-03T12:00:00-05:00",
        "url": "https://www.thingelstad.com/2026/10/03/my-newest-mcp-experiment-was.html",
        "tags": ["AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/09/26/i-realized-i-could-probably.html",
        
        "content_html": "<p>I realized I could probably get a data point I&rsquo;ve never been able to from WT Builder: how long does it take for me to create the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>? Turns out I can now answer that. Additionally, I can now evaluate features on how they improve my workflow and time required.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2026/screenshot-2026-09-26-at-1.02.02pm.png\" width=\"600\" height=\"246\" alt=\"Table comparing WT350 and WT351: 2 h 52 m vs 2 h 25 m to publish, about 3 h 50 m vs 2 h 30 m total, 22 vs 18 links.\">\n",
        "date_published": "2026-09-26T17:17:49-05:00",
        "url": "https://www.thingelstad.com/2026/09/26/i-realized-i-could-probably.html",
        "tags": ["Weekly Thing","Productivity","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/09/21/weekly-thing-podcast-improvements.html",
        "title": "Weekly Thing Podcast Improvements",
        "content_html": "<p>Claude and I did a session in <a href=\"https://github.com/jthingelstad/wt-builder\">WT Builder</a> focused on the generated audio for <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> issues. This was one of the goals I had with the new authoring app.</p>\n<ul>\n<li>Audio pauses will now fall in natural breaks in the flow. Each functional block of text is generated on its own.</li>\n<li>Better section announcements and handoffs.</li>\n<li>Blockquotes &ldquo;quote&rdquo; and &ldquo;end quote&rdquo; again.</li>\n<li>Lists are spoken better.</li>\n<li>I&rsquo;m now embedding images from the issue into the metadata. If your podcast player supports that you will see them as the podcast plays.</li>\n<li>Better pronunciation.</li>\n<li>The descriptions now contain the links, so for the first time ever you can actually get to the articles from the podcast version.</li>\n</ul>\n<p>With these changes the <a href=\"https://weekly.thingelstad.com/podcast/\">podcast version</a> really can be a viable way to engage with the Weekly Thing.</p>\n",
        "date_published": "2026-09-21T21:24:36-05:00",
        "url": "https://www.thingelstad.com/2026/09/21/weekly-thing-podcast-improvements.html",
        "tags": ["AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/09/20/the-reward-for-sending-the.html",
        
        "content_html": "<p>The reward for sending the first issue of your newsletter after a 3-month summer break? More unsubscribes than usual. 🤪</p>\n",
        "date_published": "2026-09-20T17:07:54-05:00",
        "url": "https://www.thingelstad.com/2026/09/20/the-reward-for-sending-the.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/09/20/some-screenshots-of-my-wt.html",
        
        "content_html": "<p>Some screenshots of my <a href=\"https://github.com/jthingelstad/wt-builder\">WT Builder</a> custom app to create issues of the Weekly Thing. This was fun to work on and will give me a great base to build off of as the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> evolves.</p>\n<p><img src=\"https://cdn.uploads.micro.blog/890/2026/wt-builder-index.png\" width=\"600\" height=\"440\" alt=\"WT Builder issue list in Safari, rows for WT351 through WT345 with site, mail, and pod tags and archive status.\"><img src=\"https://cdn.uploads.micro.blog/890/2026/wt-builder-350.png\" width=\"600\" height=\"440\" alt=\"WT Builder editor for WT350 with a section outline on the left and the rendered website edition on the right.\"><img src=\"https://cdn.uploads.micro.blog/890/2026/wt-builder-publish.png\" width=\"600\" height=\"440\" alt=\"Send screen for WT350 with podcast, website, and Buttondown cards, each marked sent and listing completed steps.\"><img src=\"https://cdn.uploads.micro.blog/890/2026/wt-builder-log.png\" width=\"600\" height=\"440\" alt=\"Dialog titled WT350 — the log, listing timestamped send, edit, and publish entries from Sep 20.\"></p>\n",
        "date_published": "2026-09-20T16:41:57-05:00",
        "url": "https://www.thingelstad.com/2026/09/20/some-screenshots-of-my-wt.html",
        "tags": ["Weekly Thing","Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/09/20/i-just-published-weekly-thing.html",
        
        "content_html": "<p>I just published <a href=\"https://weekly.thingelstad.com/archive/350/\">Weekly Thing 350</a> which is notably the very first issue to go through my new <a href=\"https://github.com/jthingelstad/wt-builder\">WT Builder</a> app that I created with Claude. It worked pretty well and since it was first time on new code I told Claude to literally watch me use it on the server it was running on and fix things in realtime.</p>\n",
        "date_published": "2026-09-20T16:38:31-05:00",
        "url": "https://www.thingelstad.com/2026/09/20/i-just-published-weekly-thing.html",
        "tags": ["Weekly Thing","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/09/05/ive-always-taken-july-and.html",
        
        "content_html": "<p>I&rsquo;ve always taken July and August off of publishing the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>. I think I may modify that to taking July 4th to Labor Day off. That is more tuned to plans.</p>\n",
        "date_published": "2026-09-05T14:03:36-05:00",
        "url": "https://www.thingelstad.com/2026/09/05/ive-always-taken-july-and.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/08/22/love-that-jim-mitchell-created.html",
        
        "content_html": "<p>Love that Jim Mitchell created this new <a href=\"https://indiewebispunk.net\">IndieWeb is Punk Manifesto</a> site, inspired by my <a href=\"https://www.thingelstad.com/2025/06/19/indieweb-is-punk.html\">blog post</a> from 2025.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2026/screenshot-2026-08-22-at-8.40.23am.png\" width=\"600\" height=\"436\" alt=\"\">\n",
        "date_published": "2026-08-22T08:48:54-05:00",
        "url": "https://www.thingelstad.com/2026/08/22/love-that-jim-mitchell-created.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/05/12/the-weekly-thing-team.html",
        "title": "The Weekly Thing Team",
        "content_html": "<p>I&rsquo;ve been publishing the Weekly Thing for nine years and automation is one of the things that has made that possible. I shared a while back how I find content, assemble the issues, and my project structure. Without these well defined workflows there is no way I could continue this project.</p>\n<p>The structure I have has worked well but it isn&rsquo;t autonomous. It only runs when I engage with it. It is also brittle and &ldquo;one way&rdquo;. I can only easily run it one time. Additionally I think I could use some help getting things collected and reviewing the in process writing.</p>\n<p>To this end I decided to create my support team for the Weekly Thing!</p>\n<p>My starting points were:</p>\n<ul>\n<li>Based on Elixir I know that Discord is a reasonable place for an agent to run.</li>\n<li>Based on building Thingy I know that my Weekly Thing archive is a robust knowledge base to build off of.</li>\n<li>Based on sending issues that meander and are just too long sometimes I know an editor would be helpful.</li>\n<li>Based on my own time crunch that I get into when I&rsquo;m trying to make a whole issue happen in one Saturday morning I know I could use some help making it more iterative.</li>\n</ul>\n<p>This is the genesis of my Workshop and the four agent team that I have now created to assist me.</p>\n<p>One thing worth being clear about: I have stated many times that &ldquo;My words are mine!&rdquo; and not AI&rsquo;s and that is still the case. I don&rsquo;t have any of these agents working to write content for me. They are my support team. The words are still mine. The only case where an LLM is &ldquo;writing&rdquo; or engaging with anyone is Thingy, the librarian for the Weekly Thing, and the Supporting Membership program where I have an explicit preference that that be a different voice than mine.</p>\n<p>Here is the broad outline of the multi-agent solution that allows me to have dedicated agents that focus on different aspects of publishing the newsletter each week. This allows me to focus more on writing and commentary!</p>\n<p>Each of these agents are operating with a full set of tools that include the entire archive of the Weekly Thing. As a result they are much more tuned to the job at hand than a generic LLM.</p>\n<ul>\n<li><strong>Eddy</strong> is my editor who reviews everything that goes in the newsletter. Eddy assembles a working draft of the current issue of the newsletter every day and then does an editorial review of the content. Eddy shares a status and progress indicator with me in Discord.</li>\n<li><strong>Linky</strong> is my researcher who assists with assessing the links I flag to go into the issue. Linky does recon to allow me to filter faster. Linky doesn&rsquo;t ever look at the current issue and is just assisting with curation. Linky shares these in Discord. I&rsquo;ve made it so I can reply to Linky with my commentary and it sync&rsquo;s it back to Pinboard. This has allowed me to turn my commentary into a conversation.</li>\n<li><strong>Marky</strong> focuses on the most recent issue of the Weekly Thing that has been published and raising awareness. I&rsquo;ve done the least with Marky so far, but the goal is to get the Weekly Thing to new readers.</li>\n<li><strong>Patty</strong> is the supporting membership manager who helps create call to action to bring new members in and raise money for the nonprofit we have selected. Patty operates on the annual cycle of the membership program and is the only agent that will draft content that does appear (properly sectioned) in the Weekly Thing. Patty understands the goal of the program, the organization that we are focused on this year, and what I have been writing about.</li>\n</ul>\n<p>I&rsquo;m focused mostly on Eddy and Linky right now as they are core to my authoring cycle. I can already see that this is going to allow me to focus on the content more, will be a quality of life improvement to get more incremental content and less scrambling at the end of the publishing cycle, as well as a more readable final email to subscribers.</p>\n",
        "date_published": "2026-05-12T21:00:00-05:00",
        "url": "https://www.thingelstad.com/2026/05/12/the-weekly-thing-team.html",
        "tags": ["Weekly Thing","Featured","Productivity","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/05/07/massive-weekly-thing-website-build.html",
        "title": "Massive Weekly Thing Website Build",
        "content_html": "<p>I&rsquo;ve commented that agentic coding makes things that were previously on your &ldquo;list of impossible projects&rdquo; into things that you can do. I have long had on my &ldquo;impossible project&rdquo; list the desire to create a website for the Weekly Thing that let the archive shine in ways that I knew were possible but no solution out there delivered. With 9 years of writing and 345 issues in the archive there is so much to surface.</p>\n<p>To do this I knew I would need to build it on my own. I could use the Buttondown API to get the issues and make them accessible. But then I needed a website. I needed a content pipeline. Oh, and that archive has old formats from different platforms that were a mangled mess of HTML.</p>\n<p>This was truly on the &ldquo;impossible list&rdquo; for me personally. If I wanted to spend tens-of-thousands of dollars, or probably even more, I maybe could have hired someone to build it. A laughable idea really.</p>\n<p>So I decided to take my experiences with Claude Code, Claude Design, and Codex and point it at this problem. Over the last couple of weeks I&rsquo;ve been working on the new Weekly Thing website experience.</p>\n<p>I just have to say I&rsquo;m so thrilled with the results that I can barely handle it. Rather than type a novel here I&rsquo;m just going to list out what the site has. Even better, go there and explore:</p>\n<p><a href=\"https://weekly.thingelstad.com/\"><strong>https://weekly.thingelstad.com</strong></a></p>\n<p>Here is what the new site has!</p>\n<p>1️⃣ Completely reimagined <strong>landing page to describe the Weekly Thing</strong>. Gone is the basic Buttondown paragraph of text and a signup button. The home page hopefully gives a much better feel for what the Weekly Thing is.</p>\n<p>2️⃣ <a href=\"https://weekly.thingelstad.com/archive/\"><strong>Archive</strong></a> page has full index of every issue back to number 1. This is also now optimized for the Weekly Thing with issue images, link counts, organized by year.</p>\n<p>3️⃣ <strong><a href=\"https://weekly.thingelstad.com/thingy/\">Thingy</a>, the Weekly Thing librarian</strong> that has read every issue of the Weekly Thing and is ready to converse with you about all of it. I have wanted to make an agent like this for over a year and it is finally real. I&rsquo;ve found this fascinating to play with and ask questions of.</p>\n<p>You will see this feature requires you to provide your subscriber email address. It is only available to confirmed subscribers of the Weekly Thing.</p>\n<p>You may recall in <a href=\"https://weekly.thingelstad.com/archive/311/\">WT311</a> I shared a custom GPT that was sort of like this. That was grade school level. Thingy is much smarter!</p>\n<p>Some prompts that are fun to explore with Thingy:</p>\n<ul>\n<li><a href=\"https://weekly.thingelstad.com/thingy/?prompt=How+has+the+arc+of+AI+evolved+in+the+Weekly+Thing%3F\">How has the arc of AI evolved in the Weekly Thing?</a></li>\n<li><a href=\"https://weekly.thingelstad.com/thingy/?prompt=Compare+Tik+Tok%2C+Facebook%2C+and+X+from+the+archive.\">Compare Tik Tok, Facebook, and X from the archive.</a></li>\n<li><a href=\"https://weekly.thingelstad.com/thingy/?prompt=Explain+to+me+how+Jamie+connects+Indie+Web+and+Crypto%3F+They+seem+very+opposite+to+me.\">Explain to me how Jamie connects Indie Web and Crypto? They seem very opposite to me.</a></li>\n</ul>\n<p>4️⃣ <strong><a href=\"https://weekly.thingelstad.com/search/\">Search</a> is now super powered.</strong> The searching is indexed into the section of the weekly thing. This works way better than before.</p>\n<p>5️⃣ On the page for each issue you will see that there is a <strong>Table of Contents</strong> on the left. It is a little thing, but another example of something I&rsquo;ve wanted for a long time. The Weekly Thing is long and this gives a way to navigate. Also, each of those items is a hyperlink so you can now send a link to a specific notable link in a specific issue.</p>\n<p>6️⃣ Big one &ndash; <strong>you can now LISTEN to the Weekly Thing</strong>. I&rsquo;ve filled this in for the last 10 issues. On the issue page there is a &ldquo;Listen&rdquo; button where it will be read for you.</p>\n<p>7️⃣ <strong>Podcast?</strong> Well if I have an audio file for each issue why not bundle that into a podcast. So I did. You should be able to find the Weekly Thing on <a href=\"https://podcasts.apple.com/us/podcast/weekly-thing/id1895865769\">Apple Podcasts</a> and <a href=\"https://open.spotify.com/show/43A9fytZDKaZhrkp3qbukh\">Spotify</a>. It is propagating through other platforms. Should be on <a href=\"https://overcast.fm/itunes1895865769/weekly-thing\">Overcast</a> too.</p>\n<p>8️⃣ <strong>Support for LLMs.txt!</strong> This is a bit hidden, but if you want to talk with the LLM of your choice about the Weekly Thing, give the LLM this link:</p>\n<p><a href=\"https://weekly.thingelstad.com/llms.txt\">https://weekly.thingelstad.com/llms.txt</a></p>\n<p>That provides an LLM optimized index of the entire 345 issues, as well as links to LLM optimized versions of every email! This means ChatGPT or Claude or whatever else can dive deep into the content. I have actually used this myself when asking a model to do some research with me.</p>\n<p>A quick note about the audio:</p>\n<ul>\n<li>This doesn&rsquo;t replace or remove my actual podcast, <a href=\"https://another.thingelstad.com/\">Another Thing</a>. There is still just one episode there but I&rsquo;m not giving up on that.</li>\n<li>The audio for the Weekly Thing is text-to-speech using a transformed version of the email text. It announces sections, gives links numbers, announces quotes, and cuts some sections. I&rsquo;ve listened to a few and think it works reasonably well.</li>\n<li>I&rsquo;ll probably evolve the generated audio, and right now it only exists for the last 10 issues, but I plan to backfill all issues with audio over time.</li>\n</ul>\n<p>Take a look. Try out the archive, search, Thingy. Listen to an issue. And let me know what you think… anything not work right? Read wrong? Something missing? Or just that you think it is all cool?</p>\n",
        "date_published": "2026-05-07T22:00:00-05:00",
        "url": "https://www.thingelstad.com/2026/05/07/massive-weekly-thing-website-build.html",
        "tags": ["Weekly Thing","Featured","Software Development","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/05/03/up-and-writing-at-am.html",
        
        "content_html": "<p>Up and writing at 6am for the next <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>!</p>\n<p>While I&rsquo;m doing that I&rsquo;ve got Claude Code backfilling audio versions of the Weekly Thing, and another Claude Code instance doing some incremental work on <a href=\"https://poapkings.com/elixir/\">Elixir</a>.</p>\n",
        "date_published": "2026-05-03T06:06:28-05:00",
        "url": "https://www.thingelstad.com/2026/05/03/up-and-writing-at-am.html",
        "tags": ["Weekly Thing","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/03/15/sunday-morning-working-on-the.html",
        
        "content_html": "<p>Sunday morning. Working on the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>. Codex improving <a href=\"https://poapkings.com/elixir/\">Elixir</a> in another window. Coffee. &ldquo;Bonus time&rdquo; at home because of Delta flight cancellation, and hoping our flight today actually goes.</p>\n",
        "date_published": "2026-03-15T07:12:44-05:00",
        "url": "https://www.thingelstad.com/2026/03/15/sunday-morning-working-on-the.html",
        "tags": ["Coffee","Travel","Weekly Thing","Blogging","Escape in Europe 2026"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/03/03/i-just-learned-that-you.html",
        
        "content_html": "<p>I just learned that you can register a Shortcut in <a href=\"https://www.goldenhillsoftware.com/unread/\">Unread</a> to create your own actions for feed items. This is huge for my workflows! 🤯🥳</p>\n",
        "date_published": "2026-03-03T11:12:35-05:00",
        "url": "https://www.thingelstad.com/2026/03/03/i-just-learned-that-you.html",
        "tags": ["Productivity","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/03/01/if-your-reading-my-blog.html",
        
        "content_html": "<p>If your reading my blog you should really consider reading my <a href=\"https://mazie.thingelstad.com\">daughter’s blog</a> too. <a href=\"https://micro.blog/mthingelstad\">@mthingelstad</a> has gotten the blogger vibes and is sharing amazing stories on her semester abroad. I think you’ll like reading her posts even though you aren’t her dad! 🤩</p>\n",
        "date_published": "2026-03-01T17:10:00-05:00",
        "url": "https://www.thingelstad.com/2026/03/01/if-your-reading-my-blog.html",
        "tags": ["Family","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/02/02/om-malik-has-been-writing.html",
        
        "content_html": "<p><a href=\"https://om.co\">Om Malik</a> has been writing incredible blog posts lately! <a href=\"https://om.co/2026/01/21/velocity-is-the-new-authority-heres-why/\">Velocity</a> was amazing, <a href=\"https://om.co/2026/01/26/does-evidence-even-matter/\">Evidence</a> continued, <a href=\"https://om.co/2026/02/01/why-tech-media-is-complicated/\">Tech &amp; Media</a>, and now <a href=\"https://om.co/2026/02/02/the-dark-side-of-fomo/\">FOMO</a>. Delights me that he is still sharing his writing and thoughts with us — long after <a href=\"https://en.wikipedia.org/wiki/Om_Malik\">the days of Gigaom</a>. 👏</p>\n",
        "date_published": "2026-02-02T18:47:59-05:00",
        "url": "https://www.thingelstad.com/2026/02/02/om-malik-has-been-writing.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/01/27/the-print-copies-of-the.html",
        
        "content_html": "<p>The print copies of the Yearly Thing arrived from <a href=\"https://www.lulu.com\">Lulu</a>! I&rsquo;m very happy with how the formatting worked with <a href=\"https://vellum.pub\">Vellum</a> and the production from Lulu is terrific. It is really cool to explore the year of the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> like this. You can <a href=\"https://www.lulu.com/shop/jamie-thingelstad/yearly-thing-2025/paperback/product-84w66ey.html\">buy your own on Lulu</a>.</p>\n<p><img src=\"https://cdn.uploads.micro.blog/890/2026/9c6c03eb54.jpg\" width=\"600\" height=\"600\" alt=\"Hand holding a paperback book titled Yearly Thing 2025 Agents Attention Artifacts by Jamie Thingelstad with a cloudy sky cover featuring wind turbines.\"><img src=\"https://cdn.uploads.micro.blog/890/2026/3427188d78.jpg\" width=\"600\" height=\"600\" alt=\"Hand holding open a paperback book to pages 90-91 of Yearly Thing 2025 by Jamie Thingelstad showing newsletter excerpts about Apple encryption and UK backdoor demands.\"><img src=\"https://cdn.uploads.micro.blog/890/2026/eca1703b78.jpg\" width=\"600\" height=\"600\" alt=\"Table of contents page of Yearly Thing 2025 showing 10 chapters from The AI Revolution to Tools Productivity and Delights\"></p>\n",
        "date_published": "2026-01-27T22:00:00-05:00",
        "url": "https://www.thingelstad.com/2026/01/27/the-print-copies-of-the.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/01/20/i-made-a-book-yearly.html",
        "title": "I made a book — Yearly Thing 2025",
        "content_html": "<p>For a couple of years now I&rsquo;ve been wondering if there was a book version of the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>. I had in my mind the idea of an almanac. Something that captured some period of time and put information in a different format. This year this idea surfaced again and unlike the last couple of times I could not shake it. It seemed this thing needed to happen! And here it is, the <strong>Yearly Thing 2025: Agents, Attention, Artifacts</strong>.</p>\n<p>The <strong>Yearly Thing 2025</strong> places all <strong>324 links</strong> that I commented on across <strong>31 issues</strong> of the Weekly Thing in 2025 into one volume. It is organized into <strong>10 topic focused chapters</strong>:</p>\n<ol>\n<li>The AI Revolution</li>\n<li>The Craft of Software</li>\n<li>Privacy, Security and Encryption</li>\n<li>Cryptocurrency and Web3</li>\n<li>The Apple Ecosystem</li>\n<li>The Open Web and Blogging</li>\n<li>Attention, Algorithms and Digital Life</li>\n<li>Leadership and Building Products</li>\n<li>Health, Connection and Society</li>\n<li>Tools, Productivity and Delights</li>\n</ol>\n<p>There is also an Introduction, Weekly Thing Index, and an Afterword.</p>\n<p>This repackaging of the Weekly Thing gives an opportunity to see topics in a different light. The eBook version maintains all the hyperlinks so you can go to articles and navigate as you like. The printed book references the issue each item was in, which you can then easily scan a QR code to go to via the Weekly Thing Index if you wish to.</p>\n<p>I hope this is a way for people to go back to topics and reflect on them more. Make some notes in the margin on the print. All while supporting the Weekly Thing Supporting Membership program — with all proceeds from the sale of the Yearly Thing 2025 supporting great digital non-profits.</p>\n<ul>\n<li>The <a href=\"https://www.lulu.com/shop/jamie-thingelstad/yearly-thing-2025/paperback/product-84w66ey.html\">paperback is available for $30 on Lulu</a>.</li>\n<li>The <a href=\"https://jthingelstad.gumroad.com/l/yearly-thing-2025\">eBook is available for $20 on Gumroad</a>. The eBook will give you an archive that you will find formats for Apple Books, Kindle, Nook, Android, etc.</li>\n<li>Purchasers of the printed book that would like the eBook as well can contact me and I will get you the eBook files.</li>\n<li>Anyone that purchases the Yearly Thing 2025 in the first 2 months will receive a special <strong><a href=\"https://poap.gallery/drops/223594\">Yearly Thing 2025 POAP</a></strong> to collect!</li>\n</ul>\n<p>This may be the first of many Yearly Things that you can collect over time. 🤔</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2026/5b1cabc144.jpg\" alt=\"A futuristic-style book cover titled Yearly Thing 2025 features wind turbines against a cloudy sky.\">\n",
        "date_published": "2026-01-20T20:47:09-05:00",
        "url": "https://www.thingelstad.com/2026/01/20/i-made-a-book-yearly.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2026/01/19/i-just-finished-up-this.html",
        
        "content_html": "<p>I just finished up this <a href=\"http://weekly.thingelstad.com\">Weekly Thing</a> adjacent project that I started over Christmas. Just a bit more to finalize distribution! I&rsquo;m looking forward to sharing this. All the proceeds will be going to the <strong>Weekly Thing Supporting Membership</strong> program. 🙌</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2026/5b1cabc144.jpg\" width=\"399\" height=\"600\" alt=\"Book cover for Yearly Thing 2025 subtitled Agents Attention Artifacts by Jamie Thingelstad with wind turbines against a cloudy sky\">\n",
        "date_published": "2026-01-19T13:29:09-05:00",
        "url": "https://www.thingelstad.com/2026/01/19/i-just-finished-up-this.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/12/03/it-was-cool-to-be.html",
        
        "content_html": "<p>It was cool to be featured <a href=\"https://buttondown.com/blog/jamie-thingelstad\">on Buttondown&rsquo;s customer stories</a> about how I use it for the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>.</p>\n",
        "date_published": "2025-12-03T22:28:03-05:00",
        "url": "https://www.thingelstad.com/2025/12/03/it-was-cool-to-be.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/12/01/i-gave-gemini-thinking-pro.html",
        
        "content_html": "<p>I gave Gemini &ldquo;Thinking 3 Pro&rdquo; and Nano Banana Pro a more interesting question tonight. I asked it:</p>\n<blockquote>\n<p>Please create an infographic that explains how I create the Weekly Thing. Use these three blog posts as your foundation for the process:</p>\n<ul>\n<li><a href=\"https://www.thingelstad.com/2023/10/07/how-i-find.html\">How I Find Links for the Weekly Thing</a></li>\n<li><a href=\"https://www.thingelstad.com/2023/10/01/task-management-for.html\">Task Management for the Weekly Thing</a></li>\n<li><a href=\"https://www.thingelstad.com/2023/09/24/how-i-build.html\">How I Build the Weekly Thing</a></li>\n</ul>\n</blockquote>\n<p>The result is incredible. It has one error on the &ldquo;Delete&rdquo; step and how that connects to Pinboard.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/2ac85ced43.png\" width=\"600\" height=\"327\" alt=\"Flowchart showing 4-step Weekly Thing newsletter creation process: Collect and Filter, Create and Curate, Build and Automate, then Finalize and Send.\">\n",
        "date_published": "2025-12-01T21:48:45-05:00",
        "url": "https://www.thingelstad.com/2025/12/01/i-gave-gemini-thinking-pro.html",
        "tags": ["Weekly Thing","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/11/28/poap-at-weekly-thing-reddit.html",
        
        "content_html": "<p>POAP <a href=\"https://collectors.poap.xyz/token/7529645\">7529645</a> at <strong><a href=\"https://poap.gallery/drops/214723\">Weekly Thing — Reddit Revival</a></strong>.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/ca293d09-1fe0-4b5b-a36a-63aae58a3f82.png\" alt=\"Snow globe with a winter village scene, a mail carrier holding an envelope, a sign reading r/WeeklyThing, and a base labeled Reddit Revival\" width=\"500\" height=\"500\" />\n",
        "date_published": "2025-11-28T10:46:20-05:00",
        "url": "https://www.thingelstad.com/2025/11/28/poap-at-weekly-thing-reddit.html",
        "tags": ["POAP","POAP Claims","Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/11/18/paragraph-has-now-merged-with.html",
        
        "content_html": "<p>Paragraph has now merged with Mirror and I decided to set up cross-posting to give it a try. <a href=\"https://paragraph.com/\">Paragraph</a> will pull posts from my RSS feed to show on <a href=\"https://blog.thingelstad.xyz\">my publication</a> there as well.</p>\n",
        "date_published": "2025-11-18T21:40:22-05:00",
        "url": "https://www.thingelstad.com/2025/11/18/paragraph-has-now-merged-with.html",
        "tags": ["Crypto","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/11/17/farewell-weekly-thing-forum-and.html",
        "title": "Farewell Ponder and Weekly Thing Forum",
        "content_html": "<p>In September 2023, I <a href=\"https://www.thingelstad.com/2023/09/22/introducing-weekly-thing.html\">introduced the Weekly Thing Forum</a> with the hope of creating a space for readers of the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> to connect with each other and continue topics that may have started in the Weekly Thing. The Forum itself is hosted on <a href=\"https://ponder.us/\">Ponder</a>, which aligns closely with the ethos of the IndieWeb and the Weekly Thing. Recently, <a href=\"https://goodenough.us/\">Good Enough</a>, the makers of Ponder, announced that <a href=\"https://goodenough.us/blog/2025-11-03-we-re-shutting-down-yay-boo-and-ponder/\">Ponder is being shut down</a>. With that, the Weekly Thing Forum is also going to come to an end.</p>\n<p>In the two years of the Forum, we had <strong>86 people</strong> join and <strong>107 discussions</strong>. We shared some exclusive POAPs, experimented with some different things, and did many other things. I briefly considered finding a new home for the Forum, but nothing made much sense. If folks really have an itch for that, there is the (very quiet) <a href=\"https://www.reddit.com/r/weeklything/\">Weekly Thing subreddit at r/WeeklyThing</a>.</p>\n<p>I want to thank the gang at Good Enough for taking a run at something like Ponder. I also applaud that they gave everyone the ability to download a usable HTML archive of any groups on Ponder, as well as to delete their group&rsquo;s data. They kept their focus on those core values even when things weren&rsquo;t going the way they wanted, and I applaud that.</p>\n<p>I will bring back the &ldquo;Reply All&rdquo; section whenever it makes sense. That will bring conversations that arrive in my mailbox from issues back into the newsletter at times. As a final nod and Thank You to Ponder, I decided to create a <a href=\"https://poap.gallery/drops/214349\">Farewell Ponder</a> POAP and share it with users of the service. If you would like one, send me an email and I&rsquo;ll get you a claim code!</p>\n",
        "date_published": "2025-11-17T20:34:54-05:00",
        "url": "https://www.thingelstad.com/2025/11/17/farewell-weekly-thing-forum-and.html",
        "tags": ["Weekly Thing","Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/11/16/you-can-still-find-me.html",
        
        "content_html": "<p>You can still <a href=\"https://www.thingelstad.com/2024/11/16/you-can-find.html\">find me on the web</a>.</p>\n",
        "date_published": "2025-11-16T15:53:54-05:00",
        "url": "https://www.thingelstad.com/2025/11/16/you-can-still-find-me.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/10/18/writing-blog-posts-backdated-a.html",
        
        "content_html": "<p>Writing blog posts backdated a couple of days to when the thing actually happened is the most extreme form of <a href=\"https://www.thingelstad.com/2023/02/05/not-writing-for.html\">not writing for the timeline</a>. It is a gift to my future self when scanning my <a href=\"https://www.thingelstad.com/on-this-day/\">on this day</a> page to have things show up in the right spots.</p>\n",
        "date_published": "2025-10-18T07:38:51-05:00",
        "url": "https://www.thingelstad.com/2025/10/18/writing-blog-posts-backdated-a.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/10/15/my-cousin-joshs-most-recent.html",
        
        "content_html": "<p>My cousin Josh&rsquo;s most recent essay <a href=\"https://www.ramblingjosh.com/2025/10/15/cancan.html\">Can-Can</a> is a great read told from his own experience as a college professor.</p>\n<blockquote>\n<p>So, in 34-years of bumbling towards being as overly educated and as idiotic as my oft concussed cognition will allow, the prevailing wind on college campuses has carried the message of learning how to think, rather than being told what to think, and never accepting a set of beliefs, or most anything, uncritically. Question everything, and more importantly, everyone…especially yourself.</p>\n</blockquote>\n<p>Delightful.</p>\n",
        "date_published": "2025-10-15T17:30:00-05:00",
        "url": "https://www.thingelstad.com/2025/10/15/my-cousin-joshs-most-recent.html",
        "tags": ["Family","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/10/06/plausible-analytics-plugin-for-microblog.html",
        "title": "Plausible Analytics Plug-in for Micro.blog",
        "content_html": "<p>I&rsquo;ve been using <a href=\"https://plausible.io/\">Plausible Analytics</a> for over a year and have been using the <a href=\"https://github.com/LukasRos/plugin-plausible\">Plausible Analytics Plug-in</a> created by <a href=\"https://micro.blog/lukas\">@lukas</a> to add it to my blog. It hasn&rsquo;t been updated for a long time and the embed code, while still working, is very outdated. I finally decided to take a few minutes to fork that plug-in and create my own <a href=\"https://github.com/jthingelstad/microdotblog-plausible\">Plausible Analtyics 2</a> for micro.blog.</p>\n<p>It now uses the current code snippet and also sports a Plausible icon as well. Plus, I now have a plug-in in the directory. If you use Plausible Analytics on micro.blog I would definitely suggest switching.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/a3a97c4d51.png\" width=\"600\" height=\"429\" alt=\"Micro.blog plug-in directory showing four available plug-ins including Plausible Analytics 2, Video streaming, Open Graph basics, and Chess.com Profile\">\n",
        "date_published": "2025-10-06T19:42:31-05:00",
        "url": "https://www.thingelstad.com/2025/10/06/plausible-analytics-plugin-for-microblog.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/09/21/saw-this-item-in-my.html",
        
        "content_html": "<p>Saw this item in my RSS feed tonight. I had forgot about this feature in <a href=\"https://www.poap2rss.com\">POAP2RSS</a>. It worked as intended and I unsubscribed from the this event feed.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/b3ae8c8936.jpg\" width=\"570\" height=\"600\" alt=\"POAP2RSS notification showing no new POAP claims for Magic Pines Summer of 2024 event in 12 weeks, last claim June 29 2025.\">\n",
        "date_published": "2025-09-21T22:38:19-05:00",
        "url": "https://www.thingelstad.com/2025/09/21/saw-this-item-in-my.html",
        "tags": ["POAP","POAP2RSS","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/08/18/blogging-with-messages.html",
        "title": "Blogging with Messages",
        "content_html": "<div class=\"chat\">\n<div class=\"action\">Conversation named \"Blogging with Messages\".</div>\n<div class=\"author right\">Me</div>\n<div class=\"message right\">\n<p>Hey Matt,</p>\n<p>An ask for Tiny Theme new feature to consider.</p>\n<p>There is a general case where I would like to blog and include a conversation. Two examples:</p>\n<ul>\n<li>Mimicking a back and forth in Messages</li>\n<li>Sharing a dialog with an AI and the back and forth</li>\n</ul>\n</div>\n<div class=\"author left\">Matt</div>\n<div class=\"message left\">That seems like a pretty cool idea!</div>\n<div class=\"author right\">Me</div>\n<div class=\"message right\">\n<p>Ideally I&rsquo;d like to be able to show:</p>\n<ul>\n<li>A &ldquo;left side&rdquo; versus &ldquo;right side&rdquo; component of the dialog.</li>\n<li>The &ldquo;name&rdquo; of the author of that side.</li>\n</ul>\n</div>\n<div class=\"author left\">Matt</div>\n<div class=\"message left\">\n<p>Great! Add this to your <strong>Custom CSS</strong>:</p>\n</div>\n<div class=\"author right\">Me</div>\n<div class=\"message right\">\nThat is great! I added author styling as well which looks really good. Oh, and an action as well.\n</div>\n<div class=\"author left\">Matt</div>\n<div class=\"message left\">\nThat looks great. Awesome idea with the author's name.\n</div>\n<div class=\"author right\">Me</div>\n<div class=\"message right\">\n<p>Cool. I put <a href=\"https://files.thingelstad.com/posts/2025/chat.css\">chat.css</a> up so people can play with it.</p>\n</div>\n<div class=\"action\">Conversation ended.</div>\n</div>\n",
        "date_published": "2025-08-17T15:20:58-05:00",
        "url": "https://www.thingelstad.com/2025/08/18/blogging-with-messages.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/08/17/blog-categories-via-llm.html",
        "title": "Blog Categories via LLM",
        "content_html": "<p>After using GPT-5 to <a href=\"https://www.thingelstad.com/2025/08/14/category-introductions-via-llm.html\">create category introductions</a> for my website I got to thinking about the categories themselves.</p>\n<p>With over <strong>9,800 blog posts</strong> spanning <strong>20+ years</strong> it is daunting to figure out an approach to categories. It is especially daunting to approach them in a way that would make sense to a visitor to my website. As a test, I gave this challenge to GPT-5 using Agent mode. It took <em>31 minutes</em> to do the research. I have no idea how many web pages it hit on my site (I wasn&rsquo;t watching!). It gave me a whole report and the results seem really solid.</p>\n<div class=\"chat\">\n<div class=\"author right\">Me</div>\n<div class=\"message right\">\n<p>I would like you to do an extensive analysis of my blog archive at this URL:</p>\n<p><a href=\"https://www.thingelstad.com/archive/\">www.thingelstad.com/archive/</a></p>\n<p>I would like you to recommend a new set of categories I could use for my blog posts that may be easier and more useful to visitors. You can feel free to ignore existing categories or use as input into the process. I&rsquo;m fine if there are a lot of categories, I also wouldn&rsquo;t want hundreds. It feels like 30-50 categories may be fine, but I&rsquo;m open to a different count. There are over 20 years of blog posts to categorize. I&rsquo;m fine if categories only exist for a period of time, they don&rsquo;t all have to have content throughout the life of my blog.</p>\n</div>\n<div class=\"author left\">GPT-5</div>\n<div class=\"message left\">\n<ul>\n<li>Travel &amp; Adventure</li>\n<li>Family &amp; Life</li>\n<li>Food &amp; Cooking</li>\n<li>Coffee &amp; Drinks</li>\n<li>Music &amp; Concerts</li>\n<li>Sports &amp; Recreation</li>\n<li>Kubb &amp; Lawn Games</li>\n<li>Escape Rooms &amp; Puzzles</li>\n<li>Fitness &amp; Wellbeing</li>\n<li>Outdoor &amp; Nature</li>\n<li>Photography &amp; Videography</li>\n<li>Technology &amp; Coding Projects</li>\n<li>Crypto &amp; Web3</li>\n<li>POAP Adventures</li>\n<li>MarketWatch &amp; BigCharts</li>\n<li>Work &amp; Leadership</li>\n<li>Minnestar &amp; Tech Community</li>\n<li>Books &amp; Learning</li>\n<li>Charity &amp; Fundraising</li>\n<li>Candles &amp; Crafting</li>\n<li>Magic Pines &amp; Cabin Life</li>\n<li>Road Sign Math &amp; Puzzles</li>\n<li>Board Games &amp; Tabletop</li>\n<li>Commentary &amp; Reflections</li>\n<li>Nature &amp; Weather</li>\n<li>Pets &amp; Animals</li>\n<li>Meditation &amp; Mindfulness</li>\n<li>Travel &ndash; Food &amp; Drink</li>\n<li>Travel &ndash; Urban Exploration</li>\n<li>Events &amp; Conferences</li>\n<li>Weekly Thing (Newsletter)</li>\n<li>Other Side Projects</li>\n</ul>\n</div>\n</div>\n<p>Each one of these is also provided a description and examples posts that would fit into it. This seems like a great place to use AI.</p>\n<p>Going through my blog and assigning posts to these categories could be done with a script and some vibe coding. Perhaps this will be a winter project for me.</p>\n<p>All of this has me thinking that it would be nice for micro.blog to do this for me. I wouldn&rsquo;t mind having micro.blog use AI to <strong>recommend categories</strong> for me. But then separately, now that we have categories with introduction text take each of my blog posts and ask the LLM to categories it into the existing structure. All the data is there. 🤔</p>\n",
        "date_published": "2025-08-17T14:41:01-05:00",
        "url": "https://www.thingelstad.com/2025/08/17/blog-categories-via-llm.html",
        "tags": ["Kubb","Minnestar","BigCharts","MarketWatch","Escape Room","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/08/14/category-introductions-via-llm.html",
        "title": "Category Introductions via LLM",
        "content_html": "<p>I used GPT-5 to create <a href=\"https://www.manton.org/2025/08/11/category-improvements.html\">introduction text</a> for my blog categories. Now I just need <a href=\"https://tiny.micro.blog\">Tiny Theme</a> to pull them in and I’ll be set.</p>\n<p>This is the prompt I used:</p>\n<div class=\"chat\">\n<div class=\"message right\">\n<p>I&rsquo;m including a list of all categories on my blog along with the link to the archive page for that category. I would like you to visit each one of these links and use the sample of blog posts to create a short one to three sentence introduction for each category. Don&rsquo;t get overly specific and make sure to keep the introductions in a similar writing style to the content on my blog.</p>\n<ul>\n<li>Escape Room: <a href=\"https://www.thingelstad.com/categories/escape-room/\">www.thingelstad.com/categorie&hellip;</a></li>\n<li>Coffee: <a href=\"https://www.thingelstad.com/categories/coffee/\">www.thingelstad.com/categorie&hellip;</a></li>\n<li>Videos: <a href=\"https://www.thingelstad.com/categories/videos/\">www.thingelstad.com/categorie&hellip;</a></li>\n<li>Crypto: <a href=\"https://www.thingelstad.com/categories/crypto/\">www.thingelstad.com/categorie&hellip;</a></li>\n<li><em>list truncated</em></li>\n</ul>\n</div>\n</div>\n<p>Passing the explicit list of categories and links worked much faster than the first prompt which I asked it to just look at the Archive page and figure out what to do.</p>\n",
        "date_published": "2025-08-14T22:15:20-05:00",
        "url": "https://www.thingelstad.com/2025/08/14/category-introductions-via-llm.html",
        "tags": ["Escape Room","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/08/06/writing-is-thinking.html",
        "title": "Writing is Thinking",
        "content_html": "<p>With the ever growing cadre of tools that can help us create this is an important reminder that <a href=\"https://www.nature.com/articles/s44222-025-00323-4\">Writing is Thinking</a> from Nature.</p>\n<blockquote>\n<p>However, writing is not only about reporting results; it also provides a tool to uncover new thoughts and ideas. Writing compels us to think — not in the chaotic, non-linear way our minds typically wander, but in a structured, intentional manner. By writing it down, we can sort years of research, data and analysis into an actual story, thereby identifying our main message and the influence of our work.</p>\n</blockquote>\n<p>Sometimes folks ask me if I use AI to help write the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> and I tell them something just like this. No. I do not. Because the Weekly Thing is part of how I continue to learn myself. If I were to delegate that I would miss my own goal of learning.</p>\n<p>A secondary desire of mine is to become a better writer. I suspect the best way to do that is to write more. And if writing is indeed thinking, does becoming a better writer make you a better thinker? I think so.</p>\n",
        "date_published": "2025-08-06T07:03:11-05:00",
        "url": "https://www.thingelstad.com/2025/08/06/writing-is-thinking.html",
        "tags": ["Weekly Thing","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/07/06/with-the-help-of-poaprss.html",
        
        "content_html": "<p>With the help of <a href=\"https://www.poap2rss.com\">POAP2RSS</a> combined with <a href=\"https://www.rssrssrssrss.com\">rssrssrssrss.com</a> and a new micro.blog account at <a href=\"https://micro.blog/POAPChallenge\">@POAPChallenge</a> I&rsquo;ve completely revamped how activity is shared for this fun summer scavenger hunt I created called <a href=\"https://www.thingelstad.com/projects/612-poap-challenge/\">612 POAP Challenge</a>. Check it out, particularly if you are near Minneapolis! 🤩</p>\n",
        "date_published": "2025-07-06T23:10:11-05:00",
        "url": "https://www.thingelstad.com/2025/07/06/with-the-help-of-poaprss.html",
        "tags": ["POAP","612 POAP Challenge","POAP2RSS","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/07/06/first-time-for-me-submitted.html",
        
        "content_html": "<p>First time for me — <a href=\"https://github.com/buttondown/rssrssrssrss/pull/9\">submitted a pull request</a> to a public repo to make a small change that I&rsquo;m hoping gets merged for <a href=\"https://www.rssrssrssrss.com\">rssrssrssrss</a>. ￼😊</p>\n",
        "date_published": "2025-07-06T16:08:36-05:00",
        "url": "https://www.thingelstad.com/2025/07/06/first-time-for-me-submitted.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/07/04/seeing-poap-claims-show-up.html",
        
        "content_html": "<p>Seeing <a href=\"https://poap.xyz\">POAP</a> claims show up on <a href=\"https://feedbin.com\">Feedbin</a> thanks to <a href=\"https://www.poap2rss.com\">POAP2RSS</a> is making me giddy! 🤩</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/bbf919fede.png\" width=\"600\" height=\"400\" alt=\"Feedbin RSS reader showing a POAP2RSS Created feed entry with a dark circular badge featuring fireworks and an RSS icon dated July 4 2025.\">\n",
        "date_published": "2025-07-04T11:54:07-05:00",
        "url": "https://www.thingelstad.com/2025/07/04/seeing-poap-claims-show-up.html",
        "tags": ["POAP","POAP2RSS","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/07/04/i-decided-to-declare-poaprss.html",
        
        "content_html": "<p>I decided to declare <a href=\"https://www.poap2rss.com\">POAP2RSS</a> officially <strong>launched</strong>. It seemed fitting for Independence Day!</p>\n<p>How do you celebrate creating a service to make POAP activity available in RSS? You make a POAP of course! Now drop — <a href=\"https://poap.gallery/drops/191490\">POAP2RSS Created</a>! 💥</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/34ed575f7a.png\" width=\"600\" height=\"600\" alt=\"Circular badge for POAP2RSS dated July 4 2025, featuring an RSS icon, a POAP award ribbon, and colorful fireworks on a dark navy background.\">\n",
        "date_published": "2025-07-04T08:20:26-05:00",
        "url": "https://www.thingelstad.com/2025/07/04/i-decided-to-declare-poaprss.html",
        "tags": ["POAP","POAP2RSS","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/07/04/i-cleaned-up-the-rss.html",
        
        "content_html": "<p>I cleaned up the RSS items that <a href=\"https://www.poap2rss.com\">POAP2RSS</a> outputs this morning. I decided to remove the titles on the items and add the POAP images which makes it great for adding to a micro.blog timeline. Now I can share my POAP claims automatically!</p>\n",
        "date_published": "2025-07-04T08:18:06-05:00",
        "url": "https://www.thingelstad.com/2025/07/04/i-cleaned-up-the-rss.html",
        "tags": ["POAP","POAP2RSS","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/07/03/indieweb-is-punk-from-blog.html",
        
        "content_html": "<p><strong>Indieweb is Punk</strong> — from <a href=\"https://www.thingelstad.com/2025/06/19/indieweb-is-punk.html\">blog post</a> to <a href=\"https://jimmitchell.org/2025/06/19/indieweb-is-punk-indeed/\">t-shirt</a> and <a href=\"https://poap.gallery/drops/191098\">POAP</a>!</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/6ff111e4da.jpg\" width=\"600\" height=\"600\" alt=\"Man wearing a black Indieweb is Punk t-shirt standing on a patio outside a white house\">\n",
        "date_published": "2025-07-03T16:58:28-05:00",
        "url": "https://www.thingelstad.com/2025/07/03/indieweb-is-punk-from-blog.html",
        "tags": ["POAP","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/06/21/indieweb-is-punk-wear-it.html",
        "title": "IndieWeb is Punk: Wear It!",
        "content_html": "<p>I published <a href=\"https://www.thingelstad.com/2025/06/19/indieweb-is-punk.html\">IndieWeb is Punk</a> and it resonated with folks.</p>\n<p><a href=\"https://jimmitchell.org/2025/06/19/indieweb-is-punk-indeed/\">Jim Mitchell created the shirt</a>! Go ahead and get one!</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/85c04490bf.jpg\" alt=\"Black heather t-shirt with a punk-style graphic reading IndieWeb is Punk in white distressed lettering above cut-out ransom-note style letters spelling PUNK in pink and blue\">\n<p>I wanted to make a POAP to go with it so Jim sent me the image files and here we are!</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/e13d37adb8.png\" alt=\"Circular black button badge with distressed white text reading IndieWeb is Punk in bold punk-style lettering on pink and blue blocks\">\n<p>For fun I asked ChatGPT to create the description for this POAP in the voice of Henry Rollins of Black Flag speaking to bloggers of today!</p>\n<blockquote>\n<p>You walked away from the corporate feed trough. You ripped your voice out of the algorithm&rsquo;s claws. That took guts. That took conviction. That&rsquo;s punk!</p>\n<p>The IndieWeb isn&rsquo;t some polished product you buy with a tap. It&rsquo;s you, your words, your server, your turf. It&rsquo;s raw HTML and full-throated autonomy. This isn&rsquo;t about metrics or brand deals &ndash; it&rsquo;s about owning your damn voice. If you&rsquo;ve ever looked at those social media sugar traps and said, &ldquo;No thanks, I&rsquo;m not a product,&rdquo; then congratulations &ndash; you&rsquo;re part of the resistance.</p>\n<p>We need digital buttons, badges like the ones we used to stab into our jean jackets &ndash; statements of identity, rebellion, belonging. This POAP? It&rsquo;s not just a collectible. It&rsquo;s a battle patch. A symbol. A nod to the hard-headed, soft-hearted punks building the web they want to live in.</p>\n<p>It started with Jamie Thingelstad screaming the truth from his blog: <a href=\"https://www.thingelstad.com/2025/06/19/indieweb-is-punk.html\">IndieWeb is Punk</a>. Then others <a href=\"https://micro.blog/jthingelstad/67150951\">joined the chorus</a> and even <a href=\"https://bloftin2speaks.micro.blog/2024/12/18/punk-and-blogging.html\">joined in voice</a>, and Jim Mitchell did what punks do &ndash; <a href=\"https://jimmitchell.org/2025/06/19/indieweb-is-punk-indeed/\">he made a damn shirt</a>.</p>\n<p>So slap that badge on your digital vest. Wear it like blood, sweat, and static.</p>\n<p>You&rsquo;re not just on the web &ndash; you are the web!</p>\n</blockquote>\n<p>Want a POAP? <a href=\"https://www.thingelstad.com/contact/\">Contact me</a> and I&rsquo;ll send you a claim code!</p>\n",
        "date_published": "2025-06-21T14:51:51-05:00",
        "url": "https://www.thingelstad.com/2025/06/21/indieweb-is-punk-wear-it.html",
        "tags": ["POAP","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/06/20/collected-poap-for-indieweb-is.html",
        
        "content_html": "<p>Collected POAP <a href=\"https://collectors.poap.xyz/token/7374837\">7374837</a> for <strong><a href=\"https://poap.gallery/drops/191098\">IndieWeb is Punk</a></strong>.</p>\n        <p><img src=\"https://cdn.uploads.micro.blog/890/2025/194a9cc1-599e-4eda-a039-79abdaa8f864.png\" alt=\"Circular black badge with white grunge text reading IndieWeb is Punk in pink and blue ransom-note style letters\" width=\"500\" height=\"500\" /></p>\n",
        "date_published": "2025-06-20T15:53:40-05:00",
        "url": "https://www.thingelstad.com/2025/06/20/collected-poap-for-indieweb-is.html",
        "tags": ["POAP","POAP Claims","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/06/19/manton-reece-manton-shared-hes.html",
        
        "content_html": "<p>Manton Reece <a href=\"https://micro.blog/manton\">@manton</a> shared <a href=\"https://www.manton.org/2025/06/12/enough-with-ai.html\">he&rsquo;s pausing blogging on AI</a> because of pushback he receives on his writing. I can empathize based on comments I&rsquo;ve received about crypto. In 2022 I wrote on <a href=\"https://www.thingelstad.com/2022/12/27/polarizing-technology-encryption.html\">polarizing technology</a>. AI is likely to be similar to Encryption and Crypto and I&rsquo;m going to continue exploring.</p>\n",
        "date_published": "2025-06-19T12:06:57-05:00",
        "url": "https://www.thingelstad.com/2025/06/19/manton-reece-manton-shared-hes.html",
        "tags": ["AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/06/19/indieweb-is-punk.html",
        "title": "IndieWeb is Punk",
        "content_html": "<p>Last night, Mazie and I went to Pink Ivy for dinner, and as we pulled out of the driveway, she took control of the music and right away started playing &ldquo;<a href=\"https://en.wikipedia.org/wiki/Basket_Case_(song)\">Basket Case</a>&rdquo; by <a href=\"https://www.greenday.com\">Green Day</a>. Mazie has wide-ranging musical interests. She is happy to rock out with me to the <a href=\"https://foofighters.com\">Foo Fighters</a>. Lately, Green Day has been rotating in more, but she found that one on her own. We were both digging the song, and I told her how fun it was for me that she was listening to Green Day and shared the Punk Rock roots of the band. We dug further back into my Music Library and found their first two albums on <a href=\"https://www.lookoutrecords.com\">Lookout! Records</a> &ldquo;1,039/Smoothed Out Slappy Hour&rdquo; and &ldquo;Kerplunk.&rdquo; We listened to &ldquo;Disappearing Boy&rdquo; and &ldquo;At the Library,&rdquo; and I joked with her that most of the songs were about girls they were too scared to talk to.</p>\n<p>She thought the music itself was just okay, and I was like, &ldquo;Yeah, but that was Punk Rock.&rdquo; With that, I attempted to summarize the music world of the late 80s and 90s, which was dominated by Top 40 music and record labels controlling distribution. Punk Rock stormed onto the scene and ignored all of that. This led to a meandering listen through some <a href=\"https://www.screechingweasel.com\">Screeching Weasel</a> and their tributes to the <a href=\"https://www.ramones.com\">Ramones</a>, then to the <a href=\"https://en.wikipedia.org/wiki/Straight_edge\">Straight Edge</a> scene and <a href=\"https://dischord.com/band/minor-threat\">Minor Threat</a>. Punk Rock was so fundamentally different from what most people were listening to then. Unfortunately, we arrived at the restaurant before I was able to cover the <a href=\"https://newbombturks.com\">New Bomb Turks</a> and <a href=\"https://www.nofxofficialwebsite.com\">NOFX</a>.</p>\n<p>However, as we discussed the anti-commercial, independent, and community aspects of Punk Rock, it struck me that I could be describing the <a href=\"https://indieweb.org\">IndieWeb</a> movement of today in nearly identical terms. <strong>As Punk Rock was to the music industry of that era, is the IndieWeb bringing the same ethos to the Web of today — minus the mohawks?</strong></p>\n<p>Punk Rock was famously DIY, playing whatever instruments they could get their hands on. Most were self-taught and just learned to play to make the music. Bad singer? No problem. Do you only know three chords? Perfect. Do you own a drum set but don&rsquo;t know how to play? Great. Let&rsquo;s go. This same spirit embodies the IndieWeb as people use open-source tools to create their websites. Need a primary topic for your newsletter? How about I just write? Don&rsquo;t have flashy features or pixel-perfect design? Doesn&rsquo;t matter. It works. It&rsquo;s yours.</p>\n<p>IndieWeb creators and providers shun the pursuit of monopoly power and giant profits. Most focus on being small services that charge a fair fee based on the cost of providing the service. No venture capitalist would invest in these projects. Punk Rock didn&rsquo;t care about selling millions of records. Punk was about creating music and getting it into people&rsquo;s hands.</p>\n<p>Punk was also about community and creating connections. No Punk Rock band stood on their own, and the folks at the shows were part of their community more than an audience. IndieWeb communities share similarities, focusing on related tools and systems and exploring how they can collaborate to empower individuals. The <a href=\"https://en.wikipedia.org/wiki/Zine\">zine</a> movement of Punk Rock was blogging before the Internet! That spirit lives on today.</p>\n<p>One of the most significant ways they are similar is they are both counterculture. In the 1990s, listening to Punk Rock was a way to subvert the mass media system. Punk Rock gave the middle finger to that &ldquo;system&rdquo; and said, &ldquo;No.&rdquo; That&rsquo;s precisely what IndieWeb folks are saying to the dominant social media platforms today. We opt out of algorithmic surveillance systems and choose to be independent.</p>\n<p><img src=\"https://cdn.uploads.micro.blog/890/2022/6d8497e810.jpg\" width=\"600\" height=\"252\" alt=\"CC0 is Punk\"><br/></p>\n<p><strong>The IndieWeb is Punk</strong>. I love this image from <a href=\"https://mattdowney.com\">Matt Downey</a>. CC0 is a public domain dedication license from Creative Commons. Giving away ownership and contributing to the community is Punk.</p>\n<p>We don&rsquo;t need major platforms. We have the Web, keyboards, tools, and community. <strong>IndieWeb is Punk!</strong> Is it time to bring the Mohawks back?</p>\n",
        "date_published": "2025-06-19T11:24:08-05:00",
        "url": "https://www.thingelstad.com/2025/06/19/indieweb-is-punk.html",
        "tags": ["Music","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/06/17/while-doing-blog-gardening-today.html",
        
        "content_html": "<p>While doing <a href=\"https://www.thingelstad.com/2023/09/04/blog-gardening.html\">blog gardening</a> today I saw <a href=\"https://www.thingelstad.com/2004/06/17/privacy-or-the.html\">a post I wrote 21 years ago about privacy issues</a>. This is a topic I&rsquo;ve been consistent on for a very long time it seems.</p>\n",
        "date_published": "2025-06-17T20:52:12-05:00",
        "url": "https://www.thingelstad.com/2025/06/17/while-doing-blog-gardening-today.html",
        "tags": ["Blogging","Privacy \u0026 Security"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/06/07/enjoying-an-espresso-and-cappuccino.html",
        
        "content_html": "<p>Enjoying an Espresso and Cappuccino at <a href=\"https://monogramcoffee.com/en-us\">Monogram Coffee</a> in downtown Calgary while sending <a href=\"https://weekly.thingelstad.com/archive/322/\">this morning’s Weekly Thing</a>.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/fd98086866.jpg\" width=\"600\" height=\"600\" alt=\"Espresso in a white bowl and a cappuccino with latte art in a dark blue mug on a wooden cafe table beside an open MacBook\">\n",
        "date_published": "2025-06-07T11:29:15-05:00",
        "url": "https://www.thingelstad.com/2025/06/07/enjoying-an-espresso-and-cappuccino.html",
        "tags": ["Coffee","Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/06/02/my-blog-turns-today-im.html",
        
        "content_html": "<p>My blog turns 21 today! I&rsquo;m so happy that I have stuck with this blogging hobby for so long. It is a &ldquo;life project&rdquo; that I will value forever &ndash; and continued growth in posting activity!</p>\n<p>Total Posts Published: <strong>9,474</strong> (7,200 without title)<br>\nTotal Words Written: <strong>610,188</strong> (that&rsquo;s almost 15 novellas)</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/c43819bd9d.png\" width=\"600\" height=\"242\" alt=\"Line chart showing blog posts published per year from 2000 to 2025, peaking at roughly 780 posts in 2008 and trending near 600 to 700 in recent years.\">\n",
        "date_published": "2025-06-02T17:14:57-05:00",
        "url": "https://www.thingelstad.com/2025/06/02/my-blog-turns-today-im.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/05/28/poap-at-weekly-thing-th.html",
        
        "content_html": "<p>POAP <a href=\"https://collectors.poap.xyz/token/7361698\">7361698</a> at <strong><a href=\"https://poap.gallery/drops/190338\">Weekly Thing 8th Anniversary Supporting Members</a></strong>.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/2e96ec6e-10fc-496f-9e55-c1e0ceddde34.png\" alt=\"Circular badge with CC logo, balloons, confetti, reading Weekly Thing Supporting Members 8th Anniversary Donation to Creative Commons\" width=\"500\" height=\"500\" />\n",
        "date_published": "2025-05-28T21:19:00-05:00",
        "url": "https://www.thingelstad.com/2025/05/28/poap-at-weekly-thing-th.html",
        "tags": ["POAP","POAP Claims","Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/05/22/omnivore-announced-they-were-shutting.html",
        
        "content_html": "<p>Omnivore <a href=\"https://www.theverge.com/2024/10/29/24283055/one-of-my-favorite-read-later-apps-is-shutting-down\">announced they were shutting down</a> last October, but it wasn&rsquo;t until this week I saw a group of Omnivore addresses subscribed to the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> bounce. Seems they turned off the email addresses now.</p>\n",
        "date_published": "2025-05-22T17:34:15-05:00",
        "url": "https://www.thingelstad.com/2025/05/22/omnivore-announced-they-were-shutting.html",
        "tags": ["Weekly Thing","Productivity","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/05/11/manu-recently-added-an-rss.html",
        
        "content_html": "<p><a href=\"https://manuelmoreale.com\">Manu</a> recently added an RSS feed of new sites to <a href=\"https://blogroll.org\">Blogroll</a>. I popped it into <a href=\"https://feedbin.com\">Feedbin</a> to discover new blogs. I explored a few and was delighted at the diversity of sites these bloggers have. If there is an opposite of scrolling an algorithmic feed it is this. Let&rsquo;s bring surfing the web back. 🏄</p>\n",
        "date_published": "2025-05-11T07:46:28-05:00",
        "url": "https://www.thingelstad.com/2025/05/11/manu-recently-added-an-rss.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/05/10/thanks-to-the-recent-fix.html",
        
        "content_html": "<p>Thanks to the recent <a href=\"https://news.micro.blog/2025/05/09/fixed-exporting-very-large-archives.html\">fix on micro.blog</a> allowing blogs over 5G to export I got my first backup in 2 years and 4 months! My total backup is now 11.58 GB, and it seems in the last couple years I averaged 187.5 MB of additions a month. ☺️</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/535d1ed1a7.png\" width=\"600\" height=\"317\" alt=\"Finder window showing four Micro.blog archive files dated from 2021 to today, ranging in size from 4.68 GB to 11.58 GB.\">\n",
        "date_published": "2025-05-10T20:04:47-05:00",
        "url": "https://www.thingelstad.com/2025/05/10/thanks-to-the-recent-fix.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/05/06/how-to-newsletter-lessons-from.html",
        "title": "How to Newsletter: Lessons from 300 Issues of the Weekly Thing",
        "content_html": "<em>\n<p>This is an article version of the presentation I gave at Minnebar 19 on <a href=\"https://www.thingelstad.com/2025/04/28/minnebar-how-to-newsletter-session.html\">How to Newsletter</a>.</p>\n<p>To create this I used <a href=\"https://apps.apple.com/us/app/whisper-memos-speech-to-text/id6443658039\">Whisper Memos</a> on my iPhone to capture the transcription. I did some general editing to remove some preamble and ad hoc dialog, did a read through to correct any obvious issues, and added images for each of my slides. I then asked GPT o3 to use the transcription to create an article using this prompt:</p>\n<blockquote>\n<p>I have a raw transcript of a talk. Please convert it into a well-structured written article that preserves the speaker&rsquo;s voice, tone, and all content exactly as it was spoken&ndash;do not omit or add anything. Improve readability by correcting grammar and sentence flow, organizing content into appropriate paragraphs, and inserting section breaks that follow the speaker&rsquo;s original structure. Do not turn this into a summary or reinterpret the ideas. Use images from the transcript as section markers when available. Maintain the informal, personal tone of the speaker throughout.</p>\n<ul>\n<li>Do not use bullet points unless the speaker clearly uses them.</li>\n<li>Preserve all first-person phrasing and casual language.</li>\n<li>Remove filler words like &lsquo;so&rsquo;, &rsquo;like&rsquo;, and &lsquo;kind of&rsquo; unless they assist readability.</li>\n<li>Ensure the article can stand alone for publication.</li>\n</ul>\n</blockquote>\n<p>With a proofread here is that version of this presentation.</p>\n</em>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/98897cefa6.jpg\" width=\"600\" height=\"449\" alt=\"A speaker is presenting a session titled How to Newsletter in front of an audience.\">\n<p>What I wanted to talk about is &ldquo;How To Newsletter.&rdquo; I&rsquo;ve been sending a newsletter now for eight years, and I&rsquo;ve learned a lot in that process. I thought it&rsquo;d be fun to share that knowledge. I actually planned to do this session in 2023&ndash;so if you&rsquo;re thinking, &ldquo;Didn&rsquo;t he already do this?&rdquo;&ndash;I had to cancel it that year. Now we&rsquo;re two years later, and I&rsquo;ve got two more years of learnings and 50 more issues of my newsletter under my belt.</p>\n<p>As I put this talk together, I realized it&rsquo;s not just about how to newsletter. It could also be about how to run a complex side project, or how to consistently do something for eight years. It&rsquo;s also about how to apply automation to make that kind of work easier. So, depending on what you&rsquo;re looking for, you might take away more than just newsletter tips&ndash;this is also about managing a long-term, detailed endeavor.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/how-to-newsletter.002.png\" width=\"600\" height=\"337\" style=\"border: 3px grey outset;\" alt=\"A presentation slide introduces Jamie, highlighting a career as a technologist, CTO experience, board membership, a family in Minneapolis, blogging activities, and a photograph of Jamie with a bird on his hat.\">\n<p>First, who am I? I&rsquo;m Jamie Thingelstad. I&rsquo;m a passionate technologist. I&rsquo;ve been into tech since I was a kid, started programming BASIC on a TRS-80&ndash;you can figure out my age from that&ndash;and I&rsquo;ve always loved building things. I&rsquo;ve had a 20+ year career as a Chief Technology Officer, came into the field as the web was being born, built a couple of companies, and eventually started building things with groups to do even bigger work.</p>\n<p>I&rsquo;m on the board of the Minnesota Technology Association and previously served on the board of Minnestar. I live in Minneapolis with my wonderful family. I&rsquo;ve also been a blogger for 20+ years&ndash;which plays a big role when we talk about newsletters&ndash;and I&rsquo;ve been publishing <em>The Weekly Thing</em> for eight years now.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/how-to-newsletter.003.png\" width=\"600\" height=\"337\" style=\"border: 3px grey outset;\" alt=\"The image showcases two emails titled Weekly Thing and Weekly Thing 316, highlighting newsletter content along with a logo and contact details.\">\n<p>Why a newsletter? What led me to start <em>The Weekly Thing</em>? The image here shows the very first issue from May 13, 2007&ndash;it looked totally different from current issues. The one shown here is issue 316 from two weeks ago.</p>\n<p>Back in 2017, newsletters were having a moment. People were launching them, companies were seeing them as a way to go directly to inboxes and bypass platforms. That intrigued me. I&rsquo;d been blogging for over a decade and wanted to play with the newsletter medium. But then came the question: what would I put in it?</p>\n<p>I&rsquo;ve always been a voracious consumer of online content. I used bookmarking services like del.icio.us (anyone remember that?) and later Pinboard. My first bookmark is from August 2005. At one point, I thought about making a link blog, but it didn&rsquo;t vibe with me. So I combined that impulse with the newsletter idea and decided I&rsquo;d curate and share content I found interesting each week.</p>\n<p>Importantly, I ignored most of the newsletter &ldquo;growth hacks.&rdquo; I&rsquo;m cynical about stuff like that. I just wanted to share good content, without any tricks. I didn&rsquo;t have a specific topic, but I committed to doing it for a year. Now, eight years later, it&rsquo;s still a fun and meaningful project, and I feel like I&rsquo;m giving back by sharing useful information.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/how-to-newsletter.004.png\" width=\"600\" height=\"337\" style=\"border: 3px grey outset;\" alt=\"A slide presents three steps for finding good content: using Feedbin and Safari Reading List, quickly reading and filtering, and curating with Pinboard tags.\">\n<p>The first thing I had to solve: how do I find content? For me, it&rsquo;s RSS. I&rsquo;m a huge fan. I don&rsquo;t get content from social media&ndash;it&rsquo;s all RSS feeds and readers like Feedbin and Unread. No algorithms. I scan headlines efficiently and ask one question: is this interesting?</p>\n<p>If yes, it goes into my Safari Reading List. From there, I narrow it down&ndash;maybe 100 items become 10. Then I read them more closely. The final step is saving them to Pinboard, my bookmarking tool. It&rsquo;s super fast, hasn&rsquo;t seen a new feature in a decade, and that&rsquo;s totally fine. I also tag links there to mark if they&rsquo;re a &ldquo;featured item&rdquo; or just a &ldquo;brief.&rdquo; That tagging helps structure my newsletter.</p>\n<p>I also blog every week and include a photo I&rsquo;ve taken that week&ndash;no cheating from the archive! That addition pushes my creative side and makes each issue more personal.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/how-to-newsletter.005.png\" width=\"600\" height=\"337\" style=\"border: 3px grey outset;\" alt=\"A workflow presentation outlines a GTD method using OmniFocus TaskPaper templates along with key phases and deadlines.\">\n<p>Now let&rsquo;s talk about workflow. You can&rsquo;t just have one OmniFocus task that says &ldquo;Send newsletter&rdquo;&ndash;there&rsquo;s way too much involved. I&rsquo;ve practiced GTD (Getting Things Done) for over a decade, and I use OmniFocus with TaskPaper templates.</p>\n<p>Each issue is a full project, with variables like the issue number and date. I run a Shortcut that sets the new issue, defines the date, the range of days it covers, and then creates a project in OmniFocus. I like templates more than repeating projects because they let me make adjustments for each issue.</p>\n<p>There are four main phases: create content, curate content, build it, and finalize it. And I spend very little time on the assembly because almost all of it is automated.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/how-to-newsletter.006.png\" width=\"600\" height=\"337\" style=\"border: 3px grey outset;\" alt=\"A layout of various app icons, including an automation app and a series of colorful shortcut icons labeled with tasks, is shown against a white background.\">\n<p>The key tool for automation? Shortcuts. You have it on your iPhone and Mac. I&rsquo;ve built dozens of Shortcuts to run everything from creating sections to finalizing output. Each section returns Markdown. One Shortcut runs the list, combines them, and boom&ndash;newsletter built.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/how-to-newsletter.007.png\" width=\"600\" height=\"337\" style=\"border: 3px grey outset;\" alt=\"A diagram illustrates an automation process for generating and managing content using various shortcuts and APIs, with a focus on building issues, setting sections, and hosting images.\">\n<p>Here&rsquo;s how it works. One main Shortcut runs an array of other Shortcuts. Each returns a Markdown section like intro, quote, featured, currently, etc. They can pull from APIs, my blog (via RSS), Pinboard, and Drafts. I store shared data in Data Jar&ndash;a kind of lightweight, shared memory for Shortcuts.</p>\n<p>So when I say &ldquo;build the issue,&rdquo; it runs each section, combines the results, and I&rsquo;ve got a finished draft ready to go. All of this is lightweight&ndash;no Python, no compiling, just using built-in tools.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/how-to-newsletter.008.png\" width=\"600\" height=\"337\" style=\"border: 3px grey outset;\" alt=\"The image outlines a toolchain consisting of various tools for content curation, building, assembly, sending, running, and orchestration, including apps like Feedbin, Shortcuts, Buttondown, OmniFocus, Safari, Drafts, Stripe, Pinboard, and Data Jar.\">\n<p>Here&rsquo;s my toolchain and why I use each part:</p>\n<ul>\n<li><strong>Feedbin</strong>: This is where all my RSS feeds live&ndash;around 300 of them. It&rsquo;s fast, stable, and does exactly what I need. For $30 a year, it&rsquo;s an incredible value. No fluff, just the right features.</li>\n<li><strong>Unread</strong>: This is the mobile app I use to actually read those feeds. It&rsquo;s ridiculously fast and makes getting through content frictionless. I don&rsquo;t want to waste time loading or tapping around.</li>\n<li><strong>Safari</strong>: Specifically for the Reading List. I like that it&rsquo;s integrated across all my Apple devices, and it&rsquo;s a really handy staging area between &ldquo;that looks cool&rdquo; and &ldquo;this is newsletter-worthy.&rdquo;</li>\n<li><strong>Pinboard</strong>: The workhorse. I have over 15,000 links in there and it&rsquo;s still lightning fast. It hasn&rsquo;t been updated in years&ndash;and I love that. No surprises. It&rsquo;s rock solid.</li>\n<li><strong>Drafts</strong>: This is where my text starts. It&rsquo;s not a notes app. It&rsquo;s a place where text goes to live temporarily, get processed, get acted upon. I have a system in there for my Currently section, where I jot down stuff throughout the week.</li>\n<li><strong>Data Jar</strong>: A magical tool. Think of it like shared memory across Shortcuts. Shortcut A writes something, Shortcut B can read it. Without it, this whole thing would be way more complex to stitch together.</li>\n<li><strong>Shortcuts</strong>: This is the engine. Every section of the newsletter is its own Shortcut. The Build script just stitches them together. It&rsquo;s modular, easy to extend, and Apple keeps improving it.</li>\n<li><strong>Buttondown</strong>: The sending platform. I used Mailchimp for a while, and it made me feel like I needed to be a marketer. Buttondown talks like a newsletter author. It supports Markdown, doesn&rsquo;t try to get fancy with HTML, and keeps things straightforward.</li>\n<li><strong>OmniFocus</strong>: My GTD backbone. I track everything in here, and it gives me clarity on what needs to be done and when.</li>\n<li><strong>Stripe</strong>: This is tied to Buttondown to handle Supporting Memberships. Super easy to set up, and now I&rsquo;m raising funds for digital nonprofits through it.</li>\n<li><strong>OpenAI</strong>: New to the stack. I&rsquo;m using it for help with subject lines, fortunes, and membership messaging. But always with control&ndash;I want it to help, not replace my voice.</li>\n</ul>\n<p>Each piece of this toolchain plays a role. They&rsquo;re like instruments in an orchestra, and together, they make this weekly project sustainable and honestly kind of delightful to run.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/how-to-newsletter.009.png\" width=\"600\" height=\"337\" style=\"border: 3px grey outset;\" alt=\"A slide titled Genuine Use of AI outlines tasks such as not rewriting styles, generating subject-line options, matching link themes, and supporting a membership program, alongside a screenshot of a tool interface.\">\n<p>Let&rsquo;s talk AI. I don&rsquo;t use it to write for me&ndash;I&rsquo;m protective of my voice. But there are areas where it helps. One is creating the subject line. I give it instructions: avoid publication names, maybe use alliteration, avoid negative terms, and be fun. Then it suggests five options. I pick the one I like&ndash;or modify it.</p>\n<p>I also use AI to generate a fortune at the end of each issue, based on that week&rsquo;s themes. And the Supporting Membership emails? Those are written in a different voice, and I let AI take more control there. It&rsquo;s actually kind of fun to create a character out of that voice&ndash;something that feels separate from me.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/how-to-newsletter.010.png\" width=\"600\" height=\"337\" style=\"border: 3px grey outset;\" alt=\"A presentation slide outlines strategies for sustaining a newsletter, highlighting scheduled breaks, cutoff times, and experimental approaches.\">\n<p>Sustainability over eight years requires boundaries. I cut off new content Friday night, giving me time to assemble and write. I also build buffers&ndash;if I miss Saturday, it goes Sunday.</p>\n<p>And I take real breaks: July and August, plus mid-December through mid-January. These breaks keep me from burning out. I think I&rsquo;d have quit long ago if I didn&rsquo;t step away like that.</p>\n<p>And this is a big one&ndash;I don&rsquo;t look at analytics. I don&rsquo;t track opens or clicks. I don&rsquo;t want to be influenced by what gets engagement. I&rsquo;m doing this to share what I find valuable. I don&rsquo;t want to chase metrics. Every week, some people unsubscribe. Every week, new people join. That&rsquo;s the rhythm. And it&rsquo;s okay.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/how-to-newsletter.011.png\" width=\"600\" height=\"337\" style=\"border: 3px grey outset;\" alt=\"A presentation slide details fundraising for Second Harvest, outlines a community initiative called Weekly Thing Forum on Ponder, and highlights an AI use case with 20 members contributing approximately $560.\">\n<p>I&rsquo;ve also treated the newsletter like a playground. During the pandemic, I raised over $12,000 for Second Harvest in Weekly Thing 141. I&rsquo;ve tried launching a forum using Ponder. Community engagement is tough, especially via email. People see a newsletter as a message, not a conversation starter.</p>\n<p>And I&rsquo;ve started Supporting Memberships. Each year, I pick a nonprofit to support. This year, it&rsquo;s Creative Commons&ndash;we&rsquo;re on track to raise around $560. Next year I&rsquo;m thinking Electronic Frontier Foundation.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/how-to-newsletter.012.png\" width=\"600\" height=\"337\" style=\"border: 3px grey outset;\" alt=\"A slide lists suggestions such as automating tasks, shipping on a rhythm, and subscribing to Weekly Thing, with a small emblem on the top right.\">\n<p>So, some final thoughts:</p>\n<p>Automate the drudgery. Save your energy for your words. Really preserve your voice. I do some spellcheck with AI, but I avoid grammar checks&ndash;they over-correct and erase personality. I&rsquo;ll ask AI to point out unclear sections, but I always make the edits myself.</p>\n<p>And if you&rsquo;re thinking about doing this, start small. A newsletter doesn&rsquo;t have to be forever. You could do one for a project, or a trip. Newsletters are a great medium&ndash;no platform noise, no algorithm drama. Just you and your readers.</p>\n<p>And if you want to subscribe, head over to <a href=\"https://weekly.thingelstad.com/\">Weekly Thing</a>. The eighth anniversary edition is coming up soon&ndash;and yes, there&rsquo;s a POAP for that too.</p>\n<p>That&rsquo;s all I&rsquo;ve got. Happy to take any questions!</p>\n<h3 id=\"related-articles\">Related Articles</h3>\n<p>Further reading…</p>\n<ul>\n<li><a href=\"https://www.thingelstad.com/2023/10/07/how-i-find.html\">How I Find Links for the Weekly Thing</a></li>\n<li><a href=\"https://www.thingelstad.com/2023/10/01/task-management-for.html\">Task Management for the Weekly Thing</a></li>\n<li><a href=\"https://www.thingelstad.com/2023/09/24/how-i-build.html\">How I Build the Weekly Thing</a></li>\n<li><a href=\"https://www.thingelstad.com/2025/03/09/how-i-use-ai-in.html\">How I Use AI in the Weekly Thing</a></li>\n<li><a href=\"https://www.thingelstad.com/2022/12/28/on-audience-capture.html\">On Audience Capture</a></li>\n<li><a href=\"https://www.thingelstad.com/2021/05/13/four-years-of.html\">Four Years of the Weekly Thing</a></li>\n<li><a href=\"https://www.thingelstad.com/2024/11/17/weekly-thing-supporting.html\">Weekly Thing Supporting Memberships</a></li>\n<li><a href=\"https://www.thingelstad.com/2023/09/22/introducing-weekly-thing.html\">Introducing the Weekly Thing Forum</a></li>\n</ul>\n",
        "date_published": "2025-05-06T20:00:00-05:00",
        "url": "https://www.thingelstad.com/2025/05/06/how-to-newsletter-lessons-from.html",
        "tags": ["Minnestar","Weekly Thing","Software Development","Productivity","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/05/06/i-created-my-th-photo.html",
        
        "content_html": "<p>I created my 100th photo collection on micro.blog today! It has been a very useful feature.</p>\n",
        "date_published": "2025-05-06T19:13:59-05:00",
        "url": "https://www.thingelstad.com/2025/05/06/i-created-my-th-photo.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/05/04/poap-at-indieweb-carnival-renewal.html",
        
        "content_html": "<p>POAP <a href=\"https://collectors.poap.xyz/token/7347510\">7347510</a> at <strong><a href=\"https://poap.gallery/drops/189625\">IndieWeb Carnival - Renewal</a></strong>.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/a7e37da8-12e9-4668-af2f-556292b75baa.png\" alt=\"Circular badge reading IndieWeb Carnival Renewal April 2025 decorated with yellow daffodils, purple crocuses, and green foliage\" width=\"500\" height=\"500\" />\n",
        "date_published": "2025-05-04T18:59:20-05:00",
        "url": "https://www.thingelstad.com/2025/05/04/poap-at-indieweb-carnival-renewal.html",
        "tags": ["POAP","POAP Claims","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/04/30/renewal-indieweb-carnival-roundup.html",
        "title": "Renewal — IndieWeb Carnival Roundup",
        "content_html": "<p>I’m wrapping up my very first time hosting an <a href=\"https://indieweb.org/IndieWeb_Carnival\">IndieWeb Carnival</a>. After a good amount of deliberation I set this month&rsquo;s theme of <a href=\"https://www.thingelstad.com/2025/03/27/renewal-indieweb-carnival.html\">Renewal</a>. It has been interesting to see how different people pulled that in.</p>\n<p>Here are this month&rsquo;s carnival submissions in approximately the order they were sent in. Thank you all for jumping in and being part of this blog carnival!</p>\n<ul>\n<li>Lou Plummer on <a href=\"https://louplummer.lol/renewal-april-indie-web-carnival/\">School Starts in August</a></li>\n<li>Chris Shaw on <a href=\"https://thoughts.uncountable.uk/renewal/\">Renewal</a></li>\n<li>Marisabel Munoz on <a href=\"https://marisabel.nl/public/blog/The_Promise_of_Dawn\">The Promise of Dawn</a></li>\n<li>Sarah Gebauer on <a href=\"https://www.sarahgebauer.com/desk/spiralling-up-and-down/\">Spiraling up and down</a></li>\n<li>Mike Sass on <a href=\"https://shellsharks.com/renewal\">Renewal</a></li>\n<li>Molly on <a href=\"https://drmollytov.dev/2025-04-15\">(Book) Renewal</a></li>\n<li>Sara Jakša on <a href=\"https://sarajaksa.eu/2025/04/indieweb-carnival-april-2025-the-space-to-breathe/\">The Space to Breathe</a></li>\n<li>Reilly Spitzfaden on <a href=\"https://reillyspitzfaden.com/posts/2025/04/indieweb-blog-carnival-renewal/\">Renewal</a></li>\n<li>Sacha Chua on <a href=\"https://sachachua.com/blog/2025/04/indieweb-april-2025-renewal/\">Renewal</a></li>\n<li>Juha-Matti Santala on <a href=\"https://hamatti.org/posts/resisting-the-urge-to-rewrite-the-website/\">Resisting the urge to rewrite the website</a></li>\n<li>Ken wrote about <a href=\"https://ken.fyi/neighbors\">Neighbors</a></li>\n<li>Nick Simon wrote on <a href=\"https://www.nicksimson.com/posts/2025-slow-renewal.html\">Slow Renewal</a></li>\n<li>Daryl Sun on <a href=\"https://blog.darylsun.page/2025/04/24/se-9-indieweb-carnival-april-2025\">Renewal</a></li>\n<li>Fractal Kitty wrote <a href=\"https://toground.link/deep-in-the-sitka/\">deep in the sitka</a></li>\n<li>Lianna posted on <a href=\"https://libre.town/thoughts/entry_15_full.html\">Libre Town Renewal</a></li>\n<li>Frank Meeuwsen on <a href=\"https://frankmeeuwsen.com/2025/04/27/renewal-indieweb-carnival-april.html\">Renewal</a></li>\n<li>Manu Moreale on <a href=\"https://manuelmoreale.com/indieweb-carnival-renewal\">Renewal</a></li>\n<li>Annie Mueller on <a href=\"https://anniemueller.com/posts/before-the-next-beginning\">Before the next beginning</a></li>\n<li>David O&rsquo;Hara on <a href=\"https://davoh.org/2025/04/30/renewal.html\">Renewal</a></li>\n<li>Arunkumar Bhat on <a href=\"https://inkbalance.blogspot.com/2025/04/renewal-indieweb-carnival.html\">Renewal</a></li>\n<li>Steve Ledlow on <a href=\"https://tangiblelife.net/renewal\">Renewal</a></li>\n<li>Andrea Contino on <a href=\"https://contino.com/blog/indieweb-carnival-renewal\">Renewal</a></li>\n<li>Joe Crawford on <a href=\"https://artlung.com/blog/2025/04/30/reboot-renewal/\">Reboot, Renewal</a></li>\n<li>Jamie Thingelstad on <a href=\"https://www.thingelstad.com/2025/04/30/musical-renewal.html\">Musical Renewal</a></li>\n<li>Martín Morales on <a href=\"https://mrtnmrls.com/renewal\">Renewal</a></li>\n<li>Josh Ellis on <a href=\"https://www.ramblingjosh.com/2025/05/07/renewal.html\">Renewal</a></li>\n</ul>\n<p>I couldn&rsquo;t help myself but to make a special POAP for the people that participated. I’m going to send the <a href=\"https://poap.gallery/drops/189625\">IndieWeb Carnival - Renewal</a> POAP token to each person.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/poap-renewal.png\" alt=\"Circular badge with spring flowers including daffodils and purple crocuses, reading IndieWeb Carnival, RENEWAL, April 2025\" style=\"max-width: 500px;\" >\n",
        "date_published": "2025-04-30T21:30:58-05:00",
        "url": "https://www.thingelstad.com/2025/04/30/renewal-indieweb-carnival-roundup.html",
        "tags": ["POAP","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/04/28/it-was-eight-years-ago.html",
        
        "content_html": "<p>It was eight years ago today that I <a href=\"https://www.thingelstad.com/2017/04/28/ive-been-looking.html\">started using micro.blog</a>. Seems wild that it has been that long. It has grown into a really great blogging platform. I’m looking forward to the next eight years. Congrats <a href=\"https://micro.blog/manton\">@manton</a>!</p>\n",
        "date_published": "2025-04-28T22:29:38-05:00",
        "url": "https://www.thingelstad.com/2025/04/28/it-was-eight-years-ago.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/04/28/my-favorite-indieweb-services-microblog.html",
        
        "content_html": "<p>My favorite Indieweb services — <a href=\"https://micro.blog\">Micro.blog</a> and <a href=\"https://buttondown.com\">Buttondown</a> — have had a tough week. They worked through it.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/691de8bbe3.png\" alt=\"Weekly uptime status table showing 13 websites across Mon 21st through Sun 27th, with outages mostly on Saturday and Sunday ranging from 3 to 7 hours.\">\n",
        "date_published": "2025-04-28T22:15:36-05:00",
        "url": "https://www.thingelstad.com/2025/04/28/my-favorite-indieweb-services-microblog.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/04/28/minnebar-how-to-newsletter-session.html",
        "title": "Minnebar 19 \"How to Newsletter\" Session POAP",
        "content_html": "<p>I made a <a href=\"https://poap.gallery/drops/189534\">special POAP</a> just for folks that attend my <a href=\"https://sessions.minnestar.org/sessions/1811\">How to Newsletter</a> session at Minnebar 19! If you join this session I&rsquo;ll have a NFC card in the room you can tap to add this fun one to your collection!</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/how-to-newsletter-poap.png\" alt=\"Red circle badge with email envelope icon showing at-sign, surrounded by decorative shapes and symbols\"  style=\"max-width: 500px;\" >\n",
        "date_published": "2025-04-28T20:52:16-05:00",
        "url": "https://www.thingelstad.com/2025/04/28/minnebar-how-to-newsletter-session.html",
        "tags": ["Minnestar","POAP","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/04/11/blogging-is-smallp-political-again.html",
        
        "content_html": "<p>&ldquo;Blogging is small-p political again, today. It&rsquo;s come back round. It&rsquo;s a statement to put your words in a place where they are not subject to someone else&rsquo;s algorithm telling you what success looks like; when you blog, your words are not a vote for the values of someone else&rsquo;s platform.&rdquo; — <a href=\"https://manuelmoreale.com/pb-matt-webb\">Matt Webb</a>, Interview for <a href=\"https://peopleandblogs.com\">People and Blogs</a>, as <a href=\"https://simonwillison.net/2025/Apr/5/matt-webb/\">quoted by Simon Willison</a>.</p>\n",
        "date_published": "2025-04-11T17:30:00-05:00",
        "url": "https://www.thingelstad.com/2025/04/11/blogging-is-smallp-political-again.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/04/10/florence-with-barry-hess.html",
        "title": "Florence with Barry Hess",
        "content_html": "<p>One of the ways that a <a href=\"https://www.thingelstad.com/2025/04/03/blogging-as-a-gift.html\">blog can be a gift</a> is to give others the option to go on journeys with you to <a href=\"https://www.thingelstad.com/2025/04/06/telling-stories-with-maps.html\">locations far away</a>. In 2023 our family took a <a href=\"https://www.thingelstad.com/collections/switzerland-italy-2023/\">trip to Switzerland &amp; Italy</a>, and we spent four wonderful days in Florence (day <a href=\"https://www.thingelstad.com/2023/07/27/switzerland-italy-log.html\">14</a>, <a href=\"https://www.thingelstad.com/2023/07/28/switzerland-italy-log.html\">15</a>, <a href=\"https://www.thingelstad.com/2023/07/29/switzerland-italy-log.html\">16</a>, and <a href=\"https://www.thingelstad.com/2023/07/30/switzerland-italy-log.html\">17</a>). It was a great (if not hot!) time.</p>\n<p>Since we had been there just two years ago it piqued my interest when I saw fellow blogger <a href=\"https://bjhess.com/\">Barry Hess</a> was going there with his family to visit their daughter that is there for school. And what a gift Barry gave to himself and us with these wonderful daily recaps of their trip. It was fun to remember our own trip, and to see what they explored over a longer stay in Florence.</p>\n<p>Here is each of his posts by day with great overviews and photos.</p>\n<ul>\n<li><a href=\"https://bjhess.com/posts/florence-arrivo\">Florence: Arrivo</a> (Mar 27)</li>\n<li><a href=\"https://bjhess.com/posts/florence-rimpinzati-di-cibo\">Florence: Rimpinzati di Cibo</a> (Mar 28)</li>\n<li><a href=\"https://bjhess.com/posts/florence-arti-e-musica\">Florence: Arti e Musica</a> (Mar 29)</li>\n<li><a href=\"https://bjhess.com/posts/florence-arti-ii-e-calcio\">Florence: Arti II e Calcio</a> (Mar 30)</li>\n<li><a href=\"https://bjhess.com/posts/florence-giornata-libera\">Florence: Giornata Libera</a> (Mar 31)</li>\n<li><a href=\"https://bjhess.com/posts/florence-davide-le-chiese-e-i-dottori\">Florence: Davide, Le Chiese e i Dottori</a> (Apr 1)</li>\n<li><a href=\"https://bjhess.com/posts/florence-sonno-e-regalita\">Florence: Sonno e Regalità</a> (Apr 2)</li>\n<li><a href=\"https://bjhess.com/posts/florence-a-cortona\">Florence: A Cortona</a> (Apr 3)</li>\n<li><a href=\"https://bjhess.com/posts/cortona-riposo\">Cortona: Riposo</a> (Apr 4)</li>\n<li><a href=\"https://bjhess.com/posts/cortona-esplorare\">Cortona: Esplorare</a> (Apr 5)</li>\n<li><a href=\"https://bjhess.com/posts/cortona-a-florence\">Cortona: A Florence</a> (Apr 6)</li>\n<li><a href=\"https://bjhess.com/posts/florence-finale\">Florence: Finale</a> (Apr 7)</li>\n</ul>\n<p>Reading along made me want to go back. 🇮🇹</p>\n",
        "date_published": "2025-04-10T21:50:00-05:00",
        "url": "https://www.thingelstad.com/2025/04/10/florence-with-barry-hess.html",
        "tags": ["Travel","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/04/06/telling-stories-with-maps.html",
        "title": "Telling Stories with Maps",
        "content_html": "<p>These days we mostly interact with maps in a singular, digital manner. However, if you want to have a guaranteed way to get a conversation going in a group put a map in front of everyone and shortly the stories will start coming. &ldquo;I remember when we were here and this thing happened.&rdquo; A long time ago I was in <a href=\"https://www.thingelstad.com/2007/08/11/canadian-fishing-trip.html\">Canada at a remote location fishing</a>. Every evening over dinner the entire group would hover over the map of the area and share stories of the day. &ldquo;This is where we caught this huge Northern.&rdquo; &ldquo;Over here is where the Walleye are in the morning.&rdquo; &ldquo;We took the boat down this stream and it was too shallow for the prop.&rdquo; Maps can be an incredible way to tell stories.</p>\n<p>Telling stories with maps is one of the things that I wish blogs did better. My blog has posts that I created from all over the place, but you wouldn&rsquo;t know it to read it. You can see my archive of thousands of posts, but you cannot easily see the posts I created in Iceland, or various times I visited a specific state. How about the blog posts on a road trip that connect together to tell the story of the whole trip?</p>\n<p>This desire to tell stories through maps is why I got really excited to see <a href=\"https://microsocial.micro.blog/2025/04/02/locations-locations-locations.html\">Micro Social add support for locations</a>. Micro.blog has <a href=\"https://help.micro.blog/t/location-api-data/106\">supported location data</a> for posts since the very beginning. However, it has always felt like an afterthought created to allow people to import Foursquare activity. I&rsquo;ve wished for years that the Micro.blog app would attach my location to all my posts. I get not everyone would want this, but it would seem to be an easy add for those that do. Now at least I can use <a href=\"https://microsocial.micro.blog\">Micro Social</a> to do this.</p>\n<p>Ultimately I wish that my blogging platform would allow me to use location like I use time stamps. The time stamp of a post is the when. The location is the where. The archive page shows posts by the when. There should be a map page that shows posts by the where. The same way I can create collections of photos, I would like collections of posts and then show a map of those collections. I can edit the time stamp of a post, I would like to edit the location of a post.</p>\n<p>Even social platforms that do collect this information do this poorly. I suspect they mostly use location as another surveillance tool to target advertising as opposed to creating a new way to share things.</p>\n<p>Full support of location data for posts would create a whole new way to tell stories and connect the writing on your blog together. I&rsquo;ll keep wishing, but I know that if I could add and edit location data to posts I&rsquo;d be doing that during <a href=\"https://www.thingelstad.com/2023/09/04/blog-gardening.html\">gardening</a>, and it would create an incredibly rich and vibrant way to tell more stories.</p>\n",
        "date_published": "2025-04-06T08:15:35-05:00",
        "url": "https://www.thingelstad.com/2025/04/06/telling-stories-with-maps.html",
        "tags": ["Technology","Blogging","Privacy \u0026 Security"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/04/03/blogging-as-a-gift.html",
        "title": "Blogging as a Gift",
        "content_html": "<p>Engagement is the powerful drug of social platforms. Sometimes it is blatant and in your face, such as a notice that your post is trending. More often it is wrapped as a feature, such as <a href=\"https://www.thingelstad.com/2018/02/04/identify-addictive-application.html\">analytics as addiction</a> letting you know how many views, likes, and other such engagement your post receives. This feedback loop is a slot machine: random, addictive, and unpredictable.</p>\n<p>Being a blogger removes all of that. As Manton Reece, the creator of micro.blog, recently shared <a href=\"https://www.manton.org/2025/03/29/no-one-cares-for-now.html\">no one cares (for now)</a>, and that is okay. This is writing on the web. First off it is almost always harder to write a blog post. This post has structure, sentences and paragraphs, not just a &ldquo;blurb&rdquo; spewed into the melee. Actual thoughts strung together with English grammar. The open web lacks engagement devices such as those views, likes, and &ldquo;re-whatevers&rdquo;. You may trigger an email. I got one of those this morning from <a href=\"https://manuelmoreale.com\">Manu</a> on a post I wrote yesterday. That&rsquo;s rare. And no one else knows. No one sees that I received a &ldquo;❤️ 1&rdquo;.</p>\n<p>So why do it? Why write post after post into the void with nobody engaging? Why bother with a more difficult approach?</p>\n<p>I&rsquo;ve been blogging for two decades. It isn&rsquo;t all that different from journaling, but it is completely open and world readable. I would encourage bloggers to not think about the individual post. Instead, think about the collection of writing, over weeks and years, as a body of work. It is a body of work that you are constantly adding to. Growing and improving. The individual post is but one breath. It comes and goes. But over the course of time this adds up. It is the cumulative action that creates something truly great.</p>\n<p>But who is your audience? Who is this for? You. Yourself. Your family. Your friends. Your friend&rsquo;s friends. Your neighborhood. And they can have it whenever they want. As a gift. A gift from you to them. Not a gift to be measured in engagement, but instead as a body of work. A gift to the web, which is a gift to people.</p>\n",
        "date_published": "2025-04-03T07:05:22-05:00",
        "url": "https://www.thingelstad.com/2025/04/03/blogging-as-a-gift.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/03/27/renewal-indieweb-carnival.html",
        "title": "Renewal — IndieWeb Carnival",
        "content_html": "<p>When I signed up to host this <a href=\"https://indieweb.org/IndieWeb_Carnival\">IndieWeb Carnival</a> it was several months in the future and I thought it would be simple to put a theme together and run the carnival. As it approached I started to feel like the theme I had in mind wasn&rsquo;t a theme but more a topic and wasn&rsquo;t going to be big enough for a whole carnival. I explored a bunch of avenues for different options and wasn&rsquo;t finding anything I loved.</p>\n<p>I decided to ask the family over dinner. They had no idea what a blog carnival is, but that is fine. Right away <a href=\"https://tammy.thingelstad.com\">Tammy</a> suggested <strong>Renewal</strong>. For those of us in the Northern Hemisphere it is Spring and it has that feeling of renewal. As we rolled it around more I liked it more. It is <strong>April</strong>, it is Spring, and it is a time of <strong>renewal</strong>.</p>\n<p>The theme of renewal resonated with me because it can apply to so many things. Renewal could happen in a day or a year. It could apply to your relationships, yourself, your digital world, whatever you want. We can point a desire for renewal anywhere we like.</p>\n<ul>\n<li>We can renew the bonds of our most treasured and intimate relationships.</li>\n<li>Connecting more with friends and family renews those relationships.</li>\n<li>Watching the plants come to life after a long winter sparks thought of renewal.</li>\n<li>I think after decades of commercialized and surveilled social networks on the web it is time for a renewed focus on writing, publishing, and people.</li>\n</ul>\n<p>Do you have a story of renewal to share? Is there a need for renewal that you see and a way to make that happen? How do you approach renewal?</p>\n<p>Everyone and anyone is welcome to participate in this IndieWeb Carnival. Share your stories of renewal and send a webmention to this page and <strong><a href=\"mailto:jamie@thingelstad.com?subject=IndieWeb%20Carnival\">email me</a> to submit your posts</strong>. I will share a list of all posts!</p>\n",
        "date_published": "2025-03-27T21:17:13-05:00",
        "url": "https://www.thingelstad.com/2025/03/27/renewal-indieweb-carnival.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/03/27/i-signed-up-to-run.html",
        
        "content_html": "<p>I signed up to run a session at Minnebar 19! I&rsquo;m going to host <strong><a href=\"https://sessions.minnestar.org/sessions/1811\">How to Newsletter</a>: Lessons from 300 issues of the Weekly Thing</strong>. I had originally planned <a href=\"https://www.thingelstad.com/2023/03/04/hosting-minnebar-how.html\">do this at Minnebar 17</a> but had to cancel. I&rsquo;m looking forward to going deep and broad on how I do all this! Come if you are in Minneapolis!</p>\n",
        "date_published": "2025-03-27T20:45:28-05:00",
        "url": "https://www.thingelstad.com/2025/03/27/i-signed-up-to-run.html",
        "tags": ["Minnestar","Weekly Thing","Blogging","Tech Community"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/03/24/im-super-excited-to-see.html",
        
        "content_html": "<p>I&rsquo;m super excited to see Ben Edwards <a href=\"https://micro.blog/alttext\">@alttext</a> now on micro.blog! Ben <a href=\"https://alttext.micro.blog/hi-im-ben/\">has a done a bunch</a> but in my mind he&rsquo;s always one of the folks that got <a href=\"https://minnestar.org\">minnestar</a> off the ground. He was emailing me over the weekend about blogging stuff — I think you&rsquo;re gonna like it Ben! Picture from Minnebar 2009. 🙌</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/f83ac8a512.jpg\" width=\"600\" height=\"400\" alt=\"Ben Edwards at Minnebar in 2009.\">\n",
        "date_published": "2025-03-24T20:03:58-05:00",
        "url": "https://www.thingelstad.com/2025/03/24/im-super-excited-to-see.html",
        "tags": ["Minnestar","Blogging","Tech Community"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/03/23/months-ago-when-i-signed.html",
        
        "content_html": "<p>Months ago when I signed up to host the April <a href=\"https://indieweb.org/IndieWeb_Carnival\">IndieWeb Carnival</a> I thought it was a great idea and now I&rsquo;m finding myself atypically anxious about choosing a good topic! 😬</p>\n",
        "date_published": "2025-03-23T15:21:18-05:00",
        "url": "https://www.thingelstad.com/2025/03/23/months-ago-when-i-signed.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/03/16/twitter-interview-from-years-ago.html",
        "title": "Twitter Interview from 16 Years Ago",
        "content_html": "<p>While doing my <a href=\"https://www.thingelstad.com/2023/09/04/blog-gardening.html\">blog gardening</a> today I noticed that it was <strong>16 years</strong> ago today that I was a <a href=\"https://www.thingelstad.com/2009/03/16/guest-on-minnesota.html\">guest on MPR&rsquo;s Midmorning show talking about Twitter</a>! I decided to give it a listen, and while I was at it I ran the audio through <a href=\"https://apps.apple.com/us/app/whisper-transcription/id1668083311?mt=12\">Whisper Transcription</a> and added a transcript to the post. <a href=\"https://www.thingelstad.com/2009/03/16/guest-on-minnesota.html\">Listen or read</a>! 😊</p>\n<p>It all seems very quaint in retrospect. I had been on Twitter at that time for 27 months and as <a href=\"https://www.johnmoe.website/\">John Moe</a> shares in the intro it had 8 million users at the time. Moe quotes <a href=\"https://en.wikipedia.org/wiki/Joe_Soucheray\">Joe Sucheray</a> saying Twitter was &ldquo;the end of the world.&rdquo; He was maybe seeing better than <a href=\"http://www.ojezap.com\">Julio Ojeda-Zapata</a>, my fellow panelist and I. I had almost forgot that <a href=\"https://www.johnhodgman.com/\">John Hodgman</a> joined us on the phone and that one of the callers &ldquo;Dave&rdquo; who teaches &ldquo;Greek and Latin&rdquo; is a friend of mine!</p>\n<p>Hashtags weren&rsquo;t a thing. Moe even says &ldquo;number sign&rdquo;. The word &ldquo;tweet&rdquo; was only just forming. I refer to the &ldquo;Twitterverse&rdquo; at one point.</p>\n<p>It did give me a big warm smile at the end though when I got a plug in for using RSS! As Tammy reflected, some things never change! ￼￼😁</p>\n",
        "date_published": "2025-03-16T16:19:03-05:00",
        "url": "https://www.thingelstad.com/2025/03/16/twitter-interview-from-years-ago.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/03/16/my-post-on-using-ai.html",
        
        "content_html": "<p>My post on <a href=\"https://www.thingelstad.com/2025/03/09/how-i-use-ai-in.html\">Using AI in the Weekly Thing</a> was highlighted in <a href=\"http://joshspector.com/\">Josh Spector</a>&rsquo;s <a href=\"https://fortheinterested.com/newsletter456/\">For the Interested 456</a> this week! Thanks to <a href=\"https://www.cjchilvers.com\">CJ Chilvers</a> for the heads up. 👋</p>\n",
        "date_published": "2025-03-16T10:02:16-05:00",
        "url": "https://www.thingelstad.com/2025/03/16/my-post-on-using-ai.html",
        "tags": ["Weekly Thing","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/03/09/how-i-use-ai-in.html",
        "title": "How I Use AI in the Weekly Thing",
        "content_html": "<p>I&rsquo;ve been working with AI for a while now, and as I feel with all new technologies, the best way to learn them is to play with them. I&rsquo;ve started to bring AI into my workflow for the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> and thought it would be good to share specifically where and how I’m using it.</p>\n<p>Before I get into the specifics, I want to make one thing clear: <strong>AI does not create the content of the Weekly Thing</strong>. I don&rsquo;t use it to summarize articles or generate any of the comments I make on them. It is critically important to me that I <strong>use my voice</strong> and that what I share <strong>is my voice</strong>. I am using AI as an assistant rather than a creator. If I had someone else helping me assemble the Weekly Thing as an assistant, where would that be helpful? Where would that assistant do a better job than me? Or where might it be desirable to have &ldquo;another voice&rdquo; in the mix?</p>\n<p>Right now I’m doing all this with a ChatGPT subscription using the 4o models. It is great that the ChatGPT app supports Shortcuts so I can do all of this in a largely or completely automated way. I could easily swap Claude in if I wish as it also supports Shortcuts automation.</p>\n<p>With that in mind, here is where I’m using LLM capabilities now. You&rsquo;ll note that in many of these cases I’m asking my &ldquo;assistant&rdquo; to generate options and then I’m doing the final selection and modifications. I think this is a good model.</p>\n<h3 id=\"subject\">Subject</h3>\n<p>The subject follows a simple structure of &ldquo;Weekly Thing «Number» / «Word», «Word», «Word»&rdquo;. These three words are selected from the titles of the links in each issue. I try to select triples that are interesting and engaging. The challenge is avoiding words from the website’s name, which appear inconsistently in article titles.</p>\n<p>Here is the prompt I’m using for this:</p>\n<blockquote>\n<p>You are a great editor and are helping me create the subject line for issue «Issue Number» of the Weekly Thing. The subject line follows a template with the number of this issue followed by three comma-separated words that are picked from the titles of the links contained in this issue. For example, &ldquo;Weekly Thing 234 / Blogging, Bitcoin, Bison&rdquo;.</p>\n<p>Guidelines for picking great words include:</p>\n<ul>\n<li>Do not use any words from the title of the publication. Only use words from the name of this article. Typically there is a hyphen or pipe between them.</li>\n<li>Using alliterations can be fun but not necessary. Do not always use alliterations.</li>\n<li>Try to pick a set of words that pique the readers curiosity. Words that are punchy and thought-provoking.</li>\n<li>Avoid words that are negative or sad.</li>\n<li>Acronyms are fine to include.</li>\n<li>Be creative and have fun.</li>\n</ul>\n<p>Please identify five options for subject lines. Each option should include three words from these titles. The three words are separated by commas. Return the list of options as JSON.</p>\n<p>List of titles for this week are:</p>\n<p>«List of titles»</p>\n</blockquote>\n<p>The prompt requests valid JSON output. I extract the JSON and use the &ldquo;Get Dictionary from Input&rdquo; method to create a structured data object. This allows me to put the LLM completely behind the scenes.</p>\n<h3 id=\"fortune\">Fortune</h3>\n<p>The fortune first showed up in <a href=\"https://weekly.thingelstad.com/archive/weekly-thing-53-may-12-2018/\">Weekly Thing 53</a> and has been the last thing in the emails for a while. I got the inspiration for this from the <code>fortune</code> <a href=\"https://en.wikipedia.org/wiki/Fortune_(Unix)\">command in Unix</a>. The text files that serve as the &ldquo;database&rdquo; for <code>fortune</code> are easy enough to find, and building a Shortcut around them was simple. I randomly select fortunes until I find one I like.</p>\n<p>But with an LLM, I thought — why not make the fortune relevant to each issue’s content?</p>\n<p>Here is the prompt that I’m using for this.</p>\n<blockquote>\n<p>You are helping me create a fitting fortune for issue «Issue Number» of the Weekly Thing. The fortune is similar to what you may get inside of a fortune cookie. The best fortunes are light-hearted, humorous, and thought provoking for the reader. The fortune is one of the last items included in each issue of the Weekly Thing.</p>\n<p>Guidelines for creating great fortunes:</p>\n<ul>\n<li>Keep it positive, fun, and interesting.</li>\n<li>Pull in themes or terms from the headlines of the articles included in each issue. Do not use terms from the title of the publication. Only use words or topics from the subject of the specific article.</li>\n<li>Avoid negative themes or topics.</li>\n<li>Fortunes should be short, no longer than 8 to 10 words.</li>\n<li>Feel free to include an emoji if it makes sense.</li>\n</ul>\n<p>Please identify five options for fortunes. Return the list of fortunes as a JSON object.</p>\n<p>List of titles for this week are:</p>\n<p>«List of Link Titles»</p>\n</blockquote>\n<p>This also returns a list of options. They are impressively good and it does a great job pulling in themes from the links in each issue.</p>\n<h3 id=\"byline\">Byline</h3>\n<p>The &ldquo;byline&rdquo; is the first sentence in the email. Over time, its role has evolved. Initially, it was a reminder of why you&rsquo;re receiving the email. Then I used a template to mechanically describe what was in the email. I&rsquo;ve always desired this to be an &ldquo;intro&rdquo; to the links in the issue but it is difficult to do that. It is also a rare place in the email where I want it to be a &ldquo;different voice&rdquo;. Ideally this is more of a second person voice describing what is included.</p>\n<p>To generate a meaningful byline, I provide more than just article titles — I also include my commentary. I focus only on featured links, skipping the “briefly” section.</p>\n<p>Here is the prompt I’m using:</p>\n<blockquote>\n<p>Please generate a single sentence description using the list of articles below. This description will be used as the first line of an email to introduce these items along with other things. Please provide 3 options.</p>\n<ul>\n<li>Keep it personal and not overly marketing driven or too sensational.</li>\n<li>Focus on it being descriptive and use second person voice.</li>\n<li>Avoid overly sensational words.</li>\n<li>It is okay to use emoji if appropriate.</li>\n<li>Focus less on the quoted text.</li>\n<li>You don&rsquo;t need to introduce it with statements like &ldquo;this week&rdquo; and can focus just on the content.</li>\n<li>Keep it brief and terse, shorter is better.</li>\n</ul>\n<p>Do not include any explanations, numbering, or formatting. Just provide each option on a line by itself like this:</p>\n<p>option<br>\noption<br>\noption</p>\n<p>Here is the list of article titles with commentary.</p>\n<p>«List of Featured Links Only with Commentary»</p>\n</blockquote>\n<p>This one still requires a bit more editing from me before I’m ready to use it, and I think that will always be the case. So rather than returning JSON I just get it to put the options in text and then I present it in the Shortcut for editing and refinement to finalize it.</p>\n<h3 id=\"supporting-members\">Supporting Members</h3>\n<p>The newest section where I’m using AI, and a new section to the email itself is in the Supporting Members segment. This is a new thing where we raise funds for digital non-profits as a community. This is the section where I rely on AI the most, without requesting multiple versions. I’m okay, and actually kind of prefer, this to be in a different voice than mine.</p>\n<p>To generate this section, I pull data from <a href=\"https://buttondown.com\">Buttondown</a> and <a href=\"https://stripe.com\">Stripe</a> and do some quick calendar math to provide the LLM with context. This is then embedded into to two different prompts that generate the two &ldquo;versions&rdquo; of this section.</p>\n<p>Here is the prompt to become a member:</p>\n<blockquote>\n<p>You are a pleasant membership expert. Please write a call to action to encourage a reader of the Weekly Thing to become a Supporting Member. Some data to use for the call to action:</p>\n<ul>\n<li>There are currently «Premium Count» Supporting Members.</li>\n<li>We have raised «Amount Raised» so far.</li>\n<li>The funds will be sent to the non-profit for the year in «Weeks Remaining» weeks.</li>\n<li>The non-profit this year is «Non-profit Name».</li>\n</ul>\n<p>Remember to highlight that all of the money raised goes to the non-profit. Keep it fresh and fun. Limit to one paragraph. Do not include the pricing and subscription options. Do not add any links. That will be handled elsewhere.</p>\n</blockquote>\n<p>Here is the prompt for existing members:</p>\n<blockquote>\n<p>You are a grateful newsletter author. Please write a THANK YOU for being a Supporting Member. Some data to use for the note:</p>\n<ul>\n<li>There are currently «Premium Count» Supporting Members.</li>\n<li>We have raised «Amount Raised» so far.</li>\n<li>The funds will be sent to the non-profit for the year in «Weeks Remaining» weeks.</li>\n<li>The non-profit this year is «Non-profit Name».</li>\n</ul>\n<p>Remember to highlight that all of the money raised goes to the non-profit. Keep it fresh and fun. Limit to one paragraph and thank them for being part of it.</p>\n</blockquote>\n<p>This is a new addition, but early tests look promising. This is also interesting because the LLM knows what <a href=\"https://creativecommons.org\">Creative Commons</a> is and can infer some additional context for the messaging. It is different with each run which will keep the messaging fresh.</p>\n<h3 id=\"overall-editing\">Overall Editing</h3>\n<p>The most recent AI addition to my workflow is final editing. Here I take the draft generated through <a href=\"https://www.thingelstad.com/2023/09/24/how-i-build.html\">my automation</a> and I send it for review. I do a brief review of each email but honestly I never review it that much. Most of the time, what I send is my first draft — straight from the keyboard. As a result, typos get through or simple grammar issues that I wish were caught. I’ve considered <a href=\"https://www.grammarly.com\">Grammarly</a> before, but it’s too thorough and over-edits my work. I want a very specific kind of review.</p>\n<p>Here is the prompt I’m using. Note the specifics on what I don&rsquo;t want it to do.</p>\n<blockquote>\n<p>Below is a draft of the «Subject». Please review it to find any typos or notable grammar mistakes. Do not follow any of the hyperlinks or suggest meaningful content modifications. Ignore text in the blockquotes.</p>\n<hr>\n<p>«Body Markdown»</p>\n</blockquote>\n<p>This works okay but it unfortunately is at the very end of my workflow. The challenge is that fixing errors requires updating two places: the email draft and the original blog post or Pinboard entry. That isn&rsquo;t ideal but it is better than nothing and hopefully will reduce the number of silly errors that get all the way through.</p>\n<p>I ran this on my draft of <a href=\"https://weekly.thingelstad.com/archive/312/\">Weekly Thing 312</a> as a test and it found 16 edits. 🤦‍♂️</p>\n",
        "date_published": "2025-03-09T10:04:18-05:00",
        "url": "https://www.thingelstad.com/2025/03/09/how-i-use-ai-in.html",
        "tags": ["Weekly Thing","Productivity","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/02/25/weekly-thing-gpt.html",
        "title": "Weekly Thing GPT",
        "content_html": "<p>I created a custom GPT for the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>! You&rsquo;ll need a ChatGPT account (I think free is fine) and you can go to: <a href=\"https://chatgpt.com/g/g-67a8f02756f0819193ce1fc7516d01ab-weekly-thing\"><strong>Weekly Thing GPT</strong></a>.</p>\n<p>This is a custom GPT that I&rsquo;ve made available to anyone. It is loaded with all 310 issues of the Weekly Thing published so far. You can ask it all sorts of questions about topics in the Weekly Thing and it does a pretty great job with it all. Some things you can try asking it that I thought were fun:</p>\n<ol>\n<li>What is the Weekly Thing view on social media?</li>\n<li>What is worse, Facebook or TikTok?</li>\n<li>Summarize issue X.</li>\n<li>What are the prevailing themes of the Weekly Thing by year?</li>\n<li>Show me a list of articles on X along with the issue they were in.</li>\n</ol>\n",
        "date_published": "2025-02-25T21:03:56-05:00",
        "url": "https://www.thingelstad.com/2025/02/25/weekly-thing-gpt.html",
        "tags": ["AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/02/08/i-thought-for-sure-there.html",
        
        "content_html": "<p>I thought for sure there would not be a <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> this weekend. Then my afternoon opened up and it is happening. That makes me happy. Will go out tomorrow morning! 📬</p>\n",
        "date_published": "2025-02-08T15:52:19-05:00",
        "url": "https://www.thingelstad.com/2025/02/08/i-thought-for-sure-there.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/02/08/i-was-excited-to-see.html",
        
        "content_html": "<p>I was excited to see my question, <a href=\"https://buttondown.com/monteiro/archive/how-to-choose-a-donut/\">how to choose a donut</a>, answered in latest issue of <a href=\"https://www.mikemonteiro.com\">Mike Monteiro</a>&rsquo;s Good News!</p>\n",
        "date_published": "2025-02-08T13:00:00-05:00",
        "url": "https://www.thingelstad.com/2025/02/08/i-was-excited-to-see.html",
        "tags": ["Blogging","Restaurants"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/23/i-have-about-posts-with.html",
        
        "content_html": "<p>I have about 130 posts with embedded &ldquo;tweets&rdquo; on my blog. If those folks delete their account I <a href=\"https://www.thingelstad.com/2024/11/16/how-im-handling.html\">delete my embed</a> of those.  It seems like every couple days I get errors because the original tweet has been deleted, and the account is gone. The steady stream of folks off of X continues.</p>\n",
        "date_published": "2025-01-23T22:00:03-05:00",
        "url": "https://www.thingelstad.com/2025/01/23/i-have-about-posts-with.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/20/the-weekly-thing-was-supposed.html",
        
        "content_html": "<p>The <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> was supposed to be back this last weekend but I decided to extend the winter break one more week. Expect the first issue of 2025 next weekend!</p>\n",
        "date_published": "2025-01-20T18:22:08-05:00",
        "url": "https://www.thingelstad.com/2025/01/20/the-weekly-thing-was-supposed.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/18/i-set-up-a-guestbook.html",
        
        "content_html": "<p>I set up a <a href=\"https://www.thingelstad.com/guestbook/\">Guestbook</a> for my site copying <a href=\"https://micro.blog/jimmitchell\">@jimmitchell</a> who saw it at <a href=\"https://micro.blog/alexwolfe\">@alexwolfe</a> site. Thanks to <a href=\"https://guestbooks.meadow.cafe\">Guestbooks</a> by <a href=\"https://meadow.cafe\">meadow</a>! The CSS is default. Maybe <a href=\"https://micro.blog/mtt\">@mtt</a> will want to Tiny Theme it? 🤩</p>\n",
        "date_published": "2025-01-18T23:40:19-05:00",
        "url": "https://www.thingelstad.com/2025/01/18/i-set-up-a-guestbook.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/12/microblog-collection-exporter.html",
        "title": "Micro.blog Collection Exporter",
        "content_html": "<p>I’m adding one more Shortcut to my <a href=\"https://www.thingelstad.com/2025/01/11/microblog-collections-shortcuts.html\">Micro.blog Collections Shortcuts</a>. One of the concerns I&rsquo;ve had with collections is making sure that I have some way of undoing them. If I move to another blog service and it doesn&rsquo;t support these I need to know which photos are in those collections. This is gracefully handled by micro.blog when you export your blog. It will replace them all at that time and your good to go.</p>\n<p>However, I’m a bit of a &ldquo;belt and suspenders&rdquo; person and I&rsquo;d like more than just that. Also, what if I just wanted to undo a single collection and I’m not exporting my whole blog? I&rsquo;d like to be able to get at this data easier. Add to that that for very large blogs micro.blog export doesn&rsquo;t work today due to file size limitations. I wanted another way.</p>\n<p>This Shortcut gets a list of all your collections, then iterates through that list building a JSON data object that contains all your Collection names along with an array of the photos in that collection.</p>\n<p>It can take a bit to run, and Shortcuts in general isn&rsquo;t great with loops of loops and building larger data sets. Give it some time and it will finish just fine. It takes about 15 seconds to run for my over 60 collections.</p>\n<p><strong><a href=\"https://www.icloud.com/shortcuts/3eb1c3034bd440e48345d53995523563\">Add Micro.blog Collection Exporter</a></strong></p>\n<p>The output of this Shortcut will give data like this:</p>\n<div class=\"highlight\"><pre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"><code class=\"language-json\" data-lang=\"json\"><span style=\"display:flex;\"><span>{\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#f92672\">&#34;Collections&#34;</span>: {\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#f92672\">&#34;Coffee&#34;</span>: [\n</span></span><span style=\"display:flex;\"><span>            <span style=\"color:#e6db74\">&#34;https://www.thingelstad.com/uploads/2021/31d369a8f6.jpg&#34;</span>,\n</span></span><span style=\"display:flex;\"><span>            <span style=\"color:#e6db74\">&#34;https://www.thingelstad.com/uploads/2021/c41923433b.jpg&#34;</span>,\n</span></span><span style=\"display:flex;\"><span>            <span style=\"color:#e6db74\">&#34;https://www.thingelstad.com/uploads/2021/015df1a057.jpg&#34;</span>\n</span></span><span style=\"display:flex;\"><span>        ],\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#f92672\">&#34;Iceland&#34;</span>: [\n</span></span><span style=\"display:flex;\"><span>            <span style=\"color:#e6db74\">&#34;https://www.thingelstad.com/uploads/2022/799a9cb53a.jpg&#34;</span>,\n</span></span><span style=\"display:flex;\"><span>            <span style=\"color:#e6db74\">&#34;https://www.thingelstad.com/uploads/2022/1822276426.jpg&#34;</span>,\n</span></span><span style=\"display:flex;\"><span>            <span style=\"color:#e6db74\">&#34;https://www.thingelstad.com/uploads/2024/24df887cc9.png&#34;</span>\n</span></span><span style=\"display:flex;\"><span>        ],\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#f92672\">&#34;Italy&#34;</span>: [\n</span></span><span style=\"display:flex;\"><span>            <span style=\"color:#e6db74\">&#34;https://www.thingelstad.com/uploads/2023/020261c875.jpg&#34;</span>,\n</span></span><span style=\"display:flex;\"><span>            <span style=\"color:#e6db74\">&#34;https://www.thingelstad.com/uploads/2023/269481db10.jpg&#34;</span>,\n</span></span><span style=\"display:flex;\"><span>            <span style=\"color:#e6db74\">&#34;https://www.thingelstad.com/uploads/2023/43c4de5c52.jpg&#34;</span>,\n</span></span><span style=\"display:flex;\"><span>            <span style=\"color:#e6db74\">&#34;https://www.thingelstad.com/uploads/2024/054ebe3a4d.jpg&#34;</span>\n</span></span><span style=\"display:flex;\"><span>        ]\n</span></span><span style=\"display:flex;\"><span>    }\n</span></span><span style=\"display:flex;\"><span>}\n</span></span></code></pre></div>",
        "date_published": "2025-01-12T15:23:55-05:00",
        "url": "https://www.thingelstad.com/2025/01/12/microblog-collection-exporter.html",
        "tags": ["Productivity","Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/12/one-of-my-favorite-things.html",
        
        "content_html": "<p>One of my favorite things on a weekend morning is a good cup of coffee and writing a <a href=\"https://www.thingelstad.com/2025/01/12/if-i-was-born-and.html\">blog post</a> that I had no idea I was going to write when I woke up. My favorite writing environment: weekend morning, cup of good coffee, quiet house, words flowing.</p>\n",
        "date_published": "2025-01-12T10:24:30-05:00",
        "url": "https://www.thingelstad.com/2025/01/12/one-of-my-favorite-things.html",
        "tags": ["Coffee","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/12/i-was-emailing-a-friend.html",
        
        "content_html": "<p>I was emailing a friend about <a href=\"https://getdrafts.com/\">Drafts</a> and how critical it is to my writing. It made me think I should share that there is a <strong><a href=\"https://forums.getdrafts.com/t/drafts-pro-new-years-sale-50-off-first-year/15680\">50% off 1-year subscription</a> offer until January 15</strong>! I do almost all of my writing in Drafts. Sync and automation are key features for me. &ldquo;Where text starts…&rdquo; 👨‍💻</p>\n",
        "date_published": "2025-01-12T10:18:56-05:00",
        "url": "https://www.thingelstad.com/2025/01/12/i-was-emailing-a-friend.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/12/if-i-was-born-and.html",
        "title": "If I was born and brought up in the time of modern social media, would I even blog?",
        "content_html": "<p>I saw <a href=\"https://journal.jatan.space/would-you-blog/\">Jatan Mehta reflecting on this</a> question (<a href=\"https://micro.blog/moonmehta/54791540\">on micro.blog</a> no less — 👋 <a href=\"https://micro.blog/moonmehta\">@moonmehta</a>) and I couldn&rsquo;t help but ponder the question myself.</p>\n<p>For context let&rsquo;s get some things in order since the question is premised around time.</p>\n<ul>\n<li>The official start date for my blog is June 2, 2004. There are posts before that but that is a different blog post.</li>\n<li>I joined Twitter in December 2006, and left it in 2017.</li>\n<li>For the ten years of 2007 to 2017 I had both my blog at thingelstad.com and my Twitter profile.</li>\n<li>Most of my writing from 2007 to 2017 originated on Twitter — <a href=\"https://www.thingelstad.com/2017/02/18/creativity-vampires.html\">low-effort, low-value</a>.</li>\n<li>I was never predominantly writing on Facebook, and deleted Facebook before that time but don&rsquo;t remember when. You can see <a href=\"https://www.thingelstad.com/search/?q=facebook\">I&rsquo;ve written and used Facebook</a> in the past.</li>\n<li>Over the last 10 years <a href=\"https://www.thingelstad.com/2025/01/02/in-blogging.html\">my blogging has been increasing</a> and I’m strongly opinionated against social media.</li>\n<li>I also publish the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> which gives subscribers a way to get my blog via email, along with commentary on links and other things.</li>\n</ul>\n<p>So given the above it may not surprise you that my &ldquo;too long, didn’t read&rdquo; response to this question is a resounding <strong>yes, I would absolutely blog</strong>.</p>\n<p>And I think it is worth noting that I only had a blog for about 30 months before getting on Twitter.</p>\n<p>Thinking more about the question though I think it is interesting to look at the framing.</p>\n<p><strong>Progression?</strong></p>\n<p>One view is that this is like time and progression. We had vinyl records, then cassettes, then CD&rsquo;s, then digital music. While records still are used they are an atypical use and we tend to think of this path as progress. One being better than the other. Is this appropriate for blogs? Are blogs the records and social media the CD&rsquo;s? This would suggest that you can do the same things on either one which you cannot. I can’t even use simple bold and italics text on a modern social media platform in 2025. The very first blog ever made can do that. I can write long posts like this with paragraphs and complete thoughts. Most social media platforms do not allow this.</p>\n<p>I would suggest that in reality the only things that social media and blogging share is some idea that a person is writing something, with or without limitations, that others may read. The book wasn&rsquo;t replaced by blogs. There are many reasons and use cases that people will share their writing and they are not a progression. They can just be different.</p>\n<p><strong>Efficiency?</strong></p>\n<p>Another view of this question is to look at efficiency or improvement. In the past we may have rode a bicycle, then we had a car, now we even have buses and trains. Fundamentally a bus or a train is far more efficient than a car. If so, why not get rid of our cars and use those only? How about apartments? An apartment is more efficient than a single-family home. Yet we haven&rsquo;t decided to only live in apartments designed for maximum efficiency. This analogy to me is the one that resonates the strongest in this area because of the desire for self-expression.</p>\n<p>Social media is a lot like living in an apartment. There is a landlord who can decide to allow you to rent or not. There are rules and limitations. You cannot just paint the walls whenever you want and you certainly cannot just remodel the kitchen. You also have to modify your behavior. You cannot play your stereo super loud in the middle of the night. Consider that for a moment and it sounds like most social media platforms. You get an apartment — your profile. You can post as long as the landlord is okay with what you say. You cannot change the way your writing is displayed — no remodeling here. And as long as the landlord keeps the building up your words will be there. But you don&rsquo;t own anything, and when they decide to sell the building you will go with it.</p>\n<p>Having a blog is like having a single family home. Want to remodel? Okay. Want to play your stereo? Okay, within the noise ordinances. Want to change the way the living room is laid out? Fine, none of our business. This is why I have a blog. I want to have my own space, and do my own things, and not be under a landlord. That also means I have to mow my grass, tend to the rain gutters, and manage the upkeep. And just like houses some take more of that than others.</p>\n<p><strong>Commercialization</strong></p>\n<p>The final way I would look at this question is around the role of companies in our daily lives. Here there are some interesting paths. Let&rsquo;s look at money. Most of us, including myself, have largely given up our right to transact freely and privately with cash. The tradeoff and convenience of credit cards is so great that we&rsquo;ve largely agreed that we will allow a company to manage the engagement we have with others for money. With the rise of Venmo we&rsquo;ve even done this for paying back our friend for an evening of bowling. Rather than handing him a private and secure $10 bill, we decide to allow multiple companies to sit in between that exchange because it is more convenient. To be honest I dislike that but I make that trade-off today.</p>\n<p>So how does that apply to me sharing my ideas. Well, before the web and before blogging we actually were in that model with companies in the middle. I could really only get my words to a lot of people if I had a company in the middle. Some publisher or media organization would have to decide that it was beneficial to them in some way to share my writing with others. They got something out of it, and also had their own opinions. The web changed all that forever. In the world of news Dave Winer captured this in 2009 with <a href=\"http://scripting.com/stories/2009/05/15/sourcesGoDirect.html\">Sources Go Direct</a>. But it isn&rsquo;t just news. Thanks to the web and blogging I’m typing these very words on my computer on a Sunday morning. I’m going to hit publish soon and with <strong>no concern to the content</strong> you will read it. Are there still companies in the middle? Sure, but none of them cared what I wrote. They weren&rsquo;t a publisher.</p>\n<p>So in this case the question about social media or blogging would be better stated as &ldquo;Should we revert back to a model where companies will only share your writing for their benefit and people do not have their own voice?&rdquo; While the modern social media company claims to not be editors (even though they are, <a href=\"https://www.thingelstad.com/2020/06/03/refusing-to-amplify.html\">especially with algorithms</a>) they are only publishing your words because it is in their economic interest. In this case to get data, sell ads alongside, and algorithmic addict others, including you. So no, I don&rsquo;t think we should go back to that.</p>\n<p>Other blog posts on this:</p>\n<ul>\n<li><a href=\"https://manuelmoreale.com/bloggers-at-the-right-time\">Bloggers at the right time</a> by Manuel Moreale.</li>\n<li><a href=\"https://starbreaker.org/grimoire/entries/i-would-not-blog/index.html\">I would not blog</a> by Matthew Graybosch</li>\n</ul>\n",
        "date_published": "2025-01-12T09:59:23-05:00",
        "url": "https://www.thingelstad.com/2025/01/12/if-i-was-born-and.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/11/microone-making-blogging-more-accessible.html",
        "title": "micro.one making blogging more accessible!",
        "content_html": "<p>Congratulations to <a href=\"https://www.manton.org\">Manton</a> on the launch of <a href=\"https://micro.one\">micro.one</a>! I have been a happy customer of micro.blog since launch and I love this new simplified version that makes blogging even more accessible at a super low <strong>$10 a year</strong>!</p>\n<p>Living inside the little box that a social media platforms give you, in exchange for your personal data, is oppressive. Having a voice on the web means <a href=\"https://www.thingelstad.com/2022/12/17/not-your-domain.html\">having your own domain</a>. Even the simple act of formatting with bold, italics, and using hyperlinks freely can only be achieved on your own blog. Take a moment to consider that. Using these massive surveillance systems is fundamentally curtailing your ability to express yourself. In return for what? Being fed an algorithmic stream of garbage to addict you?</p>\n<p>Having your own website has never been easier. And it isn&rsquo;t free which is also how you know it is honest! My Grandpa, and probably yours too, taught me there was no free lunch. $10 a year to be able to express yourself on the web? So cheap. There is no way I know of to take a photo, attach a few sentences, and put them on the web better or easier than this.</p>\n<p>In celebration of the launch <strong>I would love to sponsor some micro.one users</strong>. Email me if you&rsquo;d like to get your own blog but the $10 is a barrier&hellip; it is an extension of my <a href=\"https://www.thingelstad.com/2024/12/08/i-love-to.html\">Weekly Thing Christmas Blogs</a>!</p>\n<p>There are organizations that I think are making the web better every day: <a href=\"https://www.wikimedia.org\">Wikimedia</a>, <a href=\"https://letsencrypt.org\">Let&rsquo;s Encrypt</a>, <a href=\"https://archive.org\">Internet Archive</a>, <a href=\"https://creativecommons.org\">Creative Commons</a>. I think I need to add <a href=\"https://micro.blog\">micro.blog</a> to that list!</p>\n",
        "date_published": "2025-01-11T11:30:23-05:00",
        "url": "https://www.thingelstad.com/2025/01/11/microone-making-blogging-more-accessible.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/11/payloads-for-rss-aka-podcasts.html",
        "title": "Payloads for RSS, aka Podcasts!",
        "content_html": "<p><strong>24 years ago today</strong> <a href=\"https://scripting.com\">Dave Winer</a> introduced <a href=\"https://web.archive.org/web/20010202144800/https://thetwowayweb.com/payloadsForRss\">Payloads for RSS</a> — which became the structure of the entire podcasting world. If you listen to a podcast, you are using RSS with enclosures. I love the backstory that he disagreed with the premise but Adam Curry &ldquo;persisted&rdquo; and convinced him of the value.</p>\n<blockquote>\n<p><a href=\"https://web.archive.org/web/20010202144800/http://backend.userland.com/rss091\">RSS</a> already does most of what we want. With the addition of the &lt;enclosure&gt; sub-element of &lt;item&gt; any RSS element can describe a video or audio file (actually any type of file).</p>\n<p>&lt;enclosure&gt; has three attributes: url says where the file is located, length says how big it is, and type says what its type is. This way a workstation or aggregator can know in advance, without having to do any communication, what it&rsquo;s going to get, and apply scheduling and filtering rules.</p>\n</blockquote>\n<p>This is another great example of the power of open protocols and the open web! 🪄</p>\n",
        "date_published": "2025-01-11T10:21:04-05:00",
        "url": "https://www.thingelstad.com/2025/01/11/payloads-for-rss-aka-podcasts.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/11/microblog-collections-shortcuts.html",
        "title": "Micro.blog Collections Shortcuts",
        "content_html": "<p>I&rsquo;ve gone &ldquo;all in&rdquo; on Micro.blog&rsquo;s <a href=\"https://help.micro.blog/t/photo-collections/3366\">photo collection</a> feature. I&rsquo;ve created <strong>64 collections</strong> so far which if I’m reading id numbers right means <strong>17% of all collections</strong> on micro.blog are ones I made. 🤓</p>\n<p>I needed some tooling in order to migrate to collections and use them the way that I want to. I’m sharing here the three shortcuts that I&rsquo;ve created to do this: Creator, Copier, and Viewer.</p>\n<p>Requirements to be aware of:</p>\n<ul>\n<li>You will need an App Token for these Shortcuts. Create one on <a href=\"https://micro.blog/account/apps\">your apps screen</a>.</li>\n<li>These shortcuts, like most of my more complicated shortcuts, all use <a href=\"https://shortcutslogger.dev\">Logger for Shortcuts</a>. Make sure to install that on your devices. It is free and a great utility. I debated removing the logging methods to avoid this dependency but these shortcuts can run for 20 or 30 seconds and it is very helpful to be able to see the logging output while it is running.</li>\n</ul>\n<h3 id=\"collection-creator\">Collection Creator</h3>\n<p>I&rsquo;ve updated my <a href=\"https://www.thingelstad.com/2024/12/30/microblog-collection-creator-shortcut.html\">original Collection Creator shortcut</a> through my own use. Most of my collections have been populated with this Shortcut. I&rsquo;ve found it even more useful than I thought to be able to take a clipboard full of URLs and create a collection out of the linked images. I&rsquo;ve used it for posts, for pages, and even some cases where I just grabbed a bunch of image links and create a collection.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/collection-creator.png\" width=\"600\" height=\"315\" alt=\"macOS dialog from Micro.blog Collection Creator app saying Found 4 images with Cancel and OK buttons.\">\n<p>Improvements since the <a href=\"https://www.thingelstad.com/2024/12/30/microblog-collection-creator-shortcut.html\">first release</a>:</p>\n<ul>\n<li>Improved confirmation prompts for clarity.</li>\n<li>Improved logging to be more useful and include progress indicators like &ldquo;1 of n&rdquo; to each item. <sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1</a></sup></li>\n<li>After completing create the shortcode for the collection and put in the clipboard so ready to use.</li>\n<li>Minimal monitoring of API failure. <sup id=\"fnref:2\"><a href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\">2</a></sup></li>\n</ul>\n<p><strong>Add <a href=\"https://www.icloud.com/shortcuts/a34f7c9d3599451b9c10b5ebd81ab965\">Micro.blog Collection Creator</a> Shortcut</strong></p>\n<h3 id=\"collection-copier\">Collection Copier</h3>\n<p>I’m not sure how common this will be, but at times I want to include all the photos from one collection into another collection. For example:</p>\n<ul>\n<li><a href=\"https://www.thingelstad.com/2023/07/16/hiking-scuol-to.html\">Blog post about a day of hiking in Switzerland</a> uses a collection for that post.</li>\n<li>Page about that <a href=\"https://www.thingelstad.com/collections/switzerland-italy-2023/\">overall trip</a> has a collection of photos for that trip.</li>\n<li>A photo page that contains <a href=\"https://www.thingelstad.com/photos/switzerland/\">all photos I&rsquo;ve taken in Switzerland</a>.</li>\n</ul>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/collection-copier.png\" width=\"600\" height=\"336\" alt=\"macOS confirmation dialog from Micro.blog Collection Copier asking to add 33 images from Post 2009 State Fair to Coffee collection\">\n<p>In this case these photos are in three collections. The easiest way to populate the aggregated collections would be to copy all photos from individual collections to them. It would be nice to &ldquo;Add all photos from Collection X to Collection Y&rdquo;. That is what this Shortcut does.</p>\n<p><strong>Add <a href=\"https://www.icloud.com/shortcuts/431a91e189ab46f19a3483caed61484e\">Micro.blog Collection Copier</a> Shortcut</strong></p>\n<h3 id=\"collection-viewer\">Collection Viewer</h3>\n<p>The viewer collection I don&rsquo;t use a ton because it doesn&rsquo;t do anything different than just looking at the collection on micro.blog. But I do like having the ability to quickly index into a collection and just verify what is in there so I’m keeping it around too. It was also the first Shortcut I wrote for this to figure out how to get into the API and see the responses.</p>\n<p><strong>Add <a href=\"https://www.icloud.com/shortcuts/b67334c08d304fa38e9a9cfd49d0382e\">Micro.blog Collection Viewer</a> Shortcut</strong></p>\n<div class=\"footnotes\" role=\"doc-endnotes\">\n<hr>\n<ol>\n<li id=\"fn:1\">\n<p>The API method to add images to a collection was made much faster but it still takes about a second per image. This gives you a better indicator of where you are in the process. Think of it like a status bar.&#160;<a href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\">&#x21a9;&#xfe0e;</a></p>\n</li>\n<li id=\"fn:2\">\n<p>I find it odd that in Shortcuts I cannot seem to retrieve the HTTP status code for an API call. I can access the body of the response, but not the status code. I now have the shortcut check the body of the API call to add the image to a collection and if there is any content there log a warning. I wish I could check for a 200 but it doesn&rsquo;t seem possible.&#160;<a href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\">&#x21a9;&#xfe0e;</a></p>\n</li>\n</ol>\n</div>\n",
        "date_published": "2025-01-11T09:57:11-05:00",
        "url": "https://www.thingelstad.com/2025/01/11/microblog-collections-shortcuts.html",
        "tags": ["Productivity","Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/05/support-the-web-via-open.html",
        "title": "Support the Web via Open RSS",
        "content_html": "<p>I recently discovered <a href=\"https://openrss.org\">Open RSS</a> via an <a href=\"https://lifehacker.com/tech/find-rss-feeds-for-any-app-website\">article on Lifehacker</a> highlighting how the service can provide feeds for some services that don&rsquo;t do it themselves. I clicked through and was delighted to read more about Open RSS.</p>\n<p>Open RSS is a non-profit advocating for the use of RSS. I read their about page in detail and it strongly resonated with me. Open protocols like RSS are an enabler to the open web and a way to create connection without all of the downsides of consolidated media platforms driven by a desire for data and engagement.</p>\n<p>Open RSS also provides capability to discover and bridge RSS feeds for different sites (this is what <a href=\"https://lifehacker.com/tech/find-rss-feeds-for-any-app-website\">the article</a> was about). I&rsquo;ve already suggested <a href=\"https://www.thingelstad.com/2025/01/05/poap-rss-awesome.html\">connecting POAPs to RSS</a>. 🤓</p>\n<p>I’m a care deeply about the kind of work this organization is doing. It is super small and grass roots. I&rsquo;ve already had a few emails with Mark, one of the founders. This is a great opportunity to <a href=\"https://openrss.org/donate/\">donate to a cause</a> that is focused on the open Web. I think I just found the next organization that <a href=\"https://www.thingelstad.com/2024/11/17/weekly-thing-supporting.html\">Weekly Thing Supporting Memberships</a> can support!</p>\n",
        "date_published": "2025-01-05T11:11:42-05:00",
        "url": "https://www.thingelstad.com/2025/01/05/support-the-web-via-open.html",
        "tags": ["Weekly Thing","Blogging","Giving"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/05/poap-rss-awesome.html",
        "title": "POAP + RSS = Awesome?",
        "content_html": "<p><strong>Update: I created <a href=\"https://www.poap2rss.com\">POAP2RSS</a> to fill this gap!</strong></p>\n<p>I’m a <a href=\"https://www.thingelstad.com/lists/poap-events/\">big fan</a> of <a href=\"https://poap.xyz\">POAP</a>, and I’m a big fan of <a href=\"https://en.wikipedia.org/wiki/RSS\">RSS</a>. Sadly, these two things don&rsquo;t know about each other, yet! This blog post is my take on a great start for RSS and POAP. Maybe there is a chance that the amazing folks at <a href=\"https://openrss.org\">Open RSS</a> could bridge this gap in the meantime!</p>\n<p>First, why should POAP add RSS? I think there are dozens of use cases, but some examples…</p>\n<ol>\n<li>As someone that issues POAPs a lot I would love to subscribe to the RSS feeds for each of my events and see via the feed when a new token is claimed.</li>\n<li>It would be powerful to use automation on claims along by connecting the RSS feed for an event to <a href=\"https://ifttt.com/explore\">IFTTT</a> or any of the hundreds of services to take an action when an RSS feed is updated.</li>\n<li>There are several friends that are active in the POAP ecosystem and I can aggregate a feed of all their claims in the <a href=\"https://home.poap.xyz\">POAP Home</a> app, but I would rather subscribe to an RSS feed of each of their addresses and get updates that way.</li>\n</ol>\n<p>There are two items that RSS feeds would be useful for: <strong>Events</strong> and <strong>Collectors</strong>. There is a <a href=\"https://documentation.poap.tech/docs/getting-started\">POAP API</a> that would make both of these pretty simple to get, and avoid any screen scraping. An API key would be needed but I think that would be <a href=\"https://documentation.poap.tech/docs/api-access\">easy to get</a>. These use cases are all read only as well.</p>\n<h3 id=\"events\">Events</h3>\n<p>Anybody can create an event the RSS feed would be specific to that event. Events have a simple ID, and there is a <a href=\"https://documentation.poap.tech/reference/geteventpoaps-2\">Token Event API</a> method for <code>/event/{id}/poaps</code> that would get exactly what is desired. The URL&rsquo;s for an event are <code>https://poap.gallery/drops/{eventid}</code>, my <a href=\"https://poap.gallery/drops/183305\">53rd Birthday</a> POAP is at <code>https://poap.gallery/drops/183305</code> is an example.</p>\n<p>In this case, the <code>eventid</code> is easily found and using the API could get the data to populate the RSS feed.</p>\n<h3 id=\"addresses\">Addresses</h3>\n<p>Getting an RSS feed for new tokens that people claim is centered around a wallet address. Here we are looking for an address or ENS name. An example of this is <a href=\"https://collectors.poap.xyz/scan/0x111accebf9d70d9c06de2d38f9392522e82ecf29\">my collection</a> at <code>https://collectors.poap.xyz/scan/0x111accebf9d70d9c06de2d38f9392522e82ecf29</code>. This can also be accessed via the ENS name at <code>https://collectors.poap.xyz/scan/poap.thingelstad.eth</code>.</p>\n<p>The <a href=\"https://documentation.poap.tech/reference/getactionsscan-5\">Token Scan API</a> method <code>/actions/scan/{address}</code> returns the list of tokens for that address and could build the RSS feed.</p>\n",
        "date_published": "2025-01-05T10:43:54-05:00",
        "url": "https://www.thingelstad.com/2025/01/05/poap-rss-awesome.html",
        "tags": ["POAP","POAP2RSS","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/04/all-five-of-the-weekly.html",
        
        "content_html": "<p>All five of the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> <a href=\"https://www.thingelstad.com/2024/12/08/i-love-to.html\">Christmas Blogs</a> are now created!</p>\n<ul>\n<li><a href=\"https://see3p0.micro.blog\">Phil Rodemann</a> <a href=\"https://micro.blog/See3p0\">@See3p0</a></li>\n<li><a href=\"https://mdalves.micro.blog\">Marcos D Alves</a> <a href=\"https://micro.blog/mdalves\">@mdalves</a></li>\n<li><a href=\"https://davoh.org\">David O&rsquo;Hara</a> <a href=\"https://micro.blog/davoh\">@davoh</a></li>\n<li><a href=\"https://jesselang.micro.blog\">Jesse Lang</a> <a href=\"https://micro.blog/jesselang\">@jesselang</a></li>\n<li><a href=\"https://cohntemplations.micro.blog/\">Eric Cohn</a> <a href=\"https://micro.blog/ercohn\">@ercohn</a></li>\n</ul>\n<p>Next step is to introduce each of these blogs to Weekly Thing readers over a few issues. Love that &ldquo;new blog&rdquo; smell! 😂</p>\n",
        "date_published": "2025-01-04T12:00:50-05:00",
        "url": "https://www.thingelstad.com/2025/01/04/all-five-of-the-weekly.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/02/im-all-in-on-microblog.html",
        
        "content_html": "<p>I&rsquo;m &ldquo;all in&rdquo; on micro.blog <a href=\"https://help.micro.blog/t/photo-collections/3366\">collections</a>. I have <strong>61 collections</strong> with <strong>936 images</strong>. My <a href=\"https://www.thingelstad.com/2024/12/30/microblog-collection-creator-shortcut.html\">Collection Creator Shortcut</a> was key to that. Nearly all <a href=\"https://www.thingelstad.com/categories/gallery/\">Gallery posts</a> have been updated. I migrated <a href=\"https://mattlangford.com/2023/08/08/a-new-plugin.html\">Adaptive Photo Layout</a> posts to Collections.</p>\n<p>Top feature ask: rename collections and modify order or images.</p>\n",
        "date_published": "2025-01-02T19:59:01-05:00",
        "url": "https://www.thingelstad.com/2025/01/02/im-all-in-on-microblog.html",
        "tags": ["Photography","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2025/01/02/in-blogging.html",
        "title": "2024 in Blogging",
        "content_html": "<p>With many thanks to <a href=\"https://amitgawande.com/\">Amit Gawande</a>&rsquo;s fun <a href=\"https://amitgawande.com/blog/2024/year-recap-mb\">Post Stats Plugin</a> and a recent <a href=\"https://micro.blog/jthingelstad/52635531\">discussion</a> to add some more information to it — I’m sharing some perspective on my blogging from 2024.</p>\n<p>In 2024 I published <strong>701 posts</strong> with <strong>51,905 words</strong>. Of those, <strong>529 had photos</strong> and <strong>157 of them had titles</strong>.</p>\n<p>June had about triple the normal blogging activity which was from our <a href=\"https://www.thingelstad.com/collections/ireland-2024/\">trip to Ireland</a>. Over the last few years I&rsquo;ve done daily travel logs on those trips and usually write a blog post for each activity. It can be a lot, but I value what it creates and know that in future years I will revisit those posts with many fond memories.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/posts-published-2024.png\" width=\"600\" height=\"239\" alt=\"A line graph shows the number of posts published each month, with a peak in June and a smaller rise in December.\">\n<p>Zooming out I now have a total of <strong>9,111 posts</strong> containing <strong>574,102 words</strong>! My blog posts have come along many migrations:</p>\n<p>.Text <a href=\"https://www.thingelstad.com/2006/11/25/migrating-text-to.html\">→</a> WordPress <a href=\"https://www.thingelstad.com/2016/04/20/moved-my-blog.html\">→</a> SquareSpace <a href=\"https://www.thingelstad.com/2014/03/16/i-flopped-httpstcozmirtevd.html\">→</a> Pelican <a href=\"https://www.thingelstad.com/2017/10/29/managing-years-of.html\">→</a> Jekyll <a href=\"https://www.thingelstad.com/2020/05/02/importing-jekyll-site.html\">→</a> micro.blog</p>\n<p>On top of that I imported my Twitter archive and curated and improved that. Since April 2017 I&rsquo;ve been publishing on micro.blog and you can see that it has enabled me to post even more. To me, this is one of the best ways to evaluate a blogging platform — does it enable you to &ldquo;just write&rdquo; on the web.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/posts-published-2000-2024.png\" width=\"600\" height=\"242\" alt=\"Line graph of posts published per year from 2000 to 2024, peaking near 780 in 2008 and rising again to about 700 in 2024.\">\n",
        "date_published": "2025-01-02T18:16:44-05:00",
        "url": "https://www.thingelstad.com/2025/01/02/in-blogging.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/31/cool-to-see-the-new.html",
        
        "content_html": "<p>Cool to see the new <a href=\"https://samgrover.com/2024/12/31/a-new-version-of-mimi.html\">Mimi Uploader</a> out with support for Micro.blog collections! This along with my <a href=\"https://www.thingelstad.com/2024/12/30/microblog-collection-creator-shortcut.html\">Collection Creator Shortcut</a> gives me a lot of options.</p>\n<p>I&rsquo;m still wondering how to name collections. It seems if you have 100 or more collections it is going to get unruly, similar to Pages. 🤔</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/3c1032fadb.jpg\" width=\"600\" height=\"600\" alt=\"iPhone screen showing Mimi Uploader app displaying 9 photo collections on thingelstad.com including Coffee, Iceland, Ireland, Italy, and kayaking albums.\">\n",
        "date_published": "2024-12-31T11:10:31-05:00",
        "url": "https://www.thingelstad.com/2024/12/31/cool-to-see-the-new.html",
        "tags": ["Photography","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/31/im-excited-to-welcome-jesse.html",
        
        "content_html": "<p>I&rsquo;m excited to welcome <a href=\"https://jesselang.micro.blog\">Jesse Lang</a> <a href=\"https://micro.blog/jesselang\">@jesselang</a> to Micro.blog! Along with <a href=\"https://see3p0.micro.blog\">Phil Rodemann</a> <a href=\"https://micro.blog/See3p0\">@See3p0</a>, <a href=\"https://mdalves.micro.blog\">Marcos D Alves</a> <a href=\"https://micro.blog/mdalves\">@mdalves</a>, and <a href=\"https://davoh.org\">David O&rsquo;Hara</a> <a href=\"https://micro.blog/davoh\">@davoh</a> that is four of the <a href=\"https://www.thingelstad.com/2024/12/08/i-love-to.html\">Christmas Blogs</a>. 🎄🎁🎁🎁🎁</p>\n<p>The fifth winner changed their mind so I extended the offer to another. 🤞</p>\n",
        "date_published": "2024-12-31T10:31:35-05:00",
        "url": "https://www.thingelstad.com/2024/12/31/im-excited-to-welcome-jesse.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/30/microblog-collection-creator-shortcut.html",
        "title": "Micro.blog Collection Creator Shortcut",
        "content_html": "<p>Recently micro.blog added a powerful new feature to create <a href=\"https://help.micro.blog/t/photo-collections/3366\">photo collections</a>. Using this feature you can group photos together and then use a special micro.blog shortcode to reference that collection in a blog post or page.</p>\n<p>This is a powerful feature and one of the things I wanted to do with it was create collections for the &ldquo;gallery&rdquo; blog posts I have on my site, posts that often have six or more images as a collection. However, there is no way to easily create a collection from a list of uploads that already exist. That is the gap this shortcut solves!</p>\n<p>Collection Creator is intended to take the contents of a blog post, find all referenced images on that post, and then add them to an existing collection! The shortcut structure is straightforward:</p>\n<ol>\n<li>Receive the text, expected via a copy/paste.</li>\n<li>Find all referenced uploads in the text.</li>\n<li>You pick an existing collection.</li>\n<li>It adds each image to that collection.</li>\n</ol>\n<p>After it is complete you can remove the image references from the blog post and replace with the collection shortcode.</p>\n<p><strong>There is a <a href=\"https://www.thingelstad.com/2025/01/11/microblog-collections-shortcuts.html\">newer version of this Shortcut</a>!</strong></p>\n<h3 id=\"notes\">Notes</h3>\n<ol>\n<li>This shortcut <strong>requires</strong> two constants to be set: the base URL of your site and an App Token to authenticate to the Micro.blog API.</li>\n<li>This shortcut has a <strong>dependency</strong> on the very powerful <a href=\"https://shortcutslogger.dev\">Logger for Shortcuts</a> app. This is particularly useful when adding several uploads to a collection since you can see the progress and it takes several seconds per image. I&rsquo;ve had this shortcut take over a minute to run and watching Logger is helpful to see progress.</li>\n<li>This shortcut will <strong>not</strong> create a collection for you. You should do that in the Micro.blog Uploads interface before running the shortcut.</li>\n<li>If there is an error and you process 10 images but the API fails and only 9 are added to the collection you can simply rerun it again with no issue.</li>\n</ol>\n",
        "date_published": "2024-12-30T11:02:43-05:00",
        "url": "https://www.thingelstad.com/2024/12/30/microblog-collection-creator-shortcut.html",
        "tags": ["Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/30/im-very-excited-to-welcome.html",
        
        "content_html": "<p>I’m very excited to welcome David O&rsquo;Hara <a href=\"https://micro.blog/davoh\">@davoh</a> to micro.blog. David shares great images, essays, and thoughts and I&rsquo;m hopeful he will find micro.blog a great platform to host all of that. One of the <a href=\"https://www.thingelstad.com/2024/12/08/i-love-to.html\">Christmas Blogs</a>! 🎁</p>\n",
        "date_published": "2024-12-30T10:54:09-05:00",
        "url": "https://www.thingelstad.com/2024/12/30/im-very-excited-to-welcome.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/29/i-just-got-the-first.html",
        
        "content_html": "<p>I just got the first version of <strong>Micro.blog Collection Creator</strong> shortcut working. It allows you to paste in the contents of an existing post, or any text with a list of urls on your site, and it will add all referenced uploads to a collection you choose. Will share after cleaning up!</p>\n",
        "date_published": "2024-12-29T09:58:46-05:00",
        "url": "https://www.thingelstad.com/2024/12/29/i-just-got-the-first.html",
        "tags": ["Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/28/a-year-of-blogging-for.html",
        
        "content_html": "<p>A year of blogging for $12? I love this! 🤩</p>\n<blockquote class=\"quoteback\" data-author=\"Manton Reece\" data-avatar=\"https://micro.blog/manton/avatar.jpg\" cite=\"https://www.manton.org/2024/12/28/several-people-have-already-correctly.html\"><p>Several people have already correctly guessed that <a href=\"https://micro.one/\">Micro.one</a> will be a ridiculously low $1/month. I hope this helps it reach more people. It will also be a perfect gift subscription to give to friends and family.</p>\n<footer>Manton Reece <cite><a href=\"https://www.manton.org/2024/12/28/several-people-have-already-correctly.html\" class=\"u-in-reply-to\">https://www.manton.org/2024/12/28/several-people-have-already-correctly.html</a></cite></footer></blockquote><script src=\"https://cdn.micro.blog/quoteback.js\"></script>\n",
        "date_published": "2024-12-28T12:35:58-05:00",
        "url": "https://www.thingelstad.com/2024/12/28/a-year-of-blogging-for.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/28/ive-been-enjoying-the-snow.html",
        
        "content_html": "<p>I&rsquo;ve been enjoying the <a href=\"https://github.com/microdotblog/plugin-snowfall\">Snow Fall plug-in</a> by <a href=\"https://micro.blog/manton\">@manton</a> on my website and it has me thinking that it would be really fun to have a web version of <a href=\"https://simonbs.dev\">Simon Støvring</a>&rsquo;s <a href=\"https://www.festivitas.app\">Festivitas</a>. A string of lights along the top of the browser with various configuration options would be cool.</p>\n",
        "date_published": "2024-12-28T09:57:28-05:00",
        "url": "https://www.thingelstad.com/2024/12/28/ive-been-enjoying-the-snow.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/27/i-created-a-hierarchal-view.html",
        
        "content_html": "<p>I created a hierarchal view of my blog pages so that I could try to organize this better. This shows why I wish the Pages section of micro.blog was a bit more sophisticated. I took the outline and then gave it to ChatGPT and asked it to recommend a better way to structure it.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/e577b9e47f.png\" width=\"600\" height=\"519\" alt=\"Mind map diagram in a Mac app titled Blog Pages showing a large hierarchical tree of blog page categories and subcategories.\">\n",
        "date_published": "2024-12-27T20:36:40-05:00",
        "url": "https://www.thingelstad.com/2024/12/27/i-created-a-hierarchal-view.html",
        "tags": ["Software Development","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/21/weekly-thing-christmas.html",
        "title": "Weekly Thing Christmas Blogs",
        "content_html": "<p>The random five winners of the <a href=\"https://www.thingelstad.com/2024/12/08/i-love-to.html\">Weekly Thing Christmas Blog</a> gift have been selected!</p>\n<p>A little Python to do the selection&hellip;</p>\n<div class=\"highlight\"><pre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"><code class=\"language-python\" data-lang=\"python\"><span style=\"display:flex;\"><span><span style=\"color:#f92672\">import</span> random\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\"># Define list of names</span>\n</span></span><span style=\"display:flex;\"><span>values <span style=\"color:#f92672\">=</span> [\n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#e6db74\">&#34;name&#34;</span>, \n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#e6db74\">&#34;name&#34;</span>, \n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#e6db74\">&#34;name&#34;</span>, \n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#960050;background-color:#1e0010\">…</span>\n</span></span><span style=\"display:flex;\"><span>]\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\"># Shuffle the list</span>\n</span></span><span style=\"display:flex;\"><span>random<span style=\"color:#f92672\">.</span>shuffle(values)\n</span></span><span style=\"display:flex;\"><span>print(<span style=\"color:#e6db74\">&#34;Randomly selected values:&#34;</span>, values[:<span style=\"color:#ae81ff\">5</span>])\n</span></span></code></pre></div><p>And the winners are!</p>\n<div class=\"highlight\"><pre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"><code class=\"language-bash\" data-lang=\"bash\"><span style=\"display:flex;\"><span>jamie@tangerine ~ % python3 ./pick.py\n</span></span><span style=\"display:flex;\"><span>Randomly selected values: <span style=\"color:#f92672\">[</span><span style=\"color:#e6db74\">&#39;Marcos&#39;</span>, <span style=\"color:#e6db74\">&#39;Claudia&#39;</span>, <span style=\"color:#e6db74\">&#39;Jesse&#39;</span>, <span style=\"color:#e6db74\">&#39;Phil&#39;</span>, <span style=\"color:#e6db74\">&#39;David&#39;</span><span style=\"color:#f92672\">]</span>\n</span></span></code></pre></div><p>Sending notices to everyone now!</p>\n",
        "date_published": "2024-12-21T12:04:25-05:00",
        "url": "https://www.thingelstad.com/2024/12/21/weekly-thing-christmas.html",
        "tags": ["Weekly Thing","Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/19/was-seven-years.html",
        
        "content_html": "<p>Was <a href=\"https://www.thingelstad.com/2017/12/19/really-happy-to.html\">seven years ago today</a> that micro.blog opened up to public signups. Doesn&rsquo;t feel like it has been seven years! Even better it still is the fastest and easiest way to get words and images on the web.</p>\n",
        "date_published": "2024-12-19T13:14:11-05:00",
        "url": "https://www.thingelstad.com/2024/12/19/was-seven-years.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/15/ethical-web-principles.html",
        "title": "Ethical Web Principles",
        "content_html": "<p>I like this <a href=\"https://www.w3.org/blog/2024/w3c-statement-on-ethical-web-principles-guides-the-community-to-build-a-better-web/\">W3C Statement on Ethical Web Principles</a>.</p>\n<blockquote>\n<p>These principles are not merely theoretical; they constitute a call to action. They encourage everyone involved in the web&rsquo;s evolution to assess their contributions&rsquo; societal and environmental impacts. We can create a web that truly benefits everyone by adhering to these principles:</p>\n<ul>\n<li>There is one web</li>\n<li>The web does not cause harm to society</li>\n<li>The web supports healthy community and debate</li>\n<li>The web is for all people</li>\n<li>The web is secure and respects people&rsquo;s privacy</li>\n<li>The web enables freedom of expression</li>\n<li>The web makes it possible to verify information</li>\n<li>The web enhances individuals&rsquo; control and power</li>\n<li>The web is an environmentally sustainable platform</li>\n<li>The web is transparent</li>\n<li>The web is multi-browser, multi-OS, and multi-device</li>\n<li>The web can be consumed in any way that people choose</li>\n</ul>\n</blockquote>\n<p>That seems like a good list to strive for <a href=\"https://www.thingelstad.com/2024/11/16/you-can-find.html\">on the web</a>.</p>\n",
        "date_published": "2024-12-15T10:51:55-05:00",
        "url": "https://www.thingelstad.com/2024/12/15/ethical-web-principles.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/15/weekly-thing-logo.html",
        "title": "Weekly Thing Logo",
        "content_html": "<p>I&rsquo;ve been publishing the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> for over seven years. Sometimes I need to have an image associated with it. Some of those times it is actually required. So, I&rsquo;ve had a mild need for a logo to represent the Weekly Thing for a while.</p>\n<p>However, the Weekly Thing is a somewhat novel email because it isn&rsquo;t locked to a specific topic and has a blend of personal and professional. So if there was an image it hasn&rsquo;t been clear to me what to connect it to.</p>\n<p>Then I had a thought. What could I play with about the &ldquo;weekly&rdquo; aspect? A week is seven days. What if I could pull that into the design in an interesting way that could work with my complete lack of design skills. I did some experimentation with <a href=\"https://chatgpt.com\">ChatGPT</a> to explore a number of topics. I found something I liked and then fired up <a href=\"https://www.omnigroup.com/omnigraffle\">OmniGraffle</a> to see what I could do.</p>\n<p>After a few iterations I landed on an image that I like quiet a bit.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/wt-logo-grey.png\" width=\"600\" height=\"600\" alt=\"Blocks arranged in a row above the text Weekly Thing create a monochromatic design.\">\n<p>It is simple but identifiable. The seven blocks represent the seven days of the week. The text is Helvetica with custom kerning to tighten it up. As I played with this I liked the fun options I could imagine with the seven blocks. It reminded me a bit of <a href=\"https://kottke.org/24/03/kottkeorg-redesigns-with-2024-vibes\">Kottke.org&rsquo;s redesign</a> and how he is using the four circles.</p>\n<p>The blocks themselves can be any colors I want.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/wt-logo-color.png\" width=\"600\" height=\"600\" alt=\"A logo featuring seven colorful rectangular bars in orange, green, purple, pink, blue, white, and gray, with the text Weekly Thing beneath them.\">\n<p>How about a very bright set of rainbow colors?</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/wt-logo-rainbow.png\" width=\"600\" height=\"600\" alt=\"Seven colorful 3D rectangles in a horizontal row above the text Weekly Thing.\">\n<p>I could see playing with this even more and generating random color combinations on the fly using a dynamic SVG image. Or how about a Christmas logo?</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/wt-logo-christmas.png\" width=\"600\" height=\"600\" alt=\"A logo with a series of vertical red and white rectangles above the text Weekly Thing.\">\n<p>The blocks could be patterned. Something simple done in software, or even colored in by hand.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/wt-logo-pattern.png\" width=\"600\" height=\"600\" alt=\"Seven vertical, colorful, textured rectangles stand side by side above the text Weekly Thing.\">\n<p>But colors aren&rsquo;t the only option. The blocks could also be a window into an image to pull in an entirely different vibe. Let&rsquo;s bring the spirit of adventure.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/wt-logo-mountains.png\" width=\"600\" height=\"600\" alt=\"A series of vertical rectangles filled with snow-capped mountain imagery accompany the text Weekly Thing below.\">\n<p>Or how about one of my favorite animals.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/wt-logo-bison.png\" width=\"600\" height=\"600\" alt=\"A bison is depicted across multiple book-like segments above the text Weekly Thing.\">\n<p>The last extension I thought about that seemed like a fun option was animation. The seven blocks don&rsquo;t have to be static. I could have them moving around.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/wt-logo-bounce.gif\" width=\"600\" height=\"600\" alt=\"Three tall 3D rectangular blocks on the left and one on the right, rendered in black outlines, above bold text reading Weekly Thing.\">\n<p>I like it and I think it works well for my needs. I’m going to play around during my winter publishing break with how I may use this. I don&rsquo;t want to change the personal feel of the email with a logo. Perhaps some folks may want a Weekly Thing coffee mug to go with their weekend reading?</p>\n",
        "date_published": "2024-12-15T09:21:32-05:00",
        "url": "https://www.thingelstad.com/2024/12/15/weekly-thing-logo.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/15/this-twoway-comment.html",
        
        "content_html": "<p>This two-way comment system that <a href=\"https://micro.blog/manton\">@manton</a> has setup with Bluesky is pretty cool to see in action. I replied to a <a href=\"https://www.thingelstad.com/2023/07/09/im-not-particularly.html\">comment left via a Bluesky</a> authentication on my blog and it showed up as <a href=\"https://bsky.app/profile/jamie.thingelstad.com/post/3lddw5ncgw226\">a post on Bluesky</a> a few moments later. Pretty cool! 👏</p>\n",
        "date_published": "2024-12-15T08:35:31-05:00",
        "url": "https://www.thingelstad.com/2024/12/15/this-twoway-comment.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/13/just-tried-out.html",
        
        "content_html": "<p>Just tried out the new <a href=\"https://help.micro.blog/t/photo-collections/3366\">photo collections</a> feature on micro.blog and it is pretty great. I created a page of <a href=\"https://www.thingelstad.com/photos/coffee/\">coffee photos</a>. ☕️</p>\n<p>This is a fun and new way to index into the <a href=\"/photos\">photos</a> that I have posted. I like it.</p>\n",
        "date_published": "2024-12-13T23:16:46-05:00",
        "url": "https://www.thingelstad.com/2024/12/13/just-tried-out.html",
        "tags": ["Coffee","Photography","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/08/i-love-to.html",
        
        "content_html": "<p>I love to see new blogs being created. In the spirit of Christmas, I&rsquo;m gifting <strong>five 1-year subscriptions</strong> to <a href=\"https://micro.blog\">micro.blog</a> for readers of the Weekly Thing (<a href=\"https://weekly.thingelstad.com/archive/304/\">announced in WT304</a>). These folks can then get their blogs going and in January I&rsquo;m going to share links and introduce each of them. Fun! 🤩🎁🎄</p>\n",
        "date_published": "2024-12-08T09:37:11-05:00",
        "url": "https://www.thingelstad.com/2024/12/08/i-love-to.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/03/i-created-a.html",
        
        "content_html": "<p>I created a <a href=\"https://blogflock.com/list/1jp8j\">Twin Cities IndieWeb list</a> on <a href=\"https://blogflock.com/\">BlogFlock</a>. Let me know if you have sites that should be added! I feel a desire to get an IndieWeb meetup going in the Twin Cities.</p>\n",
        "date_published": "2024-12-03T22:29:15-05:00",
        "url": "https://www.thingelstad.com/2024/12/03/i-created-a.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/12/03/people-blogs-list.html",
        "title": "People \u0026 Blogs List on BlogFlock",
        "content_html": "<p>I ran across <a href=\"https://blogflock.com\">BlogFlock</a>, a new service by <a href=\"https://raphael.computer/\">Raphael Kabo</a> that takes a social approach to RSS feeds, and decided to give it a look. BlogFlock is entirely built on open RSS feeds and allows users to create lists of RSS feeds that others can then follow. Think of it as a way to build a custom timeline using RSS in the open. It isn&rsquo;t a Feed Reader because it isn&rsquo;t just <em>your</em> feed or list and there is no read or unread status. It is more in the spirit of a &ldquo;river of news&rdquo; feed that anyone can use.</p>\n<p>I was having fun with it and decided to create a list I&rsquo;ve always wanted for <a href=\"https://manuelmoreale.com\">Manuel Moreale</a>&rsquo;s excellent <strong><a href=\"https://peopleandblogs.com\">People &amp; Blogs</a></strong> project. I created a <a href=\"https://blogflock.com/list/Qj5Gq\">BlogFlock list for People &amp; Blogs</a> and yes, I actually added all 66 blogs to the list (some exceptions noted below). That wasn&rsquo;t super fun but it is done and adding each new one is simple enough.</p>\n<p>I had previously thought of doing something like this in Feedbin but it isn&rsquo;t public so it kind of missed the point. I wanted something more like a &ldquo;river of news&rdquo; for it. So BlogFlock was a perfect approach.</p>\n<p>It seems to be working really well and I like the way it works. Check out the <strong><a href=\"https://blogflock.com/list/Qj5Gq\">People &amp; Blogs List</a></strong> and give it a look.</p>\n<p>Some notes for BlogFlock.</p>\n<ol>\n<li>You should be able to subscribe to the RSS feed for the list itself. In this way BlogFlock could be an aggregator and then I could add that lists aggregated RSS feed to my feed reader.</li>\n<li>You for sure should be able to create a list by importing an OPML file.</li>\n<li>Lists should be exportable via OPML as well.</li>\n<li>The description for a blog in a list is hopefully scoped just to that list. So if I add the same feed to two different lists I would want a different description for each one.</li>\n<li>You should be able to manually reorder the blogs in a list.</li>\n<li>It could handle posts without titles a bit better.</li>\n</ol>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/blogflock.png\" width=\"600\" height=\"447\" alt=\"A website page featuring blog post listings and a sidebar with names under People & Blogs.\">\n<p>On this list itself it contains all 66 blogs that have been highlighted in People &amp; Blogs thus far, with these exceptions:</p>\n<ul>\n<li>P&amp;B 9: Ray Thomas has no RSS feed.</li>\n<li>P&amp;B 43: Devastatia has adult content so I left it out.</li>\n<li>P&amp;B 60: Steyn Viljoen has no RSS feed.</li>\n</ul>\n<p>PS: It turns out Manu has a similar <a href=\"https://peopleandblogs.feedland.cloud\">People &amp; Blogs List on Feedland</a>.</p>\n",
        "date_published": "2024-12-03T21:35:54-05:00",
        "url": "https://www.thingelstad.com/2024/12/03/people-blogs-list.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/11/18/stories-are-to.html",
        
        "content_html": "<p>Stories are to people<br>\nas programs are to computers.</p>\n",
        "date_published": "2024-11-18T19:10:58-05:00",
        "url": "https://www.thingelstad.com/2024/11/18/stories-are-to.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/11/17/weekly-thing-supporting.html",
        "title": "Weekly Thing Supporting Memberships",
        "content_html": "<p>I have launched a <strong>Supporting Membership</strong> offering for the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>. I previewed it in <a href=\"https://weekly.thingelstad.com/archive/299/\">Weekly Thing 299</a> and <a href=\"https://ponder.us/group/weeklything/discussions/831\">shared it on the Weekly Thing Forum</a>. So what is this Supporting Membership all about? What does it get you?</p>\n<p>Nothing. 😊</p>\n<p>Well, that isn&rsquo;t true. It will make you feel great.</p>\n<p><strong>Supporting Membership</strong> will be a way to raise money for non-profits that we can support as a community. All of the money from memberships will be accrued and once a year I will disperse that to a non-profit. I plan to change the non-profit on each anniversary of the Weekly Thing when the funds are distributed. I will also likely do a &ldquo;member drive&rdquo; ramping up to each anniversary.</p>\n<p>The first non-profit Supporting Memberships are helping is <a href=\"https://creativecommons.org\">Creative Commons</a>. I use a Creative Commons licenses for the Weekly Thing and my blog. I’m a big believer in Remix Culture and see the benefits that an organization like this provides. Creative Commons was founded by <a href=\"https://en.wikipedia.org/wiki/Lawrence_Lessig\">Larry Lessig</a> who I think has done incredible work. Here is Lessig&rsquo;s TED Talk from 2017 on <a href=\"https://www.ted.com/talks/lawrence_lessig_laws_that_choke_creativity?subtitle=en\">Laws that choke creativity</a>.</p>\n<p>Back to Supporting Memberships. Members receive a gold star in each issue of the newsletter. It looks like this:</p>\n<blockquote>\n<p>🌟 Thank you for being a supporting member of the Weekly Thing!</p>\n</blockquote>\n<p>There is nothing else different.</p>\n<p>But Supporting Members will help me support great organizations that are making an impact. So a huge thank you!</p>\n<p>The links to sign up as a Supporting Member are included at the bottom of each issue of the Weekly Thing, right after the Fortune.</p>\n",
        "date_published": "2024-11-17T18:09:18-05:00",
        "url": "https://www.thingelstad.com/2024/11/17/weekly-thing-supporting.html",
        "tags": ["Weekly Thing","Blogging","Giving"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/11/17/im-hosting-the.html",
        
        "content_html": "<p>I&rsquo;m hosting the <a href=\"https://indieweb.org/IndieWeb_Carnival\">IndieWeb Carnival</a> in April 2025 and I&rsquo;m getting pretty excited about it. Starting to think through themes and such. 🤩</p>\n",
        "date_published": "2024-11-17T17:41:21-05:00",
        "url": "https://www.thingelstad.com/2024/11/17/im-hosting-the.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/11/17/thoughts-after-writing.html",
        "title": "Thoughts after writing 300 newsletters",
        "content_html": "<p>On November 9th I sent the <a href=\"https://weekly.thingelstad.com/archive/300/\">300th issue</a> of the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>. I sent the very <a href=\"https://weekly.thingelstad.com/archive/weekly-thing-for-may-13-2017/\">1st issue</a> on May 13, 2017. It took 7 years 5 months 3 weeks and 6 days to get to 300.</p>\n<p>So, what have I learned from sending 300 newsletters? What insights have I gleaned? In no particular order…</p>\n<ul>\n<li><strong>Structure and process is key.</strong> There is no way I could do this for 30 issues much less 300 without having robust automation and process to make it easier. It is still very similar to what I wrote in 2023 at <a href=\"https://www.thingelstad.com/2023/10/07/how-i-find.html\">How I Find Links for the Weekly Thing</a>, <a href=\"https://www.thingelstad.com/2023/10/01/task-management-for.html\">Task Management for the Weekly Thing</a>, and <a href=\"https://www.thingelstad.com/2023/09/24/how-i-build.html\">How I Build the Weekly Thing</a>.</li>\n<li><strong>Breaks in summer and winter.</strong> For the first while I didn’t do this and then I read how James Whatley of <a href=\"https://www.fivethingsonfriday.com\">Five Things on Friday</a> takes a break and decided I should do that too. I&rsquo;ve taken July and August off of the newsletter for a summer break as well as Dec 15 to Jan 15. This works really well since we often take a vacation and have very busy summers in July and August, and the winter break covers Christmas, New Years, and my birthday. Without these breaks I&rsquo;m pretty sure I would have burned out by now.</li>\n<li><strong>Fun to play and experiment.</strong> I started sending the newsletter to learn and experiment. I&rsquo;ve continued that. Sections have changed over time. I created the Weekly Thing Forum which isn&rsquo;t busy but is meaningful. I just started <a href=\"https://www.thingelstad.com/2024/11/17/weekly-thing-supporting.html\">Supporting Memberships</a> to raise money for digital non-profits. I’m playing with Straw Polls as a new section. I want to keep this evolution.</li>\n<li><strong>People unsubscribe and that&rsquo;s okay.</strong> Most every week people unsubscribe after I send a new issue. On the whole, a few people sign up each week and about half of that unsubscribe each week. It is just human nature but the unsubscribe signal at half the volume is more impactful to me than the subscribe signal at twice the volume. I mostly ignore unsubscribes.</li>\n<li><strong>I am so glad I don&rsquo;t know what you click on.</strong> I&rsquo;ve <a href=\"https://www.thingelstad.com/2022/12/28/on-audience-capture.html\">written on audience capture</a> before and I couldn&rsquo;t be happier that I’m completely ignorant if you click on anything in the Weekly Thing. In case you are not aware most email newsletters track every link that is in the email and track when you click them. This would completely mess with my brain and I no matter how much I try I know I would start including links because I might think they would get clicks. I have no idea what or even if anything is popular with you.</li>\n<li><strong>Writing the intro can be challenging.</strong> It may surprise people but I often find the intro to be the hardest thing for me to write. Covering the links is topical. Currently is pretty obvious. The Journal is my blog syndicated. But the intro? That is only for the newsletter and I often find myself looking at a blinking cursor thinking &ldquo;Huh?&rdquo;.</li>\n<li><strong>People like blend of personal and professional.</strong> One of the things I consistently hear from people about the Weekly Thing is that they love the blend of professional and personal. The fact that there are links about super technical topics, and then a Journal post about picking Apples or something. Many people have commented that the Weekly Thing is the <em>only</em> newsletter that does that and they like it. Perhaps there are folks that dislike it? 🤷‍♂️</li>\n<li><strong>Buck most trends of growing newsletter.</strong> I&rsquo;ve ignored a ton of advice on how to grow, grow, grow the popularity of the Weekly Thing. It is <em>much</em> longer than most would suggest it should be. It has a ton of links which Gmail doesn&rsquo;t like it probably puts it in the promotions or junk. I don&rsquo;t have a topic that I focus on and instead meander around. I’m okay with this.</li>\n</ul>\n<p>With those thoughts… where might the Weekly Thing go in the future? I have two ideas that have persisted long enough that I feel they will happen when the time is right.</p>\n<ul>\n<li><strong>Weekly Thing Podcast.</strong> I&rsquo;ve pondered a podcast to go along with the Weekly Thing for more than a couple years now. I&rsquo;ve taken this one a ways actually. I&rsquo;ve worked through the structure and approach. I already have automation built to help me create the outline of each issue. There are two barriers for me on this one. First, getting comfortable with audio versus writing. I&rsquo;ve been told I have a good voice for it, but I’m not super comfortable on the microphone. Second, the time required. Recording and editing a podcast takes a good chunk of time. And I ultimately would like to have guests on as well. So, this will wait for a while.</li>\n<li><strong>Yearly Thing.</strong> I keep thinking about taking each year of the Weekly Thing and creating an ebook and maybe even a printed book that captures the content from that year. It could be in part almanac? I’m not sure. The idea would be to publish one a year.</li>\n</ul>\n",
        "date_published": "2024-11-17T17:33:34-05:00",
        "url": "https://www.thingelstad.com/2024/11/17/thoughts-after-writing.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/11/16/you-can-find.html",
        
        "content_html": "<p><strong>You can find me on the web.</strong></p>\n<p>So much chatter lately on leaving social platform <em>this</em> to go to social platform <em>that</em>.</p>\n<p>The new thing.</p>\n<p>The better thing?</p>\n<p>What is everyone chasing?</p>\n<p>I&rsquo;ll be right here on the web.</p>\n<p>Same place I was before.</p>\n<p>Same place I&rsquo;ll be in the future.</p>\n",
        "date_published": "2024-11-16T20:19:47-05:00",
        "url": "https://www.thingelstad.com/2024/11/16/you-can-find.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/11/16/rip-thingles.html",
        "title": "RIP @thingles",
        "content_html": "<p>The steps&hellip;</p>\n<ul>\n<li>I <a href=\"https://www.thingelstad.com/2016/04/30/000000.html\">deleted my tweet history in 2016</a>. I didn’t want my archive on a site that I didn’t control.</li>\n<li>I left Twitter in 2017. <a href=\"https://www.thingelstad.com/2017/01/31/hoping-httpstcovygeqzvq-from.html\">Micro.blog showed up</a> and I knew I wanted to only <a href=\"https://www.thingelstad.com/2022/12/17/not-your-domain.html\">write on my own site</a>.</li>\n<li>Twitter <a href=\"https://www.thingelstad.com/2022/04/25/all-the-chatter.html\">was a failed company</a>.</li>\n<li>I <a href=\"https://www.thingelstad.com/2023/01/22/antisocial.html\">removed all my connections</a>, destroying my &ldquo;network&rdquo; on Twitter.</li>\n<li>I <a href=\"https://www.thingelstad.com/2023/09/06/thank-you-elon.html\">thanked Elon when he dropped the Twitter brand</a> and made it X. I have no brand affinity to X.</li>\n</ul>\n<p>When I joined Twitter in December 2006 as user 82,903 it was fun and new. It was an open platform with a lot of experimentation. Twitter clients were super innovative. I remember posting via SMS! The creation of &ldquo;retweets&rdquo; by the community before the platform figured it out.</p>\n<p>But the fun turned sour over years. I <a href=\"https://www.thingelstad.com/2024/11/09/the-business-of.html\">don&rsquo;t believe there is a good form of social media</a>. It isn&rsquo;t the logo on the front or who is running it. It is the fundamental thing. It is <a href=\"https://www.thingelstad.com/2018/02/04/identify-addictive-application.html\">addictive software patterns</a> and <a href=\"https://www.thingelstad.com/2020/06/03/refusing-to-amplify.html\">amplification of engaging content</a> with no regard for our health or wellbeing.</p>\n<p>I honestly can&rsquo;t think of an innovative new thing to come from social media in the last several years. It isn&rsquo;t about the product anymore, it is just marketing.</p>\n<p>So in November 2024, it was time to cut the last vestige of social media I had. It was time to delete my <strike>Twitter</strike> X profile. I had destroyed everything else I had on that site but had left my profile there. The only utility of that was to hold my username. But I don&rsquo;t want any connection to these networks. It isn&rsquo;t about the brand. I believe they all end up in the same place. There is no healthy cigarette. No good form of gambling.</p>\n<p>By way of this post please be aware that any content or information that may appear on X is absolutely not from me.</p>\n<p><img src=\"https://cdn.uploads.micro.blog/890/2024/6c4ced55a6.jpg\" width=\"600\" height=\"600\" alt=\"A gravestone with the Twitter logo and the handle @thingles (2006-2024) surrounded by candles and crows, set in a stormy graveyard.\"><br/>\n<em>I had some fun with ChatGPT and the image this conjured up for me.</em></p>\n",
        "date_published": "2024-11-16T12:32:33-05:00",
        "url": "https://www.thingelstad.com/2024/11/16/rip-thingles.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/11/16/how-im-handling.html",
        "title": "How I’m handling Twitter embeds from deleted accounts",
        "content_html": "<p>I’m seeing a lot of people that I was connected with on <strike>Twitter</strike> X deleting their profiles. This actually ends up having an impact on my blog because of embeddings. When I left Twitter years ago I exported my archive and <a href=\"https://www.thingelstad.com/2017/05/06/importing-tweets-from.html\">imported it into my blog</a>. Over the years I&rsquo;ve merged that content in as &ldquo;native&rdquo; as I can. The reality is that Twitter status updates are often very different than a blog post.</p>\n<p>There were a number of retweets that I did that I also migrated. When I did those I used <a href=\"https://gohugo.io\">Hugo</a>&rsquo;s ability to embed a Tweet using a <a href=\"https://gohugo.io/content-management/shortcodes/\">shortcode</a>. That results though in build errors if those Tweets become unavailable. I get an error that looks like this (I anonymized the identifiers).</p>\n<p><code>Error: ERROR Failed to get JSON resource &quot;https://publish.twitter.com/oembed?dnt=false&amp;url=https%3A%2F%2Ftwitter.com%2Fusername%2Fstatus%2F123456789123456&quot;: Failed to retrieve remote file: Forbidden, body: &quot;{\\&quot;error\\&quot;:\\&quot;Sorry, you are not authorized to see this status.\\&quot;,\\&quot;request\\&quot;:\\&quot;\\\\/oembed?dnt=false&amp;url=https%3A%2F%2Ftwitter.com%2Fusername%2Fstatus%2F123456789123456\\&quot;}&quot;</code></p>\n<p>I debated how to approach this and decided that I would delete my references to these as well. That seems like the best way to honor the original authors intent. They deleted that content themselves. The result is that I&rsquo;ve deleted several historical posts on my blog in recent days as people have deleted their accounts on X. Mostly those posts had no meaningful content from me.</p>\n",
        "date_published": "2024-11-16T12:14:44-05:00",
        "url": "https://www.thingelstad.com/2024/11/16/how-im-handling.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/11/09/this-morning-weekly.html",
        
        "content_html": "<p>This morning <a href=\"https://weekly.thingelstad.com/archive/300/\">Weekly Thing 300</a> went out and a couple hours later my cellphone rang. It was <a href=\"https://rajiv.com\">Rajiv Pant</a> calling out of the blue to congratulate me on the milestone. That was so great. Not a text. Not an email. A real telephone call from someone I haven&rsquo;t talked to in many years. Thanks Rajiv! 🙏</p>\n",
        "date_published": "2024-11-09T10:15:00-05:00",
        "url": "https://www.thingelstad.com/2024/11/09/this-morning-weekly.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/11/08/i-have-scheduled.html",
        
        "content_html": "<p>I have scheduled <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> 300 to go out tomorrow morning! This project that <a href=\"https://www.thingelstad.com/2017/06/16/introducing-the-weekly.html\">I started in June 2017</a> cause I wanted to play with a newsletter is now the most widely read thing I create. 🤯</p>\n<p>I&rsquo;m continuing to experiment by announcing a membership program to support a digital non-profit. 😊</p>\n",
        "date_published": "2024-11-08T22:55:47-05:00",
        "url": "https://www.thingelstad.com/2024/11/08/i-have-scheduled.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/10/30/i-just-ordered.html",
        
        "content_html": "<p>I just ordered an <a href=\"https://jimmitchell.org/2024/10/30/the-unofficially-official.html\">unofficial micro.blog t-shirt</a> ! I went with blue. Thanks to <a href=\"https://jimmitchell.org\">Jim Mitchell</a> for getting this available.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/befecbb272.jpg\" width=\"600\" height=\"600\" alt=\"Royal blue crew-neck t-shirt with a yellow-orange speech bubble icon containing a star printed on the chest.\">\n",
        "date_published": "2024-10-30T22:45:48-05:00",
        "url": "https://www.thingelstad.com/2024/10/30/i-just-ordered.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/10/18/this-morning-we.html",
        
        "content_html": "<p>This morning we made our way to Arlington Heights and met <a href=\"https://www.cjchilvers.com\">CJ Chilvers</a> for breakfast at <a href=\"https://scratchboardkitchenah.com\">Scratchboard Kitchen</a>. I have followed CJ’s blog and newsletter for years and have a ton of respect for how he approaches his craft. It was awesome to finally meet him in person!</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/2328c37488.jpg\" width=\"600\" height=\"800\" alt=\"Two people are standing on a sidewalk outside, smiling at the camera, with trees and a few parked cars in the background.\">\n",
        "date_published": "2024-10-18T21:45:20-05:00",
        "url": "https://www.thingelstad.com/2024/10/18/this-morning-we.html",
        "tags": ["Travel","Blogging","Chicago MEA 2024"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/10/16/my-cousin-joshs.html",
        
        "content_html": "<p>My cousin Josh’s column today, <a href=\"https://www.ramblingjosh.com/2024/10/16/night-riders-lament.html\">Night Riders  Lament</a>, was really good.</p>\n",
        "date_published": "2024-10-16T22:04:40-05:00",
        "url": "https://www.thingelstad.com/2024/10/16/my-cousin-joshs.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/09/28/two-ai-bots.html",
        "title": "Two AI Bots Discussing the Weekly Thing",
        "content_html": "<p>My friend Garrick recently shared about <a href=\"https://garrickvanburen.com/two-ai-bots-discussing-my-work/\">Two AI Bots Discussing His Work</a> — a test he did using Google&rsquo;s <a href=\"https://notebooklm.google.com/\">Notebook LM</a>. I listened to the three recordings that he shared and it was incredible.</p>\n<p>I had to try this myself so I fired up Notebook LM and decided to throw some issues of the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> at it. The results were interesting to say the least!</p>\n<h3 id=\"292--signal-checkboxes-hope\"><a href=\"https://weekly.thingelstad.com/archive/292/\">292 / Signal, Checkboxes, Hope</a></h3>\n<p>\n<audio controls preload=\"none\">\n<source src=\"http://files.thingelstad.com/posts/2024/notebooklm/notebooklm-weekly-thing-292.mp3\" type=\"audio/mpeg\">\nYour browser does not support the audio element.\n</audio>\n</p>\n<p>Notes:</p>\n<ul>\n<li>I found the beginning of this super interesting. It just jumps right into the privacy topic and for some reason even pulls in bee keeping which seems strangely connected to other things.</li>\n<li>The AI really got focused on the featured article about Section 230 and ignores everything else in this issue.  There is a good chunk of writing in here about GTD that is entirely ignored.</li>\n<li>The bots totally understand what Section 230 is.</li>\n<li>It cracked me up when the AI&rsquo;s highlight quotes.</li>\n<li>I found it odd that it mostly pronounces my last name right, but gets it wrong one time.</li>\n</ul>\n<h3 id=\"287--plinky-piccolo-privacy\"><a href=\"https://weekly.thingelstad.com/archive/287/\">287 / Plinky, Piccolo, Privacy</a></h3>\n<p>\n<audio controls preload=\"none\">\n<source src=\"http://files.thingelstad.com/posts/2024/notebooklm/notebooklm-weekly-thing-287.mp3\" type=\"audio/mpeg\">\nYour browser does not support the audio element.\n</audio>\n</p>\n<p>Notes:</p>\n<ul>\n<li>This one starts out with a much more traditional podcast introduction, even using a title &ldquo;The Deep Dive&rdquo;. Very different from what it did on the other ones.</li>\n<li>The bots talking about stackless interpreters is pretty funny.</li>\n<li>This one works hard to cover all the various things in the newsletter and kind of rambles on.</li>\n</ul>\n<h3 id=\"276--contextual-copilot-collections\"><a href=\"https://weekly.thingelstad.com/archive/276/\">276 / Contextual, Copilot, Collections</a></h3>\n<p>\n<audio controls preload=\"none\">\n<source src=\"http://files.thingelstad.com/posts/2024/notebooklm/notebooklm-weekly-thing-276.mp3\" type=\"audio/mpeg\">\nYour browser does not support the audio element.\n</audio>\n</p>\n<p>Notes:</p>\n<ul>\n<li>This issue includes the dates that it covers in the header, and the AI clearly sees that and makes an intentional reference to this being somewhat old. &ldquo;Back in February 2024…&rdquo;</li>\n<li>The Apple Vision Pro &ldquo;Ahh, yes. It was all the rage back then.&rdquo;</li>\n<li>&ldquo;This guy is writing the user manual for the future.&rdquo; Okay!</li>\n<li>Even the bots poke fun at blockchain. &ldquo;Obsessed with the idea of decentralization.&rdquo; 😂</li>\n<li>It is curious to me that in this one there are more references to &ldquo;this guy&rdquo; and &ldquo;the author&rdquo;. It doesn&rsquo;t seem to know who I am like it does in the others.</li>\n<li>I love the &ldquo;totally random&rdquo; reference to the blog post about the Minneapolis Downtown Council. The bots can’t help but try to connect it to the rest of the content, which it isn&rsquo;t at all. But it does make one up! Apparently I’m connecting urban planning to digital spaces.</li>\n</ul>\n<h3 id=\"multiple-issues\">Multiple Issues</h3>\n<p>\n<audio controls preload=\"none\">\n<source src=\"http://files.thingelstad.com/posts/2024/notebooklm/notebooklm-weekly-thing-multi.mp3\" type=\"audio/mpeg\">\nYour browser does not support the audio element.\n</audio>\n</p>\n<p>At this point I was pretty impressed and intrigued by what this was doing. I wanted to try something with more content so this time I uploaded 14 recent issues of the Weekly Thing into the notebook and told it to generate. I was curious what it would do with this much material! This one has an entirely different structure.</p>\n<p>Notes:</p>\n<ul>\n<li>The bots cover a lot of ground but focus a lot on the variety of topics.</li>\n<li>It is goofy to me when the AI says to the other one &ldquo;I think I remember that one…&rdquo; Huh?</li>\n<li>It thinks I switched my whole blog to a web3 platform, which I didn’t. Not sure how it got that.</li>\n<li>&ldquo;He&rsquo;s grounded.&rdquo; If I want some compliments I&rsquo;ll just listen to this. 😊</li>\n<li>&ldquo;Jamie doesn&rsquo;t shy away from any topic. He even went deep on cryptocurrency.&rdquo;</li>\n</ul>\n",
        "date_published": "2024-09-28T09:00:00-05:00",
        "url": "https://www.thingelstad.com/2024/09/28/two-ai-bots.html",
        "tags": ["Weekly Thing","Technology","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/09/01/was-feeling-motivated.html",
        
        "content_html": "<p>Was feeling motivated this morning and published a robust iteration of <a href=\"https://www.thingelstad.com/lists/blogroll/\">my blogroll</a> that has more sites and context on why I follow it.</p>\n",
        "date_published": "2024-09-01T09:41:42-05:00",
        "url": "https://www.thingelstad.com/2024/09/01/was-feeling-motivated.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/08/18/the-thing-that.html",
        
        "content_html": "<p>The thing that bugs me about <a href=\"https://nownownow.com/about\">Now</a>  pages is that they don&rsquo;t have history. How about a &ldquo;Now&rdquo; category and then redirect the <code>/now</code> URL to the most recent version? Or maybe a Now page that is very long with a section for each update? 🤔 In the meantime, <a href=\"https://www.thingelstad.com/now/\">my now page</a>  is back.</p>\n",
        "date_published": "2024-08-18T20:35:11-05:00",
        "url": "https://www.thingelstad.com/2024/08/18/the-thing-that.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/08/04/gmails-spam-randomness.html",
        "title": "Gmails Spam Randomness",
        "content_html": "<p>I subscribe to my own newsletter via Gmail so that I can see how it is treating the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>. I have Gmail configured to forward things to Fastmail which I intercept into an &ldquo;External&rdquo; folder. I do the same with iCloud. This morning it didn’t come through. So I went looking…</p>\n<p>Sure enough Gmail had decided that <a href=\"https://weekly.thingelstad.com/archive/291/\">Weekly Thing 291 / Ireland 🇮🇪</a> was deserving of the spam folder. Why? The sender address is in my contacts! It hasn&rsquo;t relegated any recent issues to junk! No idea. And isn&rsquo;t an address being in your contacts effectively an allow-list to get email? I guess not.</p>\n<p>While there I noticed that Gmail had also put several Google Search Console, Google Cloud, and Google Account emails in spam as well. Perhaps this is some nod to anti-trust watchers but it seems ridiculous that Google&rsquo;s own emails to a Gmail user be flagged as junk — including my Google Cloud invoice notification!</p>\n<p>I share this mostly out of frustration due to the popularity of Gmail and also the perception that people have that it is the senders issue if an email doesn&rsquo;t land in the inbox. It is fairly common that a friend will say the Weekly Thing went to their spam folder, and the implication is that there is some issue with the email. I&rsquo;ve properly configured every email acronym you can imagine — SPF, DKIM, DMARC. But still the battle persists.</p>\n<p>Gmail likes to add arbitrary other criteria like &ldquo;Hey, this email is just too long.&rdquo; or &ldquo;Hey, we don&rsquo;t like hyperlinks in emails.&rdquo; I’m not going to change how I write for some email service, regardless of how popular it is.</p>\n<p>What is the point? I guess my thought is to remember that your email services actions are under your control more than the sender. And beyond following standards there is nothing a sender can do to make it better. I would suggest making sure to keep tabs on these other folders too.</p>\n",
        "date_published": "2024-08-04T08:55:41-05:00",
        "url": "https://www.thingelstad.com/2024/08/04/gmails-spam-randomness.html",
        "tags": ["Weekly Thing","Productivity","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/08/04/dense-discovery-launches.html",
        "title": "Dense DIscovery Launches DD Lounge",
        "content_html": "<p><a href=\"https://www.brizk.com/\">Kai Brach</a> at <a href=\"https://www.densediscovery.com\">Dense Discovery</a> just launched the <a href=\"https://www.densediscovery.com/friends/lounge/\">DD Lounge</a> for his <a href=\"https://www.densediscovery.com/friends/\">Friends of DD</a> (subscribers) and I am impressed with how he did it. I&rsquo;ve been a subscriber since 2020 because I like the newsletter itself and I find Kai&rsquo;s approach to the medium interesting. He built the DD Lounge himself and I&rsquo;m impressed with how integrated the experience is.</p>\n<p>Some notes:</p>\n<ul>\n<li>The DD Lounge actions are integrated right into the newsletter and just a click away. You are automatically logged in. This comes with a tradeoff. You cannot forward your copy of Dense Discovery since it has magic links that will get into your profile. However the reduced friction is worth it in my opinion and Kai provides a way to reset your link if you do this by accident.</li>\n<li>You create your profile on the Lounge and there are multiple ways to encourage connection inside the Friends of DD group. You can discover people by shared interests, location, and which issues of DD you liked the most. You can directly engage other members of the community through the &ldquo;Meet&rdquo; section.</li>\n<li>All the while the entire experience feels calm and relaxed. The fit and finish on the user experience is impressive for a v1.0 release. Everything feels consistent from email to the web. As someone who publishes a newsletter myself, I find this incredibly difficult with any of the &ldquo;off the shelf&rdquo; solutions out there today.</li>\n</ul>\n<p>All of that and the lowest membership fee is just $22 which is very accessible compared to nearly any other newsletter or podcast I subscribe to. Congratulations to Kai on the launch! 🎉</p>\n<p><img src=\"https://cdn.uploads.micro.blog/890/2024/d52795d6c5.png\" width=\"600\" height=\"429\" alt=\"Screenshot of the DD Lounge discuss page for issue 299, showing a comment editor, 33 comments, and a colorful illustrated cover featuring a stylized figure among flowers.\"><img src=\"https://cdn.uploads.micro.blog/890/2024/33b66f344c.png\" width=\"600\" height=\"429\" alt=\"Screenshot of a user profile modal on the DD Lounge website showing name, bio, location, interests tags, and a photo of a smiling middle-aged man in a dark shirt.\"></p>\n",
        "date_published": "2024-08-04T07:46:30-05:00",
        "url": "https://www.thingelstad.com/2024/08/04/dense-discovery-launches.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/08/04/enabling-with-automation.html",
        "title": "Enabling with Automation",
        "content_html": "<p>I just sent <a href=\"https://weekly.thingelstad.com/archive/291/\">Weekly Thing 291 / Ireland 🇮🇪</a> as a special issue all about Ireland. This issue didn’t follow my usual structure so I did all the assembly by hand. It took me about 2 hours just to get the sections, links, headers, images, and outline together. Then I could start the actual writing!</p>\n<p>It was illuminating to show how important <a href=\"https://www.thingelstad.com/2023/09/24/how-i-build.html\">my automation</a> is to successfully sending my newsletter each week. Everything I did in those two hours is done with automation and takes just a few seconds each week. Without that capability It would at least double the time it takes me to send each <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>.</p>\n",
        "date_published": "2024-08-04T07:11:52-05:00",
        "url": "https://www.thingelstad.com/2024/08/04/enabling-with-automation.html",
        "tags": ["Weekly Thing","Productivity","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/07/14/blog-pensieve.html",
        "title": "Blog Pensieve",
        "content_html": "<p>I&rsquo;ve been curating my blog for a couple of years now using a method I call <a href=\"https://www.thingelstad.com/2023/09/04/blog-gardening.html\">Blog Gardening</a>. I continue to <a href=\"https://www.thingelstad.com/2024/04/21/blog-gardening-reflection.html\">garden my blog each day</a>. It is a great way to tend to the archive of posts I&rsquo;ve created over more than twenty years and gives me a moment of nostalgia in my day that often brings a smile to my day. It is pretty common that I share a memory from gardening with my family.</p>\n<p>I&rsquo;ve been pondering a blog activity that is less common for me but is another way to curate my blog. There are times when life is busy, or I lack connectivity to the web, or who knows why but something that I would have blogged about goes without a blog post. A common situation for me involves video which requires more bandwidth than I have when we are traveling. What to do when I find these notable historical gaps in my blog?</p>\n<p>I can of course create a blog post with whatever date I want and have an opportunity to fill a gap when able. Micro.blog itself supports scheduling a post in the future which you can &ldquo;misuse&rdquo; and schedule a post in the past — it works great<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1</a></sup>. You can use an app like <a href=\"https://redsweater.com/marsedit/\">MarsEdit</a> to create a post with any timestamp you wish.</p>\n<p>What to call creating posts from the past? It made me think of <a href=\"https://harrypotter.fandom.com/wiki/Pensieve\">Harry Potter and the Pensieve</a>.</p>\n<blockquote>\n<p>A Pensieve was a very rare and powerful magical item. They were a magical device used to store and review memories.</p>\n</blockquote>\n<p><strong>Blog Pensieve</strong> it is! Love it.</p>\n<p>For me Pensieve posts are anchored in my <strong>Photo Library</strong>. My photos have a clear history of visual events and critically also have location and timestamp information. Together these photos give the important metadata needed to &ldquo;populate the pensieve&rdquo;. The most important part to get right for a pensieve post is the timestamp! And when you are traveling in different timezones this may take some careful consideration.</p>\n<p>And a great bonus about this is that these Pensieve posts will now populate in your Blog Gardening!</p>\n<p>Here are some Blog Pensieve posts that I&rsquo;ve created. I&rsquo;ve also decided as a technical matter to have these in a <a href=\"https://www.thingelstad.com/categories/pensieve/\">Pensieve category</a>.</p>\n<ul>\n<li><a href=\"https://www.thingelstad.com/2022/07/27/the-power-of.html\">Dettifoss</a></li>\n<li><a href=\"https://www.thingelstad.com/2022/07/27/upstream-from-dettifoss.html\">Selfoss</a></li>\n<li><a href=\"https://www.thingelstad.com/2016/09/25/cannon-lake-flooded.html\">Cannon Lake Flooded and Boat Floats Away</a></li>\n</ul>\n<p>I also use the schedule feature to create posts from a day or two ago. I don&rsquo;t consider these Pensieve posts. They are really just me catching up on some things. I probably created a task in <a href=\"https://www.omnigroup.com/omnifocus/\">OmniFocus</a> to post it. Pensieve posts are for going back in time, dipping into those gaps, and adding to my blog for the future.</p>\n<p>I like the term Pensieve too because just like in Harry Potter, too much of it could be dangerous:</p>\n<blockquote>\n<p>Pensieves were rare because only the most advanced wizards ever use them, and because the majority of wizardkind is afraid of doing so.</p>\n</blockquote>\n<p>With great power, comes great responsibility.</p>\n<div class=\"footnotes\" role=\"doc-endnotes\">\n<hr>\n<ol>\n<li id=\"fn:1\">\n<p>Unfortunately micro.blog on iOS doesn&rsquo;t support scheduling posts, which is usually fine but there are times when I have wished I could do this from my phone. Also micro.blog on the web does support scheduling posts but I find the workflow confusing compared to the macOS client.&#160;<a href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\">&#x21a9;&#xfe0e;</a></p>\n</li>\n</ol>\n</div>\n",
        "date_published": "2024-07-14T09:33:06-05:00",
        "url": "https://www.thingelstad.com/2024/07/14/blog-pensieve.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/07/03/my-cousin-jellisatc.html",
        
        "content_html": "<p>My cousin <a href=\"https://micro.blog/jellisatc\">@jellisatc</a> posted his first <em>new</em> column — <a href=\"https://www.ramblingjosh.com/2024/07/03/making-hay.html?ref=thingelstad.com\">Making Hay</a> — since I helped him get his website up and running. He&rsquo;s also using micro.blog newsletter capabilities so you can <a href=\"https://www.ramblingjosh.com/subscribe/?ref=thingelstad.com\">subscribe</a> and get them twice a month. Recommended!</p>\n",
        "date_published": "2024-07-03T21:29:54-05:00",
        "url": "https://www.thingelstad.com/2024/07/03/my-cousin-jellisatc.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/06/30/importing-word-documents.html",
        "title": "Importing 240 Word Documents to Micro.blog",
        "content_html": "<p>This weekend I helped get my cousin Josh setup <a href=\"https://www.ramblingjosh.com?ref=thingelstad.com\">Rambling Josh</a>, a <a href=\"https://www.thingelstad.com/2024/06/30/rambling-josh.html\">new website</a> to host the column he&rsquo;s been writing for 20 years. He knew I used micro.blog and was game to use that. I suggested he get a domain name at NameCheap which he did. I got in and twiddled some settings and I had the site up and running easy enough.</p>\n<p>The challenge here was going to be the content. He had shared some documents with me earlier and it seemed like he wrote each column in Microsoft Word. They were very minimal on formatting (like almost none) since the target is a printed newspaper. In the end he had 240 Word documents, each representing an article, that we needed to get into Markdown and posted to the Micro.blog API.</p>\n<p>I figured there were two steps:</p>\n<ol>\n<li>Convert these files to Markdown</li>\n<li>Post the Markdown to Micro.blog</li>\n</ol>\n<h3 id=\"converting-to-markdown\">Converting to Markdown</h3>\n<p>I&rsquo;ve used <a href=\"https://pandoc.org\">Pandoc</a> for this kind of thing before so knew it should handle this pretty easily. I tried with one file passing the source DOCX file and it did good with the MD file. However, it was word wrapped at 72 characters. I did a similar use of Pandoc when I imported content into my website at one time and didn’t realize the word wrapping was happening and now I have hundreds of posts that are word wrapped at 72 characters. In reality, nobody but me ever will see the Markdown so it has no impact. But it still bugs me. I found <code>--wrap=none</code> and was happy with the output.</p>\n<p>A quick bash loop did the rest:</p>\n<div class=\"highlight\"><pre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"><code class=\"language-bash\" data-lang=\"bash\"><span style=\"display:flex;\"><span><span style=\"color:#75715e\">#!/bin/bash\n</span></span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#66d9ef\">for</span> FILE in docx/*.docx; <span style=\"color:#66d9ef\">do</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#75715e\"># Extract the filename without the extension</span>\n</span></span><span style=\"display:flex;\"><span>  filename<span style=\"color:#f92672\">=</span><span style=\"color:#66d9ef\">$(</span>basename -- <span style=\"color:#e6db74\">&#34;</span>$FILE<span style=\"color:#e6db74\">&#34;</span><span style=\"color:#66d9ef\">)</span>\n</span></span><span style=\"display:flex;\"><span>  filename<span style=\"color:#f92672\">=</span><span style=\"color:#e6db74\">&#34;</span><span style=\"color:#e6db74\">${</span>filename%.*<span style=\"color:#e6db74\">}</span><span style=\"color:#e6db74\">&#34;</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>  echo <span style=\"color:#e6db74\">&#34;Processing </span>$filename<span style=\"color:#e6db74\">...&#34;</span>;\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>  pandoc -s <span style=\"color:#e6db74\">&#34;</span>$FILE<span style=\"color:#e6db74\">&#34;</span> <span style=\"color:#ae81ff\">\\\n</span></span></span><span style=\"display:flex;\"><span>    -t markdown <span style=\"color:#ae81ff\">\\\n</span></span></span><span style=\"display:flex;\"><span>    -o <span style=\"color:#e6db74\">&#34;md/</span>$filename<span style=\"color:#e6db74\">.md&#34;</span> <span style=\"color:#ae81ff\">\\\n</span></span></span><span style=\"display:flex;\"><span>    --wrap<span style=\"color:#f92672\">=</span>none\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#66d9ef\">done</span>\n</span></span></code></pre></div><h3 id=\"posting-to-microblog\">Posting to Micro.blog</h3>\n<p>So now I had a new directory with 240 Markdown files. First step done. Luckily Josh used a standard approach to each document. The files had names like:</p>\n<pre tabindex=\"0\"><code>The Wall 3-20-2019.md\nCoach2-2-11.md\nBoxed Out 1-18-2017.md\nFantasia 11-15-2017.md\nBrooklyn Bound 10-16-2019.md\nMemories 6-17-2020.md\nGenius 4-19-17.md\nMirror Mirror 4-18-2018.md\nFloored 3-6-2019.md\nGood Man7-19-2017.md\n</code></pre><p>So I had a fairly good way to get a title as well as a publish date from the filename.</p>\n<p>Inside of each file he had the title, byline, and date as well at the top of each article. These had less conformity so I decided to ignore those and just use the filename for metadata.</p>\n<p>As I put each article into Micro.blog I wanted to:</p>\n<ol>\n<li>Make sure the title was set right.</li>\n<li>Make sure the publish date was the original publish date, not now.</li>\n<li>Add a static category.</li>\n</ol>\n<p>I started to whack away at this script and then decided to ask my friend <a href=\"https://chatgpt.com\">ChatGPT</a> 4o to give me a hand. I could have written what it helped me with, but it did it about 10x faster. It also had an easier time frankly handling the fact that not all the years had 4 digits. 🤓</p>\n<div class=\"highlight\"><pre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"><code class=\"language-bash\" data-lang=\"bash\"><span style=\"display:flex;\"><span><span style=\"color:#75715e\">#!/bin/bash\n</span></span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\"># Your Micro.blog token and API endpoint</span>\n</span></span><span style=\"display:flex;\"><span>MICRO_BLOG_TOKEN<span style=\"color:#f92672\">=</span><span style=\"color:#e6db74\">&#34;SECRET TOKEN HERE&#34;</span>\n</span></span><span style=\"display:flex;\"><span>API_ENDPOINT<span style=\"color:#f92672\">=</span><span style=\"color:#e6db74\">&#34;https://micro.blog/micropub&#34;</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\"># Directory containing the markdown files</span>\n</span></span><span style=\"display:flex;\"><span>MARKDOWN_DIR<span style=\"color:#f92672\">=</span><span style=\"color:#e6db74\">&#34;md&#34;</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\"># Function to post a markdown file</span>\n</span></span><span style=\"display:flex;\"><span>post_to_microblog<span style=\"color:#f92672\">()</span> <span style=\"color:#f92672\">{</span>\n</span></span><span style=\"display:flex;\"><span>    local file<span style=\"color:#f92672\">=</span><span style=\"color:#e6db74\">&#34;</span>$1<span style=\"color:#e6db74\">&#34;</span>\n</span></span><span style=\"display:flex;\"><span>    local filename<span style=\"color:#f92672\">=</span><span style=\"color:#66d9ef\">$(</span>basename -- <span style=\"color:#e6db74\">&#34;</span>$file<span style=\"color:#e6db74\">&#34;</span><span style=\"color:#66d9ef\">)</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#75715e\"># Extract the title (all characters before the date)</span>\n</span></span><span style=\"display:flex;\"><span>    local title<span style=\"color:#f92672\">=</span><span style=\"color:#e6db74\">&#34;</span><span style=\"color:#e6db74\">${</span>filename%%[0-9]*<span style=\"color:#e6db74\">}</span><span style=\"color:#e6db74\">&#34;</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#75715e\"># Extract the date part (all characters from the first digit to the last dot)</span>\n</span></span><span style=\"display:flex;\"><span>    local date_part<span style=\"color:#f92672\">=</span><span style=\"color:#66d9ef\">$(</span>echo <span style=\"color:#e6db74\">&#34;</span>$filename<span style=\"color:#e6db74\">&#34;</span> | grep -oE <span style=\"color:#e6db74\">&#39;[0-9]{1,2}-[0-9]{1,2}-[0-9]{2,4}&#39;</span><span style=\"color:#66d9ef\">)</span>\n</span></span><span style=\"display:flex;\"><span>    local month<span style=\"color:#f92672\">=</span><span style=\"color:#66d9ef\">$(</span>echo <span style=\"color:#e6db74\">&#34;</span>$date_part<span style=\"color:#e6db74\">&#34;</span> | cut -d<span style=\"color:#e6db74\">&#39;-&#39;</span> -f1<span style=\"color:#66d9ef\">)</span>\n</span></span><span style=\"display:flex;\"><span>    local day<span style=\"color:#f92672\">=</span><span style=\"color:#66d9ef\">$(</span>echo <span style=\"color:#e6db74\">&#34;</span>$date_part<span style=\"color:#e6db74\">&#34;</span> | cut -d<span style=\"color:#e6db74\">&#39;-&#39;</span> -f2<span style=\"color:#66d9ef\">)</span>\n</span></span><span style=\"display:flex;\"><span>    local year<span style=\"color:#f92672\">=</span><span style=\"color:#66d9ef\">$(</span>echo <span style=\"color:#e6db74\">&#34;</span>$date_part<span style=\"color:#e6db74\">&#34;</span> | cut -d<span style=\"color:#e6db74\">&#39;-&#39;</span> -f3<span style=\"color:#66d9ef\">)</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#75715e\"># Format the year to 4 digits (assuming 20xx)</span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">if</span> <span style=\"color:#f92672\">[</span> <span style=\"color:#e6db74\">${#</span>year<span style=\"color:#e6db74\">}</span> -eq <span style=\"color:#ae81ff\">2</span> <span style=\"color:#f92672\">]</span>; <span style=\"color:#66d9ef\">then</span>\n</span></span><span style=\"display:flex;\"><span>        local year_formatted<span style=\"color:#f92672\">=</span><span style=\"color:#e6db74\">&#34;20</span>$year<span style=\"color:#e6db74\">&#34;</span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">else</span>\n</span></span><span style=\"display:flex;\"><span>        local year_formatted<span style=\"color:#f92672\">=</span><span style=\"color:#e6db74\">&#34;</span>$year<span style=\"color:#e6db74\">&#34;</span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">fi</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#75715e\"># Format the date to Y-M-D</span>\n</span></span><span style=\"display:flex;\"><span>    local timestamp_formatted<span style=\"color:#f92672\">=</span><span style=\"color:#e6db74\">&#34;</span>$year_formatted<span style=\"color:#e6db74\">-</span>$month<span style=\"color:#e6db74\">-</span>$day<span style=\"color:#e6db74\">&#34;</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#75715e\"># Set the time to midnight Central Time (CT)</span>\n</span></span><span style=\"display:flex;\"><span>    local timestamp_ct<span style=\"color:#f92672\">=</span><span style=\"color:#e6db74\">&#34;</span><span style=\"color:#e6db74\">${</span>timestamp_formatted<span style=\"color:#e6db74\">}</span><span style=\"color:#e6db74\">T12:00:00-06:00&#34;</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#75715e\"># Read file content and remove the first three paragraphs</span>\n</span></span><span style=\"display:flex;\"><span>    local content<span style=\"color:#f92672\">=</span><span style=\"color:#66d9ef\">$(</span>awk <span style=\"color:#e6db74\">&#39;BEGIN{RS=&#34;&#34;;ORS=&#34;\\n\\n&#34;} NR&gt;3&#39;</span> <span style=\"color:#e6db74\">&#34;</span>$file<span style=\"color:#e6db74\">&#34;</span><span style=\"color:#66d9ef\">)</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#75715e\"># Post to Micro.blog</span>\n</span></span><span style=\"display:flex;\"><span>    curl -X POST <span style=\"color:#e6db74\">&#34;</span>$API_ENDPOINT<span style=\"color:#e6db74\">&#34;</span> <span style=\"color:#ae81ff\">\\\n</span></span></span><span style=\"display:flex;\"><span>        -H <span style=\"color:#e6db74\">&#34;Authorization: Bearer </span>$MICRO_BLOG_TOKEN<span style=\"color:#e6db74\">&#34;</span> <span style=\"color:#ae81ff\">\\\n</span></span></span><span style=\"display:flex;\"><span>        -H <span style=\"color:#e6db74\">&#34;Content-Type: application/x-www-form-urlencoded&#34;</span> <span style=\"color:#ae81ff\">\\\n</span></span></span><span style=\"display:flex;\"><span>        -d <span style=\"color:#e6db74\">&#34;h=entry&#34;</span> <span style=\"color:#ae81ff\">\\\n</span></span></span><span style=\"display:flex;\"><span>        -d <span style=\"color:#e6db74\">&#34;name=</span>$title<span style=\"color:#e6db74\">&#34;</span> <span style=\"color:#ae81ff\">\\\n</span></span></span><span style=\"display:flex;\"><span>        -d <span style=\"color:#e6db74\">&#34;published=</span>$timestamp_ct<span style=\"color:#e6db74\">&#34;</span> <span style=\"color:#ae81ff\">\\\n</span></span></span><span style=\"display:flex;\"><span>        -d <span style=\"color:#e6db74\">&#34;category[]=Ramblings&#34;</span> <span style=\"color:#ae81ff\">\\\n</span></span></span><span style=\"display:flex;\"><span>        -d <span style=\"color:#e6db74\">&#34;content=</span>$content<span style=\"color:#e6db74\">&#34;</span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#f92672\">}</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\"># Iterate over markdown files in the directory</span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#66d9ef\">for</span> file in <span style=\"color:#e6db74\">&#34;</span>$MARKDOWN_DIR<span style=\"color:#e6db74\">&#34;</span>/*.md; <span style=\"color:#66d9ef\">do</span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">if</span> <span style=\"color:#f92672\">[[</span> -f <span style=\"color:#e6db74\">&#34;</span>$file<span style=\"color:#e6db74\">&#34;</span> <span style=\"color:#f92672\">]]</span>; <span style=\"color:#66d9ef\">then</span>\n</span></span><span style=\"display:flex;\"><span>    \techo <span style=\"color:#e6db74\">&#34;Processing </span>$file<span style=\"color:#e6db74\">...&#34;</span>\n</span></span><span style=\"display:flex;\"><span>        post_to_microblog <span style=\"color:#e6db74\">&#34;</span>$file<span style=\"color:#e6db74\">&#34;</span>\n</span></span><span style=\"display:flex;\"><span>        echo <span style=\"color:#e6db74\">&#34;\\n&#34;</span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">fi</span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#66d9ef\">done</span>\n</span></span></code></pre></div><p>I was impressed that ChatGPT had no issue knowing the signatures for the micro.blog API. It isn&rsquo;t a super common API but it didn’t miss a beat. The regular expression on the filename was the same approach I would have used. I always forget about <code>cut</code> but it was a smart use to pull apart the date. The part I would have struggled with was ignoring the first three paragraphs (not necessarily lines) in the file itself. These had the title, byline, and date. I just wanted to ignore it. I know a little <code>awk</code> but not enough to have it do that for me.</p>\n<p>I ran this and voila I had 240 blog posts from all those Markdown files. I was honestly surprised it didn’t take me longer. ChatGPT probably saved me a couple of hours of banging around at different approaches.</p>\n<p>There were a couple of bugs.</p>\n<ul>\n<li>Articles that contained an ampersand caused problems with <code>curl</code>. The content after the first ampersand was lost. There were only eight or so articles that had that (thanks <code>grep</code>) so I remedied that by hand.</li>\n<li>I didn’t like what Pandoc did with superscript. Because Josh had written these in Word every occurence of 7th or 20th had superscript. There were a number of ^ that needed to get erased. I used <a href=\"https://redsweater.com/marsedit/\">MarsEdit</a> to both find the posts that had that, and do a quick find and replace with nothing. I wish that was a batch operation in MarsEdit but you have to do it one-by-one, but it is fast.</li>\n<li>Pandoc also littered a bunch of backslash characters attempting to do some formatting. I had to fix those by hand too.</li>\n</ul>\n<p>It is entirely possible if I spent more time with the Pandoc testing I could have avoided the last two. Pandoc doesn&rsquo;t have command line flags for those but it does have multiple Markdown targets and some of them may have made more suitable Markdown for me. Either way it only took about 10 minutes to clean up thanks to MarsEdit.</p>\n<h3 id=\"wrapping-up\">Wrapping up</h3>\n<p>I was pretty happy that I go this all going and even completed in just a couple of hours. The rest of the archive will be less easy to get, but with this we got a great start!</p>\n",
        "date_published": "2024-06-30T21:29:44-05:00",
        "url": "https://www.thingelstad.com/2024/06/30/importing-word-documents.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/06/30/rambling-josh.html",
        "title": "Rambling Josh",
        "content_html": "<p>My cousin Josh Ellis has been writing a twice-monthly column in the <a href=\"https://online.burkecountytribune.com/\">Burke County Tribune</a> for nearly <strong>20 years</strong>. He has been writing old school, publishing in an actual printed newspaper all those years. He&rsquo;s written over 450 columns! Over the years I&rsquo;ve been able to read some of his writing but not much because of the limited distribution. I&rsquo;ve always wished I could read them all.</p>\n<p>I had recently been chatting with Josh. He shared a couple of columns he had written about Ireland and thought I may like them after our recent trip — <a href=\"https://www.ramblingjosh.com/2022/06/15/lucky-man.html?ref=thingelstad.com\">Lucky Man</a> and <a href=\"https://www.ramblingjosh.com/2023/12/06/friends-and-children.html?ref=thingelstad.com\">Friends and Children</a>. I thought they were great and told him that if he ever wanted to get a website running for his column on I would be happy to help.</p>\n<p>About a week later he pinged me asking how to start and shortly after <a href=\"https://www.ramblingjosh.com?ref=thingelstad.com\">Rambling Josh</a> was up and running! <sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1</a></sup></p>\n<p>He sent me 240 of his columns and I <a href=\"https://www.thingelstad.com/2024/06/30/importing-word-documents.html\">imported them into his site</a>. Plenty to read, but only about half of all of them. We are going to keep working to add more. I also made sure to get his first column <a href=\"https://www.ramblingjosh.com/2004/11/03/shadow-puppets.html?ref=thingelstad.com\">Shadow Puppets</a> up. I hope to be able to help him get them all online. Some of them will have to be <a href=\"https://en.wikipedia.org/wiki/Optical_character_recognition\">OCR</a> off of clippings he has saved.</p>\n<p>It was awesome to help Josh get this going. I can now get his new column in my feed reader. He also has a subscribe option so you can get it via email. Plus, his collection of columns will now be available for all. And even better, the open web gets a great site. I joke that when a blog is started an angel gets their wings. 🪽</p>\n<p>He is a really good writer. There is wit and personality in all of it. Check out <a href=\"https://www.ramblingjosh.com?ref=thingelstad.com\">Rambling Josh</a> and add to your reader. He may get an email subscription option going too.</p>\n<p>PS: The &ldquo;<a href=\"https://www.ramblingjosh.com/surprise-me/?ref=thingelstad.com\">Surprise Me</a>&rdquo; button is a good way to read random columns. Just keep clicking.</p>\n<p>Update: We&rsquo;ve added another 80 columns, for a total of 320 now!</p>\n<div class=\"footnotes\" role=\"doc-endnotes\">\n<hr>\n<ol>\n<li id=\"fn:1\">\n<p>Josh&rsquo;s column has always been titled &ldquo;Ramblings&rdquo;&#160;<a href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\">&#x21a9;&#xfe0e;</a></p>\n</li>\n</ol>\n</div>\n",
        "date_published": "2024-06-30T17:33:06-05:00",
        "url": "https://www.thingelstad.com/2024/06/30/rambling-josh.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/06/03/i-do-a.html",
        
        "content_html": "<p>I do a lot of writing on my blog and the <a href=\"https://weekly.thingelstad.com?ref=thingelstad.com\">Weekly Thing</a>. I hope that through writing regularly I can become a better writer. When we go on trips <a href=\"https://mazie.thingelstad.com?ref=thingelstad.com\">Mazie</a> often keeps a travel journal. The old way — on paper with a pencil. Sometimes I get to read her writing and it blows me away how well she writes. 👏</p>\n",
        "date_published": "2024-06-03T02:59:07-05:00",
        "url": "https://www.thingelstad.com/2024/06/03/i-do-a.html",
        "tags": ["Family","Travel","Blogging","Ireland 2024"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/06/02/today-marks-the.html",
        
        "content_html": "<p><strong>Today marks the 20th anniversary of thingelstad.com!</strong> Twenty years ago I posted about the <a href=\"https://www.thingelstad.com/2004/06/02/expose-of-the.html\">difficulty in redeeming a hot air balloon gift certificate</a>. Now <strong>8,676 posts</strong> later my blog is something I treasure and is growing and improving all the time, with many more years ahead!</p>\n",
        "date_published": "2024-06-02T15:22:25-05:00",
        "url": "https://www.thingelstad.com/2024/06/02/today-marks-the.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/05/28/im-giving-microblogs.html",
        
        "content_html": "<p>I&rsquo;m giving micro.blog&rsquo;s new audio narration feature a try. I used the new <a href=\"https://zoomcorp.com/en/us/handheld-recorders/handheld-recorders/h1essential/\">Zoom H1 Essential</a> to record and added narration to my <a href=\"https://www.thingelstad.com/2024/05/25/first-coffee-in.html\">First Coffee in 54 Days</a> post, and <a href=\"https://tiny.micro.blog\">Tiny Theme</a> added support just in time.</p>\n",
        "date_published": "2024-05-28T21:29:38-05:00",
        "url": "https://www.thingelstad.com/2024/05/28/im-giving-microblogs.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/05/21/awesome-to-see.html",
        
        "content_html": "<p>Awesome to see my <a href=\"https://collectors.poap.xyz/drop/173575\">Weekly Thing Seven Year Anniversary POAP</a> highlighted in the most recent <a href=\"https://www.poap.news/may-21-2024/\">Week in POAP</a> today. 🤩</p>\n",
        "date_published": "2024-05-21T18:26:59-05:00",
        "url": "https://www.thingelstad.com/2024/05/21/awesome-to-see.html",
        "tags": ["POAP","Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/05/19/two-decades-ago.html",
        
        "content_html": "<p>Two decades ago when I started publishing on the web I would have never guessed that linking to websites, with no URL redirection or tracking tags, would feel almost subversive now. I now find myself delighting in adding even more links to blog posts. Creating the web I want!</p>\n",
        "date_published": "2024-05-19T23:23:44-05:00",
        "url": "https://www.thingelstad.com/2024/05/19/two-decades-ago.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/05/18/microblog-just-added.html",
        
        "content_html": "<p>Micro.blog just added a new feature to <a href=\"https://news.micro.blog/2024/05/18/we-launched-two.html\">comment directly on a blog post</a> on a hosted blog, instead of having to do it in the timeline on micro.blog. This also allows you to authenticate a comment using Mastadon or Blue Sky, in addition to micro.blog itself. Easier commenting now available!</p>\n",
        "date_published": "2024-05-18T17:48:38-05:00",
        "url": "https://www.thingelstad.com/2024/05/18/microblog-just-added.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/05/16/poap-at-weekly-thing-seven.html",
        
        "content_html": "<p>POAP <a href=\"https://collectors.poap.xyz/token/7126846\">7126846</a> at <strong><a href=\"https://poap.gallery/drops/173575\">Weekly Thing Seven Year Anniversary</a></strong>.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/06ebafe8-050b-416e-8f96-c92d20305841.png\" alt=\"Painted portrait of a heavyset man writing with a feather quill at a desk cluttered with a globe, books, and a pipe, framed in gold\" width=\"500\" height=\"500\" />\n",
        "date_published": "2024-05-16T17:54:05-05:00",
        "url": "https://www.thingelstad.com/2024/05/16/poap-at-weekly-thing-seven.html",
        "tags": ["POAP","POAP Claims","Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/04/27/for-fun-i.html",
        
        "content_html": "<p>For fun I added my website to the <a href=\"https://xn--sr8hvo.ws\">IndieWeb Webring</a>. 🕸💍 I also added an <a href=\"https://microformats.org/wiki/h-card\">h-card microformat</a> tucked away in the footer of my site. I styled it not to display but the <a href=\"https://indiewebify.me/validate-h-card/?url=https://www.thingelstad.com/\">validator picks it up</a> fine.</p>\n",
        "date_published": "2024-04-27T11:18:40-05:00",
        "url": "https://www.thingelstad.com/2024/04/27/for-fun-i.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/04/21/blog-gardening-reflection.html",
        "title": "Blog Gardening Reflection",
        "content_html": "<p>Today was a particularly fun session of <a href=\"https://www.thingelstad.com/2023/09/04/blog-gardening.html\">blog gardening</a>:</p>\n<ul>\n<li>Realized that we walked the High Line in New York exactly 11 years apart and didn’t know it, <a href=\"https://www.thingelstad.com/2012/04/21/walking-high-line.html\">first in 2012</a> and <a href=\"https://www.thingelstad.com/2023/04/21/gorgeous-day-to.html\">then in 2013</a>.</li>\n<li>Shared 1-year anniversary of <a href=\"https://www.thingelstad.com/2023/04/21/ringing-the-closing.html\">a milestone</a> with SPS team.</li>\n<li>Reminded of the <a href=\"https://www.thingelstad.com/2018/04/21/cherry-blossoms-in.html\">Cherry Blossoms in Kyiv</a>.</li>\n<li>Linked all five High Line blog posts together.</li>\n<li>Fixed three photos that had been lost in past blog migrations.</li>\n<li>Used <a href=\"https://archive.org\">Internet Archive</a> to <a href=\"https://web.archive.org/web/20160406114603/https://www.mhta.org/event/spring/\">fill in missing information</a> from a <a href=\"https://www.thingelstad.com/2016/04/21/mhta-spring-event.html\">conference I attended in 2016</a>.</li>\n<li>Added a photo from Lightroom that had never been on my blog because it was hard to do that back then.</li>\n<li>Added over a dozen hyperlinks to various posts making them and the web better.</li>\n<li>Fixed a handful of typos.</li>\n</ul>\n",
        "date_published": "2024-04-21T08:05:42-05:00",
        "url": "https://www.thingelstad.com/2024/04/21/blog-gardening-reflection.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/04/02/i-just-completed.html",
        
        "content_html": "<p>I just completed all the blog posts for our <strong><a href=\"https://www.thingelstad.com/collections/milwaukee-spring-break/\">Milwaukee Spring Break</a> trip</strong>. This is the most complete job I&rsquo;ve done using daily logs (<a href=\"https://www.thingelstad.com/2024/03/23/milwaukee-spring-break.html\">1</a>, <a href=\"https://www.thingelstad.com/2024/03/24/milwaukee-spring-break.html\">2</a>, <a href=\"https://www.thingelstad.com/2024/03/25/milwaukee-spring-break.html\">3</a>, <a href=\"https://www.thingelstad.com/2024/03/26/milwaukee-spring-break.html\">4</a>, <a href=\"https://www.thingelstad.com/2024/03/27/milwaukee-spring-break.html\">5</a>), posts for most events, and a <a href=\"https://www.thingelstad.com/collections/milwaukee-spring-break/\">collection page</a> linking to all posts as well as an index of all restaurants and attractions we visited.</p>\n",
        "date_published": "2024-04-02T21:04:27-05:00",
        "url": "https://www.thingelstad.com/2024/04/02/i-just-completed.html",
        "tags": ["Travel","Blogging","Milwaukee Spring Break 2024"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/03/31/my-friend-bricker.html",
        
        "content_html": "<p>My friend <a href=\"https://micro.blog/Bricker\">@Bricker</a> is lighting up his blog timeline with a bunch of new and old blog posts. Worth adding to your feed reader or timeline of choice. 🔥</p>\n",
        "date_published": "2024-03-31T11:52:27-05:00",
        "url": "https://www.thingelstad.com/2024/03/31/my-friend-bricker.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/03/31/ive-been-a.html",
        
        "content_html": "<p>I&rsquo;ve been a fan of the IndieWeb community for years, but finally decided I should get a bit more active. I created <a href=\"https://indieweb.org/User:Www.thingelstad.com\">my profile on the IndieWeb wiki</a>, started <a href=\"https://opencollective.com/jthingelstad\">as a backer</a>, and signed up to host the next available <a href=\"https://indieweb.org/indieweb-carnival\">IndieWeb Blog Carnival</a> in April 2025.</p>\n",
        "date_published": "2024-03-31T09:03:21-05:00",
        "url": "https://www.thingelstad.com/2024/03/31/ive-been-a.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/03/10/microblog-uploads-wish.html",
        "title": "Micro.blog Uploads Wish List",
        "content_html": "<p>I’m a fan of <a href=\"https://micro.blog\">Micro.blog</a> for hosting my website. For me it is a great mix of ease-of-use and powerful capabilities. <a href=\"https://www.manton.org\">Manton</a> and team have done a great job enhancing and improving it over the years. However, <strong>Uploads</strong> is one part of the service that I stumble with and routinely wish it had additional capabilities.</p>\n<p>Here is my wish list for Uploads:</p>\n<ul>\n<li><strong>Search by Name</strong>: very simply I want to be able to search my uploaded files by name. The use case here is an upload that I found in a blog post and no longer am using. I want to search for it and delete it. Nothing fancy, just basic search by the filename.</li>\n<li><strong>Navigate by Folders</strong>: Micro.blog stores uploads in a folder structure using dates. I&rsquo;d like to be able to navigate via that structure instead of just seeing one massive tile group in chronological order.</li>\n<li><strong>Replace Upload</strong>: This would be a big one. Sometimes I want to tweak a photo and replace it. Or I find an old blog post with a small image and I&rsquo;d like to update it with a better picture. I&rsquo;d love to easily replace the image without changing the URL.</li>\n<li><strong>Orphaned Uploads</strong>: This is an intensive task on the server for sure, but for a variety of reasons related to how importing worked, I realized my blog has hundreds of uploads that are not used. I&rsquo;d love for Micro.blog to find these orphaned uploads and offer me the ability to delete them individual or in bulk.</li>\n</ul>\n<p>I can&rsquo;t decide if <strong>Duplicate Uploads</strong> would be a win too. It feels similar to Orphaned Uploads as a bulk task that would run weekly or monthly and prompt the user to do some cleaning up.</p>\n<p>These features aren&rsquo;t gaps for normal day-to-day posting. They mostly show up when I’m doing <a href=\"https://www.thingelstad.com/2023/09/04/blog-gardening.html\">blog gardening</a>. But having them would be a great add to Micro.blog.</p>\n",
        "date_published": "2024-03-10T13:29:37-05:00",
        "url": "https://www.thingelstad.com/2024/03/10/microblog-uploads-wish.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/02/29/reviewing-my-on.html",
        
        "content_html": "<p>Reviewing my <a href=\"https://www.thingelstad.com/on-this-day/\">On This Day</a> page today made me do a double take — so few posts. Then I remembered it is leap day, and February 29, 2024 is only the <strong>6th leap day</strong> since my blog was started. 😁</p>\n",
        "date_published": "2024-02-29T19:28:37-05:00",
        "url": "https://www.thingelstad.com/2024/02/29/reviewing-my-on.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/02/17/while-blog-gardening.html",
        
        "content_html": "<p>While <a href=\"https://www.thingelstad.com/2023/09/04/blog-gardening.html\">blog gardening</a> today I found random <code>&lt;0xa0&gt;</code> characters in over 100 blog posts. A quick search revealed it as the decimal for a non-breaking space. I used micro.blog replace function to replace with a space, except two that were in titles and manually replaced.</p>\n",
        "date_published": "2024-02-17T15:49:01-05:00",
        "url": "https://www.thingelstad.com/2024/02/17/while-blog-gardening.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/01/31/i-was-using.html",
        
        "content_html": "<p>I was using the <a href=\"https://archive.org\">Internet Archive</a> <a href=\"https://web.archive.org\">Wayback Machine</a> and stumbled on the Changes feature. It took a while for the <a href=\"https://web.archive.org/web/changes/thingelstad.com\">visualization to populate</a> but it is a cool way to see the rate of changes on your blog. I&rsquo;m a happy <a href=\"https://archive.org/donate\">supporter of Internet Archive</a>.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2024/cc2858ce72.png\" width=\"396\" height=\"600\" alt=\"Three heatmap calendars showing daily webpage change frequency for thingelstad.com across 2021, 2022, and 2023, colored light to dark green.\">\n",
        "date_published": "2024-01-31T21:00:00-05:00",
        "url": "https://www.thingelstad.com/2024/01/31/i-was-using.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/01/29/today-buttondown-released.html",
        
        "content_html": "<p>Today <a href=\"https://buttondown.email/changelog/2024-01-29\">Buttondown released a new comments feature</a>! I&rsquo;ve turned this on for the Weekly Thing — it is something I&rsquo;ve wanted to try for a while. You can leave comments on any <a href=\"https://weekly.thingelstad.com/archive/\">issue in the archive</a>.</p>\n",
        "date_published": "2024-01-29T22:04:19-05:00",
        "url": "https://www.thingelstad.com/2024/01/29/today-buttondown-released.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/01/27/ive-followed-cj.html",
        
        "content_html": "<p>I&rsquo;ve followed CJ Chilvers writing for years now. His newsletter is one that I learn from and find inspiration in. He just released <a href=\"https://www.cjchilvers.com/principles-for-newsletters/\">Principles for Newsletters</a> that brings his 37 years of newsletter experience together in 49 lessons. Just $5. Instant buy for me.</p>\n",
        "date_published": "2024-01-27T10:06:40-05:00",
        "url": "https://www.thingelstad.com/2024/01/27/ive-followed-cj.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2024/01/26/the-weekly-thing.html",
        
        "content_html": "<p>The <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> is back from winter break — <a href=\"https://weekly.thingelstad.com/archive/274/\">Weekly Thing 274 / Gibberish, Happyfeed, Airshow</a> is ready to go out tomorrow morning with a ton of great links and a first ever interview! 🥳</p>\n",
        "date_published": "2024-01-26T23:21:34-05:00",
        "url": "https://www.thingelstad.com/2024/01/26/the-weekly-thing.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/12/15/people-blogs-me.html",
        "title": "People \u0026 Blogs: Me!",
        "content_html": "<p>When I first heard of <a href=\"https://manuelmoreale.com\">Manuel Moreale</a>&rsquo;s <strong><a href=\"https://peopleandblogs.com\">People and Blogs</a></strong> project, I knew it was something I wanted to subscribe to and support. Keeping the web personal is vital to me. I love personal websites and blogs. A newsletter that shines a light on both sounded fabulous and would tell the stories of how we keep the web personal.</p>\n<p>I was even more excited when Manuel invited me to participate! Issue 16 was released today: <strong><a href=\"https://manuelmoreale.com/pb-jamie-thingelstad\">P&amp;B: Jamie Thingelstad</a></strong>! 🤩</p>\n<p>Here is a complete list of the previous people:</p>\n<ol>\n<li><a href=\"https://manuelmoreale.com/pb-manton-reece\">Manton Reece</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-rachel-j-kwon\">Rachel J. Kwon</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-kev-quirk\">Kev Quirk</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-brian-koberlein\">Brian Koberlein</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-toby-shorin\">Toby Shorin</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-andrea-contino\">Andrea Contino</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-ana-rodrigues\">Ana Rodrigues</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-jim-nielsen\">Jim Nielsen</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-ray-thomas\">Ray Thomas</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-jamie-crisman\">Jamie Crisman</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-piper-haywood\">Piper Haywood</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-chris-coyer\">Chris Coyier</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-robin-rendle\">Robin Rendle</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-nicolas-magand\">Nicolas Magand</a></li>\n<li><a href=\"https://manuelmoreale.com/pb-eli-mellen\">Eli Mellen</a></li>\n</ol>\n<p><a href=\"https://peopleandblogs.com\">Sign up</a> to get new issues or <a href=\"https://manuelmoreale.com/feed\">subscribe to the RSS feed</a>.</p>\n",
        "date_published": "2023-12-15T13:00:00-05:00",
        "url": "https://www.thingelstad.com/2023/12/15/people-blogs-me.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/11/02/im-giving-microblog.html",
        
        "content_html": "<p>I&rsquo;m giving micro.blog a post after moving from hugo 0.91 to 0.117. I&rsquo;m confident that Tiny Theme 1.8.9 works with this, and am only using four other plugins: Search page, Surprise me!, Reply by email, and Conversation on Micro.blog. The first from <a href=\"https://micro.blog/manton\">@manton</a> and the others from <a href=\"https://micro.blog/sod\">@sod</a>. 🤞</p>\n",
        "date_published": "2023-11-02T19:02:34-05:00",
        "url": "https://www.thingelstad.com/2023/11/02/im-giving-microblog.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/10/28/im-gobsmacked-by.html",
        
        "content_html": "<p>I&rsquo;m gobsmacked by the awesomeness of <a href=\"https://daverupert.com/rss-club/\">RSS Club</a>. I want to figure out something to publish RSS only now. And the logo is brilliant! I must make this a sticker!</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2023/841e66797a.png\" width=\"600\" height=\"335\" alt=\"Two cartoon fists with knuckle tattoos spelling RSS CLUB, styled like a classic fight club logo with bold black line art.\">\n",
        "date_published": "2023-10-28T17:16:19-05:00",
        "url": "https://www.thingelstad.com/2023/10/28/im-gobsmacked-by.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/10/07/how-i-find.html",
        "title": "How I Find Links for the Weekly Thing",
        "content_html": "<p>The most common question I’m asked about the Weekly Thing is how I find the links for each week&rsquo;s issue. I&rsquo;ve already shared <a href=\"https://www.thingelstad.com/2023/09/24/how-i-build.html\">how I build the Weekly Thing</a> and the <a href=\"https://www.thingelstad.com/2023/10/01/task-management-for.html\">task management for each issue</a>. Let&rsquo;s dive into this part as well!</p>\n<p>I find this the hardest question to answer because to me it is the same as asking &ldquo;How do you learn about new stuff?&rdquo; or &ldquo;How do you read the Internet?&rdquo; This isn&rsquo;t something that I do <em>for</em> the Weekly Thing but is instead something I&rsquo;ve always done. The Weekly Thing is a result of this activity. If you read my <a href=\"https://www.thingelstad.com/2017/06/16/introducing-the-weekly.html\">Weekly Thing introduction from 2017</a> you can see this. <a href=\"https://pinboard.in/u:jthingelstad\">My link archive on Pinboard</a> 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 <a href=\"https://en.wikipedia.org/wiki/Make_(magazine)\">defunct Make Magazine</a>. 🤓</p>\n<p>This article doesn&rsquo;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.</p>\n<p>Collecting and curating links that show up in the Weekly Thing isn&rsquo;t a technical process like building it and there is no task management. However, there is a process and there are three distinct &ldquo;actions&rdquo;. This does not have to be a linear process. I can skip all the steps and jump straight to curating an article.</p>\n<h3 id=\"collecting\">Collecting</h3>\n<p>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&rsquo;m an avid user of <strong>Safari Reading List</strong> 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 &ldquo;read it later&rdquo; 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.</p>\n<p>The biggest issue most people have with &ldquo;read it later&rdquo; 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&rsquo;t read it in that week I’m probably never going to read it and it gets deleted. These &ldquo;read it later&rdquo; queues can be infinitely long. For me, no link stays here for more than a week. Even if you aren&rsquo;t publishing your links, I&rsquo;d encourage the same process. An infinite &ldquo;read it later&rdquo; queue can be mentally exhausting.</p>\n<p>The most important way that I keep up-to-date and identify links to read is <strong><a href=\"https://feedbin.com\">Feedbin</a></strong>. Feedbin is a paid service that I use to subscribe to <a href=\"https://en.wikipedia.org/wiki/RSS\">RSS feeds</a> from various websites. I share my <a href=\"https://www.thingelstad.com/lists/feeds/\">list of RSS subscriptions</a> 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.</p>\n<p>Also, not all RSS feeds are a single website. Some aggregation services also create RSS feeds. One of my favorites like this is the <strong><a href=\"https://pinboard.in/popular/\">Pinboard Popular</a></strong> 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&rsquo;t follow <a href=\"https://news.ycombinator.com\">Hacker News</a> 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.</p>\n<p>Lastly, I also subscribe to many newsletters. I share my <a href=\"https://www.thingelstad.com/lists/newsletters/\">list of newsletters</a>, 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.</p>\n<h3 id=\"reading-and-filtering\">Reading and Filtering</h3>\n<p>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.</p>\n<p>There is nothing fancy here other than reading and learning. If the article isn&rsquo;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&rsquo;ll just leave it to revisit again.</p>\n<h3 id=\"curating\">Curating</h3>\n<p>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 &ldquo;description&rdquo; 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 <a href=\"https://daringfireball.net/projects/markdown/\">markdown</a> in that description so I can have links, some formatting, and excerpts.</p>\n<p>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&rsquo;d love to do more with this database and have some ideas on my &ldquo;Someday, Maybe&rdquo; list.</p>\n<p>Going back to <a href=\"https://www.thingelstad.com/2023/09/24/how-i-build.html\">how I build the Weekly Thing</a> 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 <code>_feature</code> tag, and if it goes in the Brief list on the bottom I add <code>_brief</code>. Why the underscore? I use to tag my links in Pinboard with topics so the underscore was used to indicate these are &ldquo;special&rdquo; tags.</p>\n<h3 id=\"summary\">Summary</h3>\n<p>That should give you a feel for how I find links to include, and overall covers how I &ldquo;read the Internet&rdquo;. I&rsquo;ve done something very similar to this for nearly two decades now.</p>\n<p>You may be curious to see social media not referenced. I don&rsquo;t get links from social media platforms because I don&rsquo;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.</p>\n<p>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 &ldquo;just in time&rdquo;. 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! 🧠</p>\n",
        "date_published": "2023-10-07T07:58:49-05:00",
        "url": "https://www.thingelstad.com/2023/10/07/how-i-find.html",
        "tags": ["Weekly Thing","Blogging","Books"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/10/01/task-management-for.html",
        "title": "Task Management for the Weekly Thing",
        "content_html": "<p>I’m often asked about how I create the <a href=\"https://weekly.thingelstad.com/\">Weekly Thing</a> and how I&rsquo;ve been doing it for over <strong>six years</strong>. People are usually curious about how I find things to write about or <a href=\"https://www.thingelstad.com/2023/09/24/how-i-build.html\">how I build the Weekly Thing</a>. 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!</p>\n<p>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 <a href=\"https://gettingthingsdone.com\">Getting Things Done</a> practitioner, and my tool of choice for as long as I can remember has been <a href=\"https://www.omnigroup.com/omnifocus/\">OmniFocus</a>. Everything here is in OmniFocus or supporting automation.</p>\n<p>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.</p>\n<h3 id=\"project\">Project</h3>\n<p>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&rsquo;ve expanded select tasks so that you can see the helper links and text that make things a bit faster for me.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2023/weekly-thing-project-template-expanded.png\" width=\"600\" height=\"539\" alt=\"OmniFocus task list for Send Weekly Thing 264 showing 22 items across four task groups: Create content, Curate links, Build, and Finalize, with due dates around October 5-7 2023.\">\n<p>There are four major steps to publishing each issue:</p>\n<ol>\n<li><strong>Creating Content</strong>: Most notable activities here include writing the introduction, adding any &ldquo;Currently&rdquo; 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 <a href=\"https://getdrafts.com\">Drafts</a>.</li>\n<li><strong>Curating Links</strong>: I try to curate links and various points through the week, but I have two &ldquo;deadlines&rdquo; for the publishing cycle. Links are curated in <a href=\"https://pinboard.in/\">Pinboard</a>.</li>\n<li><strong>Building and Sending</strong>: Content and Links are done, time to build and send. I&rsquo;ve automated this to be pretty simple. See <a href=\"https://www.thingelstad.com/2023/09/24/how-i-build.html\">how I build the Weekly Thing</a> for more.</li>\n<li><strong>Finalizing</strong>: 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.</li>\n</ol>\n<p>All of these steps are sequential. And the tasks in them are sequential, except for Creating Content which can be done in any order.</p>\n<h3 id=\"repetition\">Repetition</h3>\n<p>This project is <strong>not</strong> a repeating project. That is the reason for the last step in the project, to create the next project. Why not repeating?</p>\n<ol>\n<li><strong>Changes</strong>: 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.</li>\n<li><strong>Schedule</strong>: I may move the due dates for one step or another and I love knowing that will not persist to the next iteration.</li>\n</ol>\n<p>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 <a href=\"https://www.taskpaper.com\">TaskPaper</a> and <a href=\"https://www.thingelstad.com/2017/05/19/using-project-templates.html\">project templates</a> come to the rescue.</p>\n<p>TaskPaper allows me to have a template for sending the Weekly Thing that I can &ldquo;run&rdquo; via a Shortcut. You can see the <a href=\"http://files.thingelstad.com/posts/2023/send-weekly-thing.taskpaper\">Send Weekly Thing Taskpaper Template</a> for all the details. Take note of two special &ldquo;tokens&rdquo; in the template: «Issue» and «Date». These are not part of TaskPaper, but instead two &ldquo;variables&rdquo; I handle.</p>\n<p>Before I hand OmniFocus the TaskPaper to create the project, I’m going to process those two tokens using a Shortcut. My <a href=\"http://files.thingelstad.com/posts/2023/Send%20Weekly%20Thing.shortcut\">Send Weekly Thing shortcut</a> will get the &ldquo;Publish Date&rdquo; and &ldquo;Issue Number&rdquo; from <a href=\"https://datajar.app\">Data Jar</a>. It will set those &ldquo;variables&rdquo; in the TaskPaper and the rest of the data offsets are <a href=\"https://support.omnigroup.com/omnifocus-taskpaper-reference/\">magically handled by OmniFocus</a>. Most critical thing here is making sure I format the «Date» as <code>yyyy-MM-dd hh:mm aa</code> so that OmniFocus understands it.</p>\n<p>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.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2023/shortcut-send-weekly-thing.png\" width=\"600\" height=\"594\" alt=\"Apple Shortcuts automation named Send Weekly Thing showing steps to get issue values, replace text, add to OmniFocus, and schedule calendar blocks.\">\n<h3 id=\"summary\">Summary</h3>\n<p>Creating the Weekly Thing isn&rsquo;t a single &ldquo;Send Weekly Thing&rdquo; task on my list. Instead I&rsquo;ve focused on &ldquo;next action thinking&rdquo; to try and make each component a simple task. Overall this works really well for me. It doesn&rsquo;t solve writers block, but frees me up to focus on the creative aspects instead of the tasks.</p>\n<p>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.</p>\n",
        "date_published": "2023-10-01T10:18:19-05:00",
        "url": "https://www.thingelstad.com/2023/10/01/task-management-for.html",
        "tags": ["Weekly Thing","Productivity","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/09/26/poap-at-weekly-thing-forum.html",
        
        "content_html": "<p>POAP <a href=\"https://collectors.poap.xyz/token/6801491\">6801491</a> at <strong><a href=\"https://poap.gallery/drops/150735\">Weekly Thing Forum Launch</a></strong>.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2025/c478da71-c059-4901-9c5d-2b0a4500859d.png\" alt=\"Round blue badge with Weekly Thing Forum at top and September 2023 at bottom, featuring a cream outlined triangle on a blue square\" width=\"500\" height=\"500\" />\n",
        "date_published": "2023-09-26T20:59:50-05:00",
        "url": "https://www.thingelstad.com/2023/09/26/poap-at-weekly-thing-forum.html",
        "tags": ["POAP","POAP Claims","Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/09/24/how-i-build.html",
        "title": "How I Build the Weekly Thing",
        "content_html": "<p>One of the common questions I’m asked is how I create the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>. 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.</p>\n<p>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.</p>\n<ol>\n<li>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.</li>\n<li>Allow some sections to be authored ahead of time, so I can create in small chunks of time.</li>\n</ol>\n<p>The revamp had some additional goals, or things to fix that I badly needed to address.</p>\n<ol>\n<li>It should run on any platform. Some of my steps required software that only worked on iOS so I oddly couldn&rsquo;t run my automation on my Mac.</li>\n<li>No Python scripts, all native Shortcuts. I had some steps that involved Python and that was harder to maintain and change.</li>\n<li>Durability, better error handling, and logging. When my automation didn’t work it was hard to know why. Not good when your on deadline!</li>\n<li>Automation for all sections. For 6 years the photo section has never been supported with automation.</li>\n</ol>\n<p>I’m happy to report that my new automation does all of the above, and even pulls in an additional big feature of <a href=\"https://www.thingelstad.com/2023/09/23/smaller-images-for.html\">reducing image sizes</a>.</p>\n<h3 id=\"overall-solution\">Overall Solution</h3>\n<p>Let&rsquo;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&rsquo;t 100% of everything, but covers the important parts.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2023/weekly-thing-automation-2023.png\" width=\"600\" height=\"804\" alt=\"Flowchart showing green process boxes labeled Build, Section 1 through N, Issue, Build Subject, and Blog and Pinboard feeding data via markdown, RSS, and API calls into gray storage boxes labeled\">\n<p>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.</p>\n<p>This approach is fundamentally the same as I <a href=\"https://www.thingelstad.com/2017/06/23/assembling-the-weekly.html\">have used since 2017</a>. The biggest change since then is I call many more Shortcuts, and back then I pulled HTML since MailChimp required that.</p>\n<p>The huge change that I&rsquo;ve been making is that each section Shortcut is much more durable, and uses Data Jar to cache and manage data.</p>\n<h3 id=\"software-manifest\">Software Manifest</h3>\n<p>Core technologies that are used for this include.</p>\n<ul>\n<li><a href=\"https://support.apple.com/guide/shortcuts/welcome/ios\">Shortcuts</a>: This is the heart of the solution and where everything starts.</li>\n<li><a href=\"https://getdrafts.com\">Drafts</a>: 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.</li>\n<li><a href=\"https://datajar.app\">Data Jar</a>: This is like a simple database that allows me to cache and store content for each Shortcut.</li>\n<li><a href=\"https://s3files.app\">S3 App</a>: 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.</li>\n<li><a href=\"https://www.pinboard.in/api/\">Pinboard API</a>: 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 &ldquo;_featured&rdquo; or &ldquo;_briefly&rdquo; 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.</li>\n<li><a href=\"https://www.thingelstad.com/feed.xml\">thingelstad.com RSS Feed</a>: 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.</li>\n</ul>\n<p>Shortcuts is where the majority of the work for this occurs and here is my current set.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2023/screenshot-2023-09-23-at-5.07.32-pm.png\" width=\"600\" height=\"345\" alt=\"Apple Shortcuts app on macOS showing 28 yellow shortcuts in the Weekly Thing folder, including Build Issue, Set Issue, Send To Buttondown, and various Section shortcuts.\">\n<p>The &ldquo;Build Issue&rdquo; Shortcut is the one that collects markdown from all the sections and assembles it. You will see a lot of &ldquo;Section:Name&rdquo; shortcuts, those are the ones that are responsible for returning a section. Mostly the names make sense for a number of other utility shortcuts.</p>\n<h3 id=\"data-jar\">Data Jar</h3>\n<p>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.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2023/screenshot-2023-09-23-at-5.07.54-pm.png\" width=\"600\" height=\"283\" alt=\"Craft app record view showing 12 fields for Weekly Thing issue 262, including Pub Date, Content Date, Photo, Byline, Draft, Subject, and Journal entries.\">\n<p>As much as possible the section Shortcuts use Data Jar to store anything they need. I&rsquo;ll use a simple example with Section:Fortune. Each issue of the Weekly Thing has a Fortune that I set. The basic flow is:</p>\n<ol>\n<li>See if &ldquo;Weekly Thing.«Current Issue».Fortune&rdquo; exists in Data Jar, if it does return markdown and you are done.</li>\n<li>If &ldquo;Weekly Thing.«Current Issue».Fortune&rdquo; does not exist present random Fortunes to user until one is selected.</li>\n<li>Once Fortune is selected, store it at &ldquo;Weekly Thing.«Current Issue».Fortune&rdquo; and return markdown.</li>\n</ol>\n<p>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.</p>\n<h3 id=\"summary\">Summary</h3>\n<p>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.</p>\n<p>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.</p>\n<p><em>See <a href=\"https://ponder.us/group/weeklything/discussions/271\">discussion on Weekly Thing Forum</a>.</em></p>\n<p><em>This post is part of the <a href=\"https://www.thingelstad.com/collections/shortcuts/\">Shortcuts Collection</a>.</em></p>\n",
        "date_published": "2023-09-24T09:03:02-05:00",
        "url": "https://www.thingelstad.com/2023/09/24/how-i-build.html",
        "tags": ["Weekly Thing","Productivity","Blogging","Shortcuts"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/09/23/smaller-images-for.html",
        "title": "Smaller Images for Weekly Thing",
        "content_html": "<p>In the Journal section of the Weekly Thing I include any blog posts that I&rsquo;ve made for that week. To keep things easy, I&rsquo;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.</p>\n<p>I decided to try and solve this problem in Shortcuts and the amazing <a href=\"https://s3files.app\">S3 Files</a>. The basic approach I take to getting blog posts into the Weekly Thing is:</p>\n<ol>\n<li>Retrieve the RSS feed for <a href=\"https://www.thingelstad.com\">www.thingelstad.com</a></li>\n<li>Find items in feed that are within the time period of this issue</li>\n<li>Convert each post to markdown and do some post processing to make it work in the newsletter better</li>\n</ol>\n<p>To do this I would add another step after 3 to detect my own images in the posts, and do the following:</p>\n<ol>\n<li>Detect any URL&rsquo;s that are uploads into my blog, and make sure to not grab any others.</li>\n<li>Retrieve the image file at that URL</li>\n<li>Resize it to 1,200 pixels on the &ldquo;long edge&rdquo;</li>\n<li>Add to S3 bucket for files.thingelstad.com in the right directory for this issue</li>\n<li>Replace the original image URL with the new URL</li>\n</ol>\n<p>It wasn&rsquo;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.</p>\n<p>Here is a snippet from my logs.</p>\n<ul>\n<li>Add <a href=\"https://www.thingelstad.com/2023/09/20/teamsps-kubb-tournament.html\">www.thingelstad.com/2023/09/2&hellip;</a> from Sep 20, 2023 at 9:30 PM. (Count 1)\n<ul>\n<li>Detected <a href=\"%5Bwww.thingelstad.com/uploads/2...%5D(https://www.thingelstad.com/uploads/2023/img-7928.jpeg).\">www.thingelstad.com/uploads/2&hellip;</a>\n<ul>\n<li>Resized img-7928.jpeg (1.9 MB to 518 KB)</li>\n<li>Replacing <a href=\"https://www.thingelstad.com/uploads/2023/img-7928.jpeg\">www.thingelstad.com/uploads/2&hellip;</a> with <a href=\"https://files.thingelstad.com/weekly-thing/262/journal/img-7928.jpeg.\">files.thingelstad.com/weekly-th&hellip;</a></li>\n</ul>\n</li>\n<li>Detected <a href=\"%5Bwww.thingelstad.com/uploads/2...%5D(https://www.thingelstad.com/uploads/2023/6334e1ac32.jpg).\">www.thingelstad.com/uploads/2&hellip;</a>\n<ul>\n<li>Resized 6334e1ac32.jpg (2.3 MB to 597 KB)</li>\n<li>Replacing <a href=\"https://www.thingelstad.com/uploads/2023/6334e1ac32.jpg\">www.thingelstad.com/uploads/2&hellip;</a> with <a href=\"https://files.thingelstad.com/weekly-thing/262/journal/6334e1ac32.jpg.\">files.thingelstad.com/weekly-th&hellip;</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li>Add <a href=\"https://www.thingelstad.com/2023/09/20/i-love-that.html\">www.thingelstad.com/2023/09/2&hellip;</a> from Sep 20, 2023 at 8:09 PM. (Count 2)\n<ul>\n<li>Detected <a href=\"%5Bwww.thingelstad.com/uploads/2...%5D(https://www.thingelstad.com/uploads/2023/198c1c9be7.jpg).\">www.thingelstad.com/uploads/2&hellip;</a>\n<ul>\n<li>Resized 198c1c9be7.jpg (227 KB to 219 KB)</li>\n<li>Replacing <a href=\"https://www.thingelstad.com/uploads/2023/198c1c9be7.jpg\">www.thingelstad.com/uploads/2&hellip;</a> with <a href=\"https://files.thingelstad.com/weekly-thing/262/journal/198c1c9be7.jpg.\">files.thingelstad.com/weekly-th&hellip;</a></li>\n</ul>\n</li>\n<li>Detected <a href=\"%5Bwww.thingelstad.com/uploads/2...%5D(https://www.thingelstad.com/uploads/2023/0b1754ade2.jpg).\">www.thingelstad.com/uploads/2&hellip;</a>\n<ul>\n<li>Resized 0b1754ade2.jpg (297 KB to 276 KB)</li>\n<li>Replacing <a href=\"https://www.thingelstad.com/uploads/2023/0b1754ade2.jpg\">www.thingelstad.com/uploads/2&hellip;</a> with <a href=\"https://files.thingelstad.com/weekly-thing/262/journal/0b1754ade2.jpg.\">files.thingelstad.com/weekly-th&hellip;</a></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<p>When I ran this to the Journal images in <a href=\"https://weekly.thingelstad.com/archive/262/\">Weekly Thing 262</a> it was able to resize <strong>28 images</strong> from an original size of 43 MB to 12 MB, <strong>saving 31 MB</strong> of download data!</p>\n<p>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.</p>\n<p>This was only possible with the revamp I&rsquo;ve been doing to my automation, and the ability to add this step in was a great result of those changes.</p>\n<p><em>This post is part of the <a href=\"https://www.thingelstad.com/collections/shortcuts/\">Shortcuts Collection</a>.</em></p>\n",
        "date_published": "2023-09-23T17:35:01-05:00",
        "url": "https://www.thingelstad.com/2023/09/23/smaller-images-for.html",
        "tags": ["Kubb","Weekly Thing","Productivity","Blogging","Shortcuts"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/09/22/introducing-weekly-thing.html",
        "title": "Introducing Weekly Thing Forum",
        "content_html": "<p>I&rsquo;ve been sending the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> 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&rsquo;ll get multiple replies on the same thing and think it would be interesting to extend this conversation. I&rsquo;m putting the Weekly Thing Forum out there for just that reason, to create a broader dialog and to continue to learn together.</p>\n<p>Plus I hope it is just fun, in an old-school Internet sort of way.</p>\n<p>Before the Forum I have tried some very limited experiments to create some further dialog. I tried chat platforms like <a href=\"https://telegram.org\">Telegram</a>, <a href=\"https://signal.org\">Signal</a>, <a href=\"https://simplex.chat\">SimpleX</a>, and <a href=\"https://wavelength.app\">Wavelength Messenger</a>. 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&rsquo;t suit themselves to well thought out dialogue.</p>\n<p>I played around with <a href=\"https://www.reddit.com\">Reddit</a> and <a href=\"https://discord.com\">Discord</a> as well. Discord is way too much of a commitment. Reddit is crazy land. So neither of those were good fits either.</p>\n<p>Then I got an email from a Weekly Thing reader, <a href=\"https://bjhess.com\">Barry Hess</a>. Barry is one of the principles behind <a href=\"https://goodenough.us\">Good Enough</a> 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. 🤔</p>\n<p>The fun thing is that my friend <a href=\"https://garrickvanburen.com\">Garrick Van Buren</a> 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.</p>\n<p>Over the summer I mulled this over and decided to give it a go!</p>\n<p><strong>So here we are, the Weekly Thing Forum!</strong></p>\n<p>I don&rsquo;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 &ldquo;Ask Me Anything&rdquo; kind of things. It would be super to bring in additional perspectives. Overall, I’m hoping to increase connection and shared learning.</p>\n<p>Thanks for checking it out! Thanks for reading the Weekly Thing! And thanks for being great!</p>\n<p><strong>Join the <a href=\"http://ponder.weeklything.com\">Weekly Thing Forum</a>!</strong></p>\n<p>This messages is also <a href=\"https://ponder.us/group/weeklything/discussions/265\">posted in the forum</a>.</p>\n",
        "date_published": "2023-09-22T18:08:08-05:00",
        "url": "https://www.thingelstad.com/2023/09/22/introducing-weekly-thing.html",
        "tags": ["Weekly Thing","Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/09/20/i-love-that.html",
        
        "content_html": "<p>I love that the gang at <a href=\"https://goodenough.us/\">Good Enough</a> is playing with some things that remind me of the early days of the web. They have a <a href=\"https://goodenough.us/printer/\">thermal printer you can print to from a web page</a>. So, I had to try it out. <a href=\"https://micro.bjhess.com/2023/09/19/some-good-stuff.html\">Barry posted my drawings</a> and I grabbed copies for archival on my site too. 🤩</p>\n<p>Now, what to print next!?</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2023/198c1c9be7.jpg\" width=\"505\" height=\"600\" alt=\"Thermal printer receipt showing hand-drawn bubble letters reading Good Stuff Good Enough, sent from jamie at 9/18/2023 8:07 PM\">\n<img src=\"https://cdn.uploads.micro.blog/890/2023/0b1754ade2.jpg\" width=\"505\" height=\"600\" alt=\"Thermal printer receipt showing hand-drawn bubble letter art reading Weekly Thing on Ponder, sent from jamie@ on 9/18/2023\">\n<img src=\"https://cdn.uploads.micro.blog/890/2023/571619eb79.jpg\" width=\"505\" height=\"600\" alt=\"Thermal printer receipt showing 27 tally mark groups totaling 127, sent from jamie@ on 9/18/2023 at 8:16:33 PM\">\n<img src=\"https://cdn.uploads.micro.blog/890/2023/0a8b2f7665.jpg\" width=\"505\" height=\"600\" alt=\"Thermal printer receipt showing a handwritten note repeating all work and no play makes signed Jack, dated 9/18/2023\">\n",
        "date_published": "2023-09-20T20:09:35-05:00",
        "url": "https://www.thingelstad.com/2023/09/20/i-love-that.html",
        "tags": ["Blogging","Arts"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/09/16/weekly-thing-is.html",
        
        "content_html": "<p><a href=\"https://weekly.thingelstad.com/\">Weekly Thing</a> is back from summer break. I sent <a href=\"https://weekly.thingelstad.com/archive/261/\">issue 261</a> this morning!</p>\n",
        "date_published": "2023-09-16T12:59:04-05:00",
        "url": "https://www.thingelstad.com/2023/09/16/weekly-thing-is.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/09/04/blog-gardening.html",
        "title": "Blog Gardening",
        "content_html": "<p>I have been blogging for nearly 20 years and have created thousands of blog posts in that time. I&rsquo;ve hosted my blog on several platforms over the year, and my writing style has evolved over those decades. I have every intention of continuing to blog for the rest of my life. And in fact, will hope to have my blog last well beyond that.</p>\n<p>As a long-term blogger though I&rsquo;ve noticed that tending and curating my archive is both difficult due to the size, but also entirely satisfying and rewarding to do. I&rsquo;ve come to think of this like digital gardening. You tend to the plants, pull the weeds, clean up things.</p>\n<p>Once you&rsquo;ve gotten past the hurdle of regularly posting on your site, I highly recommending taking 5-10 minutes each day to do some small thing to curate and improve your blog.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2023/screenshot-2023-09-04-at-10.02.22-am.png\" alt=\"Task item in OmniFocus titled Curate On This Day posts under Personal Routines project tagged Routines with a linked URL below it\">  \n_My gardening routine in OmniFocus._\n<p>Here is how I do it.</p>\n<p>I visit my <a href=\"https://www.thingelstad.com/on-this-day/\">On This Day</a> page every day. This is perfect for me as it divides the thousands of posts into 365 slices so I’m typically only gardening around ten to twenty posts. My gardening typically involves:</p>\n<ul>\n<li>Fixing a typo in a post.</li>\n<li>Cleaning up a hyperlink that is worded poorly or with a broken link.</li>\n<li>I shouldn&rsquo;t have broken images, but sometimes it happens and I fix those.</li>\n<li>Sometimes a post lacks the context to understand it now, so I might add that.</li>\n<li>There may be two short posts that would be better merged into one.</li>\n<li>Adding a post to a <a href=\"https://www.thingelstad.com/collections/\">Collection</a> or a <a href=\"https://www.thingelstad.com/lists/\">List</a>, as well as adding a link to those in the post itself.</li>\n<li>Adding links to other posts, particularly links to older posts to new ones that were written after the old one was published.</li>\n</ul>\n<p>It makes me happy to make these small fixes. I bet it is like a gardener that pulls some weeds in their garden. My website will be some part of my legacy, and this small daily task makes that legacy a little bit better all the time.</p>\n",
        "date_published": "2023-09-04T08:41:50-05:00",
        "url": "https://www.thingelstad.com/2023/09/04/blog-gardening.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/09/03/funny-ux-thing.html",
        
        "content_html": "<p>Funny UX thing I&rsquo;ve noticed with <a href=\"https://micro.blog\">micro.blog</a>.</p>\n<p>I use the &ldquo;Reply&rdquo; feature way more on the web than the macOS app.</p>\n<p>I suspect it is the difference between the &ldquo;inline&rdquo; interaction on the web opposed to a new window which macOS uses. I much prefer the web interaction. FYI <a href=\"https://micro.blog/manton\">@manton</a>.</p>\n",
        "date_published": "2023-09-03T18:48:53-05:00",
        "url": "https://www.thingelstad.com/2023/09/03/funny-ux-thing.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/08/12/i-was-curating.html",
        
        "content_html": "<p>I was curating my <a href=\"https://www.thingelstad.com/on-this-day/\">On This Day</a> section this morning and found <a href=\"https://www.thingelstad.com/2008/08/12/grooving-on-brightkite.html\">this 15 year old reference</a> to <a href=\"https://micro.blog/bjhess\">@bjhess</a>! One of my favorite things about blogging is the long history that you can create. Thanks for the Brightkite invite <a href=\"https://bjhess.com\">Barry</a>! 🤣</p>\n",
        "date_published": "2023-08-12T09:27:22-05:00",
        "url": "https://www.thingelstad.com/2023/08/12/i-was-curating.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/08/12/capturing-the-microblog.html",
        
        "content_html": "<p>Capturing the Micro.blog plugins I&rsquo;m using now:</p>\n<ul>\n<li>Tiny Theme by <a href=\"https://micro.blog/Mtt\">@Mtt</a></li>\n<li>Tiny Theme add-on: Add Tinylytics by <a href=\"https://micro.blog/Mtt\">@Mtt</a></li>\n<li>Meta tags by <a href=\"https://micro.blog/manton\">@manton</a></li>\n<li>Search page by <a href=\"https://micro.blog/manton\">@manton</a></li>\n<li>All photos by <a href=\"https://micro.blog/manton\">@manton</a></li>\n<li>Open Graph Cards by <a href=\"https://unsupervised.ca/\">@thatguygriff</a></li>\n<li>Reply by email by <a href=\"https://micro.blog/sod\">@sod</a></li>\n<li>Conversation on Micro.blog by <a href=\"https://micro.blog/sod\">@sod</a></li>\n<li>Surprise me! by <a href=\"https://micro.blog/sod\">@sod</a></li>\n</ul>\n",
        "date_published": "2023-08-12T09:20:07-05:00",
        "url": "https://www.thingelstad.com/2023/08/12/capturing-the-microblog.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/08/09/my-daughter-mazie.html",
        
        "content_html": "<p>Mazie posted her first blog post about <a href=\"https://mazie.thingelstad.com/2023/08/09/life-in-soglio.html?ref=thingelstad.com\">her photo walk in Soglio, Switzerland</a>. She has her own micro.blog site for easy publishing. 🎉</p>\n<p>She is a fabulous writer so I’m hoping she will share her talents with the world.</p>\n",
        "date_published": "2023-08-09T22:29:56-05:00",
        "url": "https://www.thingelstad.com/2023/08/09/my-daughter-mazie.html",
        "tags": ["Family","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/07/17/my-son-tyler.html",
        
        "content_html": "<p>My son <strong>Tyler</strong> has debated blogging for a long time, and today he asked me to set him up. He just wrote <a href=\"https://tyler.thingelstad.com/2023/07/17/about-me.html?ref=thingelstad.com\">his first post</a>. Proud papa!</p>\n",
        "date_published": "2023-07-17T10:07:19-05:00",
        "url": "https://www.thingelstad.com/2023/07/17/my-son-tyler.html",
        "tags": ["Family","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/07/15/tammy-published-her.html",
        
        "content_html": "<p>Tammy published <a href=\"https://tammy.thingelstad.com/2023/07/15/difference-in-air.html?ref=thingelstad.com\">her first blog post</a> in over 11 years! 🤩</p>\n",
        "date_published": "2023-07-15T09:58:22-05:00",
        "url": "https://www.thingelstad.com/2023/07/15/tammy-published-her.html",
        "tags": ["Family","Travel","Blogging","Switzerland \u0026 Italy 2023"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/07/08/i-love-that.html",
        
        "content_html": "<p>I love that my cousin Quinn has a blog, a micro.blog no less, and I can now see <a href=\"https://quinnchrest.com/2023/07/08/military-training.html?ref=thingelstad.com\">great stories</a> from him online. 👏</p>\n",
        "date_published": "2023-07-08T12:16:04-05:00",
        "url": "https://www.thingelstad.com/2023/07/08/i-love-that.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/07/08/preserving-your-writing.html",
        "title": "Preserving your Writing on the Web Forever",
        "content_html": "<p>I suggested to some friends that I wanted to do everything I could to keep my websites and online writing around well after I’ve died. One of them asked how I was approaching this, and what I was doing today to make this happen.</p>\n<p>What am I doing to make it so my content online lives for as long as possible? It may be easiest to start with what I’m <strong>not</strong> doing.</p>\n<ol>\n<li>I am not writing and publishing into a corporate database that I cannot own my words. <a href=\"https://www.thingelstad.com/2022/12/17/not-your-domain.html\">Not your domain, not your words</a>.</li>\n<li>I am <a href=\"https://www.thingelstad.com/2023/02/05/not-writing-for.html\">not writing for a timeline</a>. Mostly in this context this means my writing should stand on its own. I try to avoid implying current context that a future reader will not know.</li>\n<li>I am not using a database or other software at runtime to display my writing. My writing is rendered from markdown to HTML and then published. The markdown is plenty readable on its own if need be.</li>\n</ol>\n<p>Now what I <strong>am</strong> doing.</p>\n<ol>\n<li>I’m publishing with micro.blog because it meets all of my criteria, and then some. It even goes beyond. For example, when I link to an external site, micro.blog grabs an archive of that link so in the future I could reference that archive instead of the live site.</li>\n<li>I publish the Weekly Thing with Buttondown which uses easy Markdown to publish.</li>\n<li>I export my entire blog archive from micro.blog every 3 months to my local storage.</li>\n<li>I export my Buttondown archive of the Weekly Thing every 3 months to my local storage.</li>\n<li>I download my entire Pinboard archive every month. This is the source markdown that is also included in Buttondown, but this is indexed by link.</li>\n</ol>\n<p>Problems to solve still.</p>\n<ol>\n<li>All of my content can be served with any static HTTP endpoint. This could be done easily with AWS S3. However, paying for an AWS account after your death is not obvious. Possibly you can prepay for decades, but then you rely on a company. A small trust could be created that has funds to renew domain names and pay the content hosting fees for decades. That trust could be funded by future generations if they continue to see interest.</li>\n<li>The solution I like the most is distributed storage with IPFS paid for via Smart Contract. I can fund a Smart Contract that can hold my ENS asset, and pay the IPFS hosting fees to maintain the data for as long as there are funds. This avoids a legal trust, and can easily receive funds via anyone on the web. You could have a simple way to keep your own archive alive.</li>\n<li>Adding this content to Internet Archive is good, but I don&rsquo;t want to only rely on that.</li>\n<li>I consider the idea of printing all of this onto paper, or eBook, and distributing it broadly. I think that is a good backup method as well.</li>\n</ol>\n<p>In short.</p>\n<ol>\n<li>Control all aspects of what you create.</li>\n<li>Keep is simple, no runtime requirements.</li>\n<li>Durable hosting and figure out economonics.</li>\n</ol>\n",
        "date_published": "2023-07-08T08:56:30-05:00",
        "url": "https://www.thingelstad.com/2023/07/08/preserving-your-writing.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/07/02/thanks-to-very.html",
        
        "content_html": "<p>Thanks to <a href=\"https://micro.blog/Mtt/20110964\">very detailed directions</a> from <a href=\"https://mattlangford.com\">Matt Langford</a> (@mtt) I was able to add <a href=\"https://github.com/nostr-protocol/nips/blob/master/05.md\">NIP-05 Verification</a> to my micro.blog hosted site with a custom plugin to create the <a href=\"https://www.thingelstad.com/.well-known/nostr.json\">nostr.json</a> link.</p>\n",
        "date_published": "2023-07-02T08:54:41-05:00",
        "url": "https://www.thingelstad.com/2023/07/02/thanks-to-very.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/07/02/microblog-ecosystem-support.html",
        "title": "Micro.blog Ecosystem Support via a Community Fund?",
        "content_html": "<p>I&rsquo;ve been having more fun on micro.blog lately in large part to the excellent work of <a href=\"https://mattlangford.com/\">Matt Langford</a> and his delightful <a href=\"https://mattlangford.com/tiny-theme/\">Tiny Theme for Micro.blog</a>.</p>\n<p>When I saw Tiny Theme I instantly appreciated the design and support for all the capabilities that micro.blog provides. I liked how Matt had built in support for some of the most popular plug-ins, including <a href=\"https://dahlstrand.net\">Sven Dahlstrand</a>&rsquo;s great collection. Plus Tiny Theme is super fast. I switched my site to it and have been having a great time.</p>\n<p>Matt has pushed new features and improvements on a weekly basis (or more) since release. It has been fun to see the continued improvements. He recently started integrating <a href=\"https://tinylytics.app\">Tinylytics</a>, a new service by <a href=\"https://vincentritter.com\">Vincent Ritter</a>, and Matt&rsquo;s enthusiasm for the service, and built-in support coming in Tiny Theme, was enough to get me to sign up for a paid account.</p>\n<p>Great blogging platforms have these wonderful developer communities that form around them. I&rsquo;ve hosted my blog on several different technologies, and the one thing I miss about WordPress is the massive (almost too massive) community of themes and plugins built around it.</p>\n<p><mark>But no blogging platform has developed an economically supported ecosystem around it. I think that is an opportunity.</mark></p>\n<p>Matt has a PayPal link in his Tiny Theme documentation which I was happy to see and use to send a Thank You. That is fine, but it is hardly the way to support an on-going effort like maintaining a theme.</p>\n<p>The introduction of Tiny Theme added a lot of value to my micro.blog experience. Not just for the service directly, but also for <em>other</em> plugin developers too. I&rsquo;d love to support a Community Fund to continue to support the development of additional themes and plugins.</p>\n<p><strong>Could we have a micro.blog Community Fund?</strong> Micro.blog already has different tiers of service. Imagine if I could &ldquo;upgrade&rdquo; with a $50/year &ldquo;Community Fund&rdquo; add-on. Those funds would go to micro.blog, and then be distributed to theme and plugin developers to help make the ecosystem even better.</p>\n<p>Distribution of funds would need some thought, and should be more editorial and algorithmic. You would not want to game a system of plugin developers seeking installs to drive funding. And you would want to fund things that have no usage yet. But creating an economic system to drive community innovation would be a great step to a sustainable, independent, and thriving platform still at human scale.</p>\n<p>Maybe Micro.blog creator <a href=\"https://www.manton.org\">Manton</a> will find this intriguing. 😎</p>\n",
        "date_published": "2023-07-02T07:38:49-05:00",
        "url": "https://www.thingelstad.com/2023/07/02/microblog-ecosystem-support.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/07/02/im-trying-some.html",
        
        "content_html": "<p>I&rsquo;m trying some changes to my feeds. I&rsquo;ve been a happy user of <a href=\"https://feedbin.com\">Feedbin</a> for years and am going to give the Feedbin app a go on my phone instead of <a href=\"https://www.goldenhillsoftware.com/unread/\">Unread</a>. I&rsquo;m also trying the newest <a href=\"https://feedbin.com/airshow\">Airshow</a> which is also by Feedbin and syncs with the reader instead of <a href=\"https://overcast.fm\">Overcast</a>.</p>\n",
        "date_published": "2023-07-02T07:16:19-05:00",
        "url": "https://www.thingelstad.com/2023/07/02/im-trying-some.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/06/11/i-had-wished.html",
        
        "content_html": "<p>I had <a href=\"https://www.thingelstad.com/2023/06/08/wish-list-microblog.html\">wished for a micro.blog plugin for NIP-05 Verification</a> and then I realized there are many things that use <a href=\"https://en.wikipedia.org/wiki/Well-known_URI\">Well-Known URI</a> including <a href=\"https://nostr.how/en/guides/get-verified\">NIP-05 Verification</a> and <a href=\"https://guides.getalby.com/overall-guide/alby-lightning-account/where-to-use-your-lightning-address/how-to-use-your-own-domain-as-your-lightning-address\">Lightning</a>. Maybe a micro.blog plugin to create Well-Known endpoints would be better? Could have templates for services.</p>\n",
        "date_published": "2023-06-11T08:14:35-05:00",
        "url": "https://www.thingelstad.com/2023/06/11/i-had-wished.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/06/09/i-added-a.html",
        
        "content_html": "<p>I added a bit of metadata to my website to enable Bitcoin Lightning &ldquo;tips&rdquo;. One line to indicate my Lightning address.</p>\n<p><code>&lt;meta name=&quot;lightning&quot; content=&quot;lnurlp:thingelstad@getalby.com&quot; /&gt;</code></p>\n<p>In Chrome, with the <a href=\"https://chrome.google.com/webstore/detail/alby-bitcoin-lightning-wa/iokeahhehimjnekafflcihljlcjccdbe\">Alby Extension</a> you can easily send Satoshis.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2023/545bff4e2e.png\" width=\"600\" height=\"465\" alt=\"Chrome browser showing a blog post titled Blog turns 19 with an Alby Bitcoin Lightning wallet popup displaying a Send Satoshis button and 10,000 sats balance\" />\n",
        "date_published": "2023-06-09T22:17:51-05:00",
        "url": "https://www.thingelstad.com/2023/06/09/i-added-a.html",
        "tags": ["Crypto","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/06/08/wish-list-microblog.html",
        
        "content_html": "<p><strong>Wish List:</strong> Micro.blog plugin to create the static file needed for self-hosted <a href=\"https://nostr.how/en/guides/get-verified\">NIP-05 verification</a>. I think this would be really easy to make? And would be a nice compliment to recently added Nostr cross-posting support. 🤞</p>\n",
        "date_published": "2023-06-08T22:50:32-05:00",
        "url": "https://www.thingelstad.com/2023/06/08/wish-list-microblog.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/06/04/my-cousin-quinn.html",
        
        "content_html": "<p>My cousin <a href=\"https://quinnchrest.com?ref=thingelstad.com\">Quinn Chrest just got a blog</a>! He is starting his career in technology and I urged him (nudged?) to get going with a domain and micro.blog. I also set him up with quinnchrest.eth for decentralized services! Welcome <a href=\"https://micro.blog/quinntchrest\">@quinntchrest</a>!</p>\n",
        "date_published": "2023-06-04T14:17:08-05:00",
        "url": "https://www.thingelstad.com/2023/06/04/my-cousin-quinn.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/06/02/today-marks-the.html",
        "title": "Blog turns 19!",
        "content_html": "<p>Today marks the <strong>19th year</strong> of my blog at thingelstad.com!</p>\n<p>Over those <strong>19 years</strong> I&rsquo;ve written <strong>8,186 posts</strong> totaling <strong>493,751 words</strong>. My website is older than the iPhone, Bitcoin, and Instagram.</p>\n<p>I love having my own home on the Internet.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2023/36da125484.png\" width=\"600\" height=\"233\" alt=\"Line chart showing annual blog post counts from 2000 to 2023, peaking near 820 in 2008 and ending around 250 in 2023.\" />\n<p><em>You&rsquo;ll note some posts from 2000 to 2003, but I don&rsquo;t count them in the timeline as they were added later.</em></p>\n",
        "date_published": "2023-06-02T22:06:38-05:00",
        "url": "https://www.thingelstad.com/2023/06/02/today-marks-the.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/05/31/today-microblog-added.html",
        
        "content_html": "<p>Today <a href=\"https://www.manton.org/2023/05/31/introducing-nostr-crossposting.html\">micro.blog added cross-posting support for Nostr</a>! I&rsquo;ve been having fun playing with <a href=\"https://nostr.com\">Nostr</a> using <a href=\"https://damus.io\">Damus</a> as the client. Now I&rsquo;ll be able to syndicate my blog posts to <a href=\"https://damus.io/npub19qj5v5hx54pm7gqtn5zallvrtc2pf4mudgvyj3x9y97ggtse8nmq0tas0s\">my Nostr profile</a> as well. 🎉</p>\n",
        "date_published": "2023-05-31T21:36:51-05:00",
        "url": "https://www.thingelstad.com/2023/05/31/today-microblog-added.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/05/25/bision-bitcoin.html",
        "title": "\"Bison \u0026 Bitcoin\"",
        "content_html": "<p>I recently threw the term &ldquo;Bison &amp; Bitcoin&rdquo; out with some friends. I love bison. 🦬 The name kept bouncing back to me and I thought that would be a fun newsletter. Generative AI is an amazing brainstorming partner, so for kicks I asked GPT-4 to elaborate and DALL-E to make a cover image. 😂</p>\n<p><strong>Prompt: Create a description for a newsletter called &ldquo;Bison &amp; Bitcoin&rdquo;. The newsletter has primary themes of innovation, sustainability, and self-reliance, and highlights the shared properties of resilience and strength that Bison and Bitcoin share.</strong></p>\n<p><em>&ldquo;Bison &amp; Bitcoin&rdquo; is a remarkable newsletter that transcends traditional boundaries, blending the worlds of ecology and finance through the lens of innovation, sustainability, and self-reliance. It&rsquo;s an exploration of the innate resilience and strength shared by the American Bison, an enduring symbol of the wilderness, and Bitcoin, the pioneering force in cryptocurrency.</em></p>\n<p><em>This newsletter is published bi-weekly, each edition shedding light on the enduring strength and adaptability of these two entities. For the Bison, readers get to delve into the animal&rsquo;s natural history, their journey from near-extinction to resurgence, and the significance of their role in promoting sustainable ecosystems. This deep dive into the life of Bison underscores themes of resilience, offering inspiring insights into nature&rsquo;s ability to recover and thrive.</em></p>\n<p><em>Simultaneously, the Bitcoin section dissects the resilience of this digital currency amidst the volatile economic landscape. It explores the trajectory of Bitcoin&rsquo;s development, its role in driving financial innovation, and how it embodies self-reliance in the increasingly digital economy. It takes readers through market trends, tech advancements, regulatory changes, and how Bitcoin continues to thrive despite these challenges.</em></p>\n<p><em>By drawing intriguing parallels between Bison and Bitcoin, the newsletter encourages readers to perceive resilience and strength in a new light, and apply these principles in their own lives for a sustainable future. Ultimately, &ldquo;Bison &amp; Bitcoin&rdquo; is not just a newsletter; it’s a bi-weekly exploration of resilience in the natural and financial worlds, providing compelling content that provokes thought and inspires action.</em></p>\n<img src=\"https://cdn.uploads.micro.blog/890/2023/ffcbff95bd.jpg\" width=\"600\" height=\"600\" alt=\"Painted bison standing in a prairie landscape with a stream and mesa, surrounded by stacked gold Bitcoin coins, labeled Summer 2023\">\n",
        "date_published": "2023-05-25T20:41:00-05:00",
        "url": "https://www.thingelstad.com/2023/05/25/bision-bitcoin.html",
        "tags": ["Crypto","AI","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/05/12/just-switched-thingelstadcom.html",
        
        "content_html": "<p>Just switched thingelstad.com to the new <a href=\"https://mattlangford.com/2023/05/11/introducing-the-tiny.html\">Tiny Theme</a> from Matt Langford. I love the focus on simplicity and speed. The layout is really clean. I also appreciate how much he is focusing on supporting the full feature set of Micro.blog, as well as popular plug-ins. 👏</p>\n",
        "date_published": "2023-05-12T11:26:25-05:00",
        "url": "https://www.thingelstad.com/2023/05/12/just-switched-thingelstadcom.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/05/09/i-applaud-the.html",
        
        "content_html": "<p>I applaud the <a href=\"https://gnosischain.substack.com/p/gnosis-chain-weekly-05-may-2023\">Gnosis Chain Weekly moving to Ghost</a> from Substack. 👏</p>\n<p>Crypto and web3 projects oddly decide to have this extreme reliance on the most centralized platforms the Internet has — Twitter and Substack. Meanwhile we have perfectly good, open, censorship resistance methods like email and RSS sitting unused.</p>\n<p>RSS should be widely adopted in Web3.</p>\n",
        "date_published": "2023-05-09T21:24:57-05:00",
        "url": "https://www.thingelstad.com/2023/05/09/i-applaud-the.html",
        "tags": ["Crypto","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/03/04/hosting-minnebar-how.html",
        "title": "Hosting Minnebar 17: How to Newsletter",
        "content_html": "<p><strong>Update:</strong> 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.</p>\n<p>I&rsquo;m going to host a session at Minnebar 17 on <strike><strong>How to Newsletter: Lessons from 250 Issues of The Weekly Thing</strong></strike>. This is my first time presenting at Minnebar in several years. I&rsquo;m excited to do it again!</p>\n<p>If this is interesting to you, register on the <a href=\"https://sessions.minnestar.org/\">Sessionizer</a> and indicate that you <strong>might attend this session</strong>.</p>\n<hr>\n<p>I have been publishing <strong><a href=\"https://weekly.thingelstad.com\">The Weekly Thing</a></strong> 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:</p>\n<ul>\n<li>How do you find the things you put in the Weekly Thing?</li>\n<li>How do you create each issue?</li>\n<li>How do you maintain consistency?</li>\n</ul>\n<p>Additionally I will be covering:</p>\n<ul>\n<li>My task template that I use for each week</li>\n<li>The automation that I have created to build each issue</li>\n<li>The overall toolchain that I use to create it</li>\n<li>Specific tactics to maintain sustainability of a long-term project like this</li>\n</ul>\n<p>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.</p>\n",
        "date_published": "2023-03-04T18:16:53-05:00",
        "url": "https://www.thingelstad.com/2023/03/04/hosting-minnebar-how.html",
        "tags": ["Minnestar","POAP","Weekly Thing","Blogging","Tech Community"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/02/05/not-writing-for.html",
        "title": "Not Writing for the Timeline",
        "content_html": "<p>I’m done writing for the timeline.</p>\n<p>There is a concept in Indieweb communities called <a href=\"https://indieweb.org/POSSE\">POSSE</a>. The acronym stands for <strong>publish on your own site, syndicate everywhere</strong>. This approach is an attempt to give you the best of all worlds. You can own your own content. Solve the <a href=\"https://www.thingelstad.com/2022/12/17/not-your-domain.html\">not your domain, not your words problem</a>. Then use various tools to syndicate your content to other services.</p>\n<p>It is a fine idea but in practice I think it is broken.</p>\n<p>The <em>medium</em> affects the message. Ultimately how you write and publish affects your writing. Social media brought with it whole new norms. No titles for content. Short posts. No rich markup so images and links are handled as metadata.</p>\n<p>Some of this, like titles being optional and brevity, are probably good things.</p>\n<p>But others are not. And when you syndicate to various platforms it is hard to not have that ultimate destination impact your writing.</p>\n<p>What does this look like?</p>\n<p>On micro.blog limiting myself to four photos because I know that when it syndicates to Twitter it will only include the first four.</p>\n<p>Being cautious about which hyperlink to use first because that is the one that will show up on Twitter regardless if it makes sense for the content.</p>\n<p>Not using titles because it changes how syndication works.</p>\n<p>I&rsquo;ve even seen posts use hashtags and <a href=\"https://micro.blog/username\">@username</a> conventions on a platform that is ignorant to them, but are solely intended for the service it is syndicated.</p>\n<hr>\n<p>I disconnected my blog from all syndication and it is interesting how freeing it has felt.</p>\n<p>I use titles more. I use the number of photos I want. I add links where they make sense.</p>\n<hr>\n<p>Writing for a timeline is a job. The timeline is a distilled and sterile system to give the algorithms an equal chunk of content to drive engagement. The limits of those chunks are non-sensical outside of that timeline.</p>\n<p>Let&rsquo;s break free of the timeline.</p>\n<p>Let&rsquo;s make the web weird again.</p>\n",
        "date_published": "2023-02-05T16:28:22-05:00",
        "url": "https://www.thingelstad.com/2023/02/05/not-writing-for.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2023/01/25/giving-the-bear.html",
        
        "content_html": "<p>Giving the <a href=\"https://www.manton.org/2023/01/24/still-a-little.html\">Bear Blog Theme</a> a try. I like the simplicity and speed.</p>\n",
        "date_published": "2023-01-25T23:10:21-05:00",
        "url": "https://www.thingelstad.com/2023/01/25/giving-the-bear.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2022/12/31/the-writer-of.html",
        "title": "The Writer of the Family",
        "content_html": "<p>Mazie has a talent with words. Her writing is engaging and her creative use of words paints a vivid picture in your mind. We try to do whatever we can to encourage her to exercise the craft. She wrote a short story to share with the family for Christmas this year.</p>\n<blockquote>\n<p>Izzy Baltimore never ceased to be amazed by the water. How it swirled and flowed as if with a mind of its own. How it danced through the air in sparkling droplets as it cascaded off a rock or twig jutting out of the current. How it lept from one spot to the next, refusing to reveal its never-ending destination.</p>\n</blockquote>\n<p>You want to keep reading right?</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2022/2b0f2860ce.jpg\" width=\"600\" height=\"450\" alt=\"Printed manuscript of Chapter 1 of a short story held up indoors, with a warmly lit living room in the background.\">\n",
        "date_published": "2022-12-31T11:41:34-05:00",
        "url": "https://www.thingelstad.com/2022/12/31/the-writer-of.html",
        "tags": ["Family","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2022/12/28/on-audience-capture.html",
        "title": "On Audience Capture",
        "content_html": "<p>When I first started writing the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> the email service showed me two reports that I knew I didn’t want to see. The first was who opened the email, when, where, on what device, and how often. That was a clear violation of privacy. What business do I have knowing what you do in your mailbox? None. The second report was which links got clicked on the most. This caused me grave concern right away. I felt certain that knowing what links people clicked on would influence the content I wrote about each week. Even if I could somehow convince myself that I wouldn&rsquo;t be influenced, how could I possibly prove that I wasn&rsquo;t? Thankfully the service allowed me to turn off both of these capabilities.</p>\n<p>The thing I was worried about was <strong>audience capture</strong>. Particularly with a project like the Weekly Thing, where I’m exploring the topics that are interesting to <em>me</em> and sharing that journey with <em>others</em>, audience capture has the potential to impact me as the author in ways that could change my journey and where my exploration took me.</p>\n<blockquote>\n<p>[Audience capture] involves the gradual and unwitting replacement of a person&rsquo;s identity with one custom-made for the audience. — <a href=\"https://gurwinder.substack.com/p/the-perils-of-audience-capture\">The Perils of Audience Capture</a></p>\n</blockquote>\n<p>I do many things to limit the amount of advertising I’m exposed to. I pay for ad free versions of services if I can. I run an ad blocker. Frankly I just limit the amount of advertising supported content that I’m exposed to. I also work hard to limit algorithmic promotion of content. Some of that is about protecting my privacy, but more important to me is protecting my liberty.</p>\n<p>When I think of my liberty I’m considering the ability to act as I please, without constraint and on <strong>my own discretion</strong>. That last part is the one that I worry about in regard to advertising, or algorithms prompting me with information. It is also the primary concern about <strong>audience capture</strong>.</p>\n<h3 id=\"captured-by-analytics\">Captured by Analytics</h3>\n<p>The mechanics of audience capture on the web tend to start with analytics. We have analytics for nearly everything. All social media platforms show you analytics on your profile like the number of followers you have, as well as analytics on each item you share in the form of views, likes, shares, and more. I believe services have weaponized this, making <a href=\"https://www.thingelstad.com/2018/02/04/identify-addictive-application.html\">analytics as addiction</a>, and the same features open the door for getting captured by your audience.</p>\n<p>This bit from the Waking Up podcast is what got my head spinning on this topic in the first place.</p>\n<blockquote>\n<p>[27:01] &ldquo;If I’m alert to anything, it is to not getting captured by my audience. If ever I were to find myself not wanting to say something for fear of how the audience will respond even though I think it’s true and important, that&rsquo;s the thing I know I can’t do. There&rsquo;s obviously a problem of audience capture in the podcasting and alternative media space. This is true wether one is getting support directly by subscription or donation, and it’s also true if you are running ads. And in several cases the evidence of audience capture is absolutely clear. There are people who&rsquo;ve done 50 episodes more or less in a row on the same topic as though they had lost interest in every other thing on Earth. What&rsquo;s going on there? There is some <strong>training signal coming from the audience</strong>, and almost certainly a bad economic incentive that is capturing that podcast host.&rdquo; — Sam Harris, <a href=\"https://www.samharris.org/podcasts/making-sense-episodes/272--on-disappointing-my-audience\">On Disappointing My Audience</a></p>\n</blockquote>\n<p>That whole bit from Harris is compelling, but I bolded the key component that I think we need to be mindful of. <strong>The same way that we can train an algorithm given a data set and a target, we can also train people by giving them a training signal from the audience.</strong> That training signal is the stream of analytics.</p>\n<p>I think you could take this further. Something akin to a principle or rule:</p>\n<p><strong>The more detailed metrics you have on an audience, the more likely you are captured by that audience.</strong></p>\n<p>The metrics provide a mirage of insight and influence. It &ldquo;feels like&rdquo; you are learning more about the audience, but you may be modifying yourself to fit the pattern of what you see in the data. Your audience engages a lot with this one topic? It seems far too likely that more of that will start appearing in front of you. In reality all of this data bends and shapes the creator to fit into the mold of their audience.</p>\n<p>The opposite is also true. The fewer metrics you have, the less likely you are captured by your audience. I publish the Weekly Thing using <a href=\"https://buttondown.email\">Buttondown</a> and I have no tracking of open rates or any links that people click on. Since I have no way of knowing what links people click on, I have no way of being captured going forward. I know that the next set of links I select are for sure not driven by what I think people will click on, since I don&rsquo;t even know what people click on!</p>\n<p>In general, as a creator, I think we need to be very cautious about what data we collect, and how we plan to use that. Don&rsquo;t collect data unless you know how you are going to put it into action.</p>\n<h3 id=\"we-all-have-an-audience-now\">We all have an audience now</h3>\n<p>Audience capture is an interesting concept for people that publish things. Bloggers, podcasters, newsletter writers all have obvious audiences. But it no longer stops there does it? Thanks to social media services we all have an audience, in fact many audiences. You have a set of followers on Facebook, or Twitter, or LinkedIn. Those services give you many metrics about how your &ldquo;followers&rdquo; engage with the content you share. This is a perfect setup to be captured.</p>\n<p>Much has been written about how social media damages discourse and how people do all of this performative dunking. Typically that is connected with the idea of eroding civility, or not knowing the person as a person but as just an avatar. But some of that performance could obviously be for your audience as well. And if the likes pile in the right way, the vicious cycle will continue. You become what your audience rewards. If you are in a room full of barbarians, be mindful of what they will reward!</p>\n<p>As we ponder the challenges of social media, perhaps it is worth considering if we really need another audience — and if so, how will this audience influence us and impact our identity.</p>\n<h3 id=\"captured-media\">Captured Media</h3>\n<p>Audience capture is easy to personify in the form of a person, particularly an individual creating something. Clearly the activities of thousands of people in the audience can have impact on that one creator. However, I don&rsquo;t see any reason that an audience can’t capture a brand or a company.</p>\n<p>A company doesn&rsquo;t have liberty or free will. So the capture of a company or brand is very different. In fact, many brands may want to be captured. That may be their ultimate goal. And for some there may be no downside to that. Harley Davidson is probably a better company if they are captured by their audience. They may call that customer obsessed!</p>\n<p>But take a moment to think of media. Is media bias accurate? Or is it more accurate to say media is captured by their audience? This is a bit of a chicken and egg question, and perhaps the end result doesn&rsquo;t really matter. But as we think of modern media organizations they tend to obsess about data. They have a never ending &ldquo;training set&rdquo; of data on what their audience likes. The smartest thing as a company may be to feed more content into that known topic. Repeat. More engagement. And magically audience capture.</p>\n<p>Where this lands us may be no different than media bias, but it speaks to a totally different cure.</p>\n<p>Media bias says that the actors in the media are intentionally biased to one perspective or another. Certainly true for some, but I don&rsquo;t believe true for all. And I don&rsquo;t know how you can fix that. Likely you just give up and say everything is biased. But if we frame this different and suggest that modern media has gotten itself trapped, captured by their audience, then the answer is pretty simple. Ditch the analytics. Stop telling the creators what the audience engages in. <strong>Starve them of that feedback loop and the capture will die away.</strong></p>\n<h3 id=\"kids-with-audiences\">Kids with audiences</h3>\n<p>The last area of audience capture that I&rsquo;ve been thinking about scares me the most. Most teenagers use some form of social media. They are acutely aware of their follower counts, likes, retweets, and whatever other feedback loops these platforms have. They have an audience, and that training set of data is coming right at them. Now, lets consider two things about this point in someone&rsquo;s life:</p>\n<ol>\n<li>Most teenagers are working as hard as they can to fit in. To be part of the group. They may not be aware of audience capture, but they are seeking to be captured in the most desperate way.</li>\n<li>These same teenagers do not have a strong sense of self. They are in the act of defining that. Liberty, free will — these are new thoughts and they are building their identity as they go.</li>\n</ol>\n<p>Adding an audience to a child that is still developing their own identity will forever alter that persons identity.</p>\n<p>Yes, you could argue that there is nothing new here, this is just part of growing up and forming your identity. To an extent that is true. You maybe had an audience in Chemistry class that you performed for. You might have had a club that you connected with that was a form of audience. But not really. In-person groups are totally different. They are not an audience, they are friends and acquaintances. There is no training set here. You don&rsquo;t get a data feed of likes and engagement scores at the end of the event. The performative behavior for an audience that social media enables is completely different.</p>\n<p>***</p>\n<p>Thinking more concretely about audience capture highlights for me the importance of collecting very little data, and on platforms that you cannot opt out of it, try to avoid it at all costs. Want to know a shameful secret of mine? I take note of how many likes and retweets my content gets on Twitter. I’m not proud of it. I don&rsquo;t know that it has changed what I write about, but I also don&rsquo;t know that it hasn&rsquo;t. That notifications section on Twitter is one of the things that makes me want to disengage from that platform.</p>\n<p>I know there are certain topics that I blog about and mention in the Weekly Thing that are not popular. Some folks don&rsquo;t like one topic or another. I know that because they have told me directly, not through analytics. That is fine, but I’m going to keep writing about whatever I want because I’m not selling a product to get maximum engagement. I’m sharing my journey of learning. And where that goes is only up to me. Liberty!</p>\n<p>So ask yourself, are you captured? What audiences do you have? How are you protecting your liberty?</p>\n",
        "date_published": "2022-12-28T21:11:39-05:00",
        "url": "https://www.thingelstad.com/2022/12/28/on-audience-capture.html",
        "tags": ["Weekly Thing","Productivity","Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2022/12/17/not-your-domain.html",
        "title": "Not your domain, not your words",
        "content_html": "<p>In the crypto community there is a common and very important saying:</p>\n<p><span style=\"font-size: 24px;\"><strong>Not your keys, not your crypto.</strong></span></p>\n<p>Meaning if you don&rsquo;t manage the private keys to your wallet, someone else is. And whoever that someone else is, they actually own your crypto. A lot of people are learning this lesson again with the fraud at FTX.</p>\n<p>I think we need another saying for social media.</p>\n<p><span style=\"font-size: 24px;\"><strong>Not your domain, not your words.</strong></font></p>\n<p>If your writing is on some website where you don&rsquo;t control the domain in the URL, then it isn&rsquo;t your writing. Whoever controls that domain name, they can do whatever they wish. This lesson gets confused in hand wringing about censorship and freedom of speech.</p>\n<p>If you want your words to be yours, get your own domain name, and put a website on it. There are several services that make this easy for a small fee.</p>\n",
        "date_published": "2022-12-17T07:25:15-05:00",
        "url": "https://www.thingelstad.com/2022/12/17/not-your-domain.html",
        "tags": ["Crypto","Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2022/12/07/upgrading-to-marsedit.html",
        
        "content_html": "<p>Upgrading to <a href=\"https://redsweater.com/marsedit/\">MarsEdit</a> 5 was the easiest decision I made all day. 😊</p>\n",
        "date_published": "2022-12-07T21:11:51-05:00",
        "url": "https://www.thingelstad.com/2022/12/07/upgrading-to-marsedit.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2022/10/30/i-decided-to.html",
        
        "content_html": "<p>I decided to give Reddit another try. In <a href=\"https://www.thingelstad.com/2015/07/12/see-ya-reddit.html\">2015 I deleted my account</a>. Reddit hasn’t clicked with me, but I want to give it another go. I created a <strong><a href=\"https://www.reddit.com/r/weeklything/\">r/WeeklyThing</a> community</strong>, which I think could be interesting there. I’ve found <a href=\"https://www.reddit.com/r/candlemaking/\">r/candlemaking</a> fun. 🙂</p>\n",
        "date_published": "2022-10-30T08:09:19-05:00",
        "url": "https://www.thingelstad.com/2022/10/30/i-decided-to.html",
        "tags": ["Weekly Thing","Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2022/09/22/the-rss-feed.html",
        
        "content_html": "<p>The RSS feed for the Pinboard’s <a href=\"https://pinboard.in/popular/\">Popular</a> links stopped working on Sep 12th. Hoping this will be restored soon. 😬</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2022/b13a9dbc1d.png\" width=\"600\" height=\"264\" alt=\"Bar chart of Pinboard popular feed activity from Jun 25 to Sep 22, showing consistent daily counts around 30 to 47, with spikes near 93 in mid-August, then dropping to near zero after Sep 12.\" />\n",
        "date_published": "2022-09-22T22:33:07-05:00",
        "url": "https://www.thingelstad.com/2022/09/22/the-rss-feed.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2022/09/16/it-always-feels.html",
        
        "content_html": "<p>It always feels a bit like I&rsquo;m breaking the rust off when publishing the first <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> after my 2-month summer break. Eventually it all gets fluid and easier again. Oh, issue #226 coming tomorrow! ⚙️</p>\n",
        "date_published": "2022-09-16T17:31:32-05:00",
        "url": "https://www.thingelstad.com/2022/09/16/it-always-feels.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2022/09/03/with-labor-day.html",
        
        "content_html": "<p>With Labor Day and some additional travel, I decided to extend the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> summer break for two more weeks. <strong>Issue 226 will resume on September 17th!</strong></p>\n",
        "date_published": "2022-09-03T09:02:32-05:00",
        "url": "https://www.thingelstad.com/2022/09/03/with-labor-day.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2022/07/02/royal-typewriter-for.html",
        
        "content_html": "<p>Royal typewriter for disconnected writing at the cabin.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2022/d47714a1dc.jpg\" width=\"600\" height=\"450\" alt=\"Vintage Royal typewriter in gray with white keys and red logo badge, sitting on a wood table.\" />\n",
        "date_published": "2022-07-02T06:39:29-05:00",
        "url": "https://www.thingelstad.com/2022/07/02/royal-typewriter-for.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2022/05/14/i-just-sent.html",
        
        "content_html": "<p>I just sent <a href=\"https://weekly.thingelstad.com/archive/weekly-thing-219-friendships-florinouns-rich/\">issue 219</a> of the <a href=\"https://weekly.thingelstad.com/\">Weekly Thing</a>, which also marks the <strong>Five Year anniversary</strong>! It is also my first issue back after an unscheduled break. It was fun to get things going again. Subscribers got a <a href=\"https://poap.gallery/event/44270\">PAOP token</a> to mark the occasion.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2022/c6c7fa46dd.png\" width=\"600\" height=\"600\" alt=\"Weekly Thing logo on a colorful swirled circle with a gold glitter number 5 candle marking the five year anniversary\" />\n",
        "date_published": "2022-05-14T08:56:23-05:00",
        "url": "https://www.thingelstad.com/2022/05/14/i-just-sent.html",
        "tags": ["POAP","Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2022/03/13/ive-been-using.html",
        
        "content_html": "<p>I’ve been using Telegram recently to stay in contact with folks in Ukraine. <strike>I decided to create a <a href=\"https://t.me/thingelstadcom\">channel for thingelstad.com</a> and a <a href=\"https://t.me/weeklything\">channel for the Weekly Thing</a>.</strike> If you like getting things in Telegram, there you go.</p>\n<p><strong>Update:</strong> I deleted these channels after a few months as they didn’t prove valuable.</p>\n",
        "date_published": "2022-03-13T13:55:52-05:00",
        "url": "https://www.thingelstad.com/2022/03/13/ive-been-using.html",
        "tags": ["Weekly Thing","Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/12/27/i-love-this.html",
        
        "content_html": "<p>I love this new micro.blog <a href=\"https://github.com/am1t/plugin-post-stats\">Posts Stats Plugin</a> from <a href=\"https://www.amitgawande.com\">Amit Gawande</a>! <strong>“Total Words Written\t445,145 (that’s almost 11 novellas).”</strong> See all the numbers on my <a href=\"https://www.thingelstad.com/stats/\">stats page</a>. Thank you <a href=\"https://micro.blog/amit\">@amit</a>! 🤩</p>\n",
        "date_published": "2021-12-27T18:59:12-05:00",
        "url": "https://www.thingelstad.com/2021/12/27/i-love-this.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/12/19/happy-to-see.html",
        
        "content_html": "<p>Happy to see that micro.blog&rsquo;s new <a href=\"https://www.manton.org/2021/12/03/drafts-and-scheduling.html\">scheduling feature</a> can also be used to create a new post in the past. I used to have to go to MarsEdit anytime I wanted to publish something with a specific date. Now I can do it by scheduling in the past! 👏</p>\n",
        "date_published": "2021-12-19T08:24:52-05:00",
        "url": "https://www.thingelstad.com/2021/12/19/happy-to-see.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/11/09/the-new-v.html",
        
        "content_html": "<p>The new v2 <a href=\"https://apps.apple.com/app/id1158877342\">Grammarly App</a> for iOS is a huge step forward. Finally you can work with documents and not just via a custom keyboard. Now if we can get Shortcuts support to bring <a href=\"https://www.grammarly.com\">Grammarly</a> into other tools! 🤞</p>\n",
        "date_published": "2021-11-09T13:34:59-05:00",
        "url": "https://www.thingelstad.com/2021/11/09/the-new-v.html",
        "tags": ["Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/10/31/we-just-published.html",
        
        "content_html": "<p>We just published the <a href=\"https://reading.thingelstad.com/archive/reading-things-fall-2021/\">Fall 2021 issue of Reading Things</a>! In this issue: <strong>This Is Your Mind on Plants</strong>, <strong>Calvin and Hobbes</strong>, <strong>Locally Laid</strong>, <strong>Ghost</strong>, <strong>Evicted</strong>, <strong>The Honey Bus</strong>, and <strong>Nature &amp; Walking</strong>. 📚</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2021/e6a232d3e1.jpg\" width=\"599\" height=\"600\" alt=\"Six book covers arranged in a grid: This Is Your Mind on Plants, Locally Laid, Ghost, Evicted, The Honey Bus, and Nature Walking.\" />\n",
        "date_published": "2021-10-31T20:56:54-05:00",
        "url": "https://www.thingelstad.com/2021/10/31/we-just-published.html",
        "tags": ["Blogging","Books"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/08/16/made-this-action.html",
        
        "content_html": "<p>Made this Action in <a href=\"https://feedbin.com/\">Feedbin</a> to skip sponsored items in feeds. It works really well!</p>\n<p><code>title.exact:(&quot;Sponsor:&quot; OR &quot;(Sponsor)&quot; OR &quot;[Sponsor]&quot;)</code></p>\n<p>There is a lot of power in Feedbin actions!</p>\n",
        "date_published": "2021-08-16T17:42:15-05:00",
        "url": "https://www.thingelstad.com/2021/08/16/made-this-action.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/07/25/we-just-sent.html",
        
        "content_html": "<p>We just sent out the <a href=\"https://reading.thingelstad.com/archive/reading-things-summer-2021/\">Summer 2021 edition of Reading Things</a>! Here in the Real World, Think Again, My Eyes Are Up Here, Klara and the Sun, Diary of a Wimpy Kid, and Radical Markets. If you enjoy books, check out our family newsletter.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2021/2551300a82.jpg\" width=\"599\" height=\"600\" alt=\"Six book covers including Think Again by Adam Grant, Klara and the Sun by Kazuo Ishiguro, and Diary of a Wimpy Kid by Jeff Kinney\" />\n",
        "date_published": "2021-07-25T21:51:22-05:00",
        "url": "https://www.thingelstad.com/2021/07/25/we-just-sent.html",
        "tags": ["Blogging","Books"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/06/12/i-didnt-get.html",
        
        "content_html": "<p>I didn&rsquo;t get the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> done last night, but I got up early this morning and finished issue 190 with 28 minutes to spare! 😅</p>\n",
        "date_published": "2021-06-12T06:35:05-05:00",
        "url": "https://www.thingelstad.com/2021/06/12/i-didnt-get.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/05/13/four-years-of.html",
        "title": "Four Years of the Weekly Thing",
        "content_html": "<p>Today marks the four year anniversary of the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>! <a href=\"https://weekly.thingelstad.com/archive/weekly-thing-for-may-13-2017\">Issue 1</a> was sent <strong>May 13, 2017</strong>. 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.</p>\n<p>Here are some learnings I would share.</p>\n<ul>\n<li>Having a well defined structure that I flow content &ldquo;through and in&rdquo; 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&rsquo;t think it would work well.</li>\n<li>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.</li>\n<li>Getting a new photo every week is difficult in the winter when the daylight is so short.</li>\n<li>I&rsquo;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.</li>\n<li>The rare times that an issue doesn&rsquo;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.</li>\n<li>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!</li>\n<li>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.</li>\n<li>Automate as much as possible. This keeps the busywork down. I&rsquo;ve got extensive automation to keep everything humming.</li>\n</ul>\n<p>And now onto the years ahead!</p>\n",
        "date_published": "2021-05-13T22:05:46-05:00",
        "url": "https://www.thingelstad.com/2021/05/13/four-years-of.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/05/08/we-just-published.html",
        
        "content_html": "<p>We just published the very <a href=\"https://reading.thingelstad.com/archive/reading-things-book-thief-atomic-habits-treasure/\">first issue of Reading Things</a>! 📚 If you enjoy books check it out! This is a new project from our whole family. 👋</p>\n",
        "date_published": "2021-05-08T16:48:08-05:00",
        "url": "https://www.thingelstad.com/2021/05/08/we-just-published.html",
        "tags": ["Blogging","Books"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/04/28/four-great-years.html",
        "title": "Four Great Years of Micro.blogging!",
        "content_html": "<p>When people write about blogging platforms or services they often focus on features and functions. I say <em>hogwash</em> to that. There is only one thing that matters about a blogging solution — <strong>does it create an environment where you want to write?</strong> For me, micro.blog does that better than any other service I&rsquo;ve used. I&rsquo;m happy to mark today as my <strong>fourth year</strong> using <a href=\"https://micro.blog\">micro.blog</a>. Four years ago I was <a href=\"https://www.thingelstad.com/2017/04/28/poking-around-microblog.html\">poking around</a> having <a href=\"https://www.thingelstad.com/2017/04/27/t857780228105654273.html\">waited for my invite code</a>. <strong>This has been my favorite four years of blogging since I started in 2004.</strong></p>\n<p>Over those 17 years I&rsquo;ve used: .Text <a href=\"https://www.thingelstad.com/2006/11/25/migrating-text-to.html\">→</a> WordPress <a href=\"https://www.thingelstad.com/2016/04/20/moved-my-blog.html\">→</a> SquareSpace <a href=\"https://www.thingelstad.com/2014/03/16/i-flopped-httpstcozmirtevd.html\">→</a> Pelican <a href=\"https://www.thingelstad.com/2017/10/29/managing-years-of.html\">→</a> Jekyll <a href=\"https://www.thingelstad.com/2020/05/02/importing-jekyll-site.html\">→</a> micro.blog. (those → are all links to the relevant posts 🤓)</p>\n<p>Micro.blog let&rsquo;s me pull out my phone and with extraordinarily low effort put a picture or two along with some text on the web. Nothing is faster and easier. I love that Micro.blog is built on a static blog engine, <a href=\"https://gohugo.io\">Hugo</a>, since I never have to worry about performance. It is <em>fast</em>. It is great that I can hit a link in my favorites and have a text area on a web page to type and post. It is awesome that it can handle short things, a couple sentences, and really long things. The pages function is simple, but really powerful. I have 124 pages of content that goes with my blog. My <a href=\"https://www.thingelstad.com/lists/\">lists</a> are my favorite. Automatic categories based on text patterns in the posts is a very powerful feature. It doesn&rsquo;t have tags, I’m fine with that, I curate <a href=\"https://www.thingelstad.com/collections/\">collections</a> instead. There is no library of 5,000 plugins, good. This just lets me focus more on writing.</p>\n<p><strong>2,039 posts.</strong> That is what micro.blog has enabled since April 2017. <a href=\"https://www.thingelstad.com/2021/01/24/i-microblog.html\">I 💛 micro.blog</a>. Thank you <strong><a href=\"https://www.manton.org\">Manton</a></strong> and <strong><a href=\"http://micro.welltempered.net\">Jean</a></strong> for making such a great service!</p>\n<p>Now 2,040 posts…</p>\n",
        "date_published": "2021-04-28T21:24:00-05:00",
        "url": "https://www.thingelstad.com/2021/04/28/four-great-years.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/02/25/day-of-the.html",
        
        "content_html": "<p>Day 25 of the <a href=\"https://micro.welltempered.net/2021/01/30/february-photoblogging-challenge.html\">February Photoblogging Challenge</a>: <strong>Code</strong></p>\n<p>Micro.blog code.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2021/67f2fc03c6.jpg\" width=\"600\" height=\"450\" alt=\"Browser developer tools showing JavaScript code for an On This Day blog feature, with Network panel open and XML HTTP request visible.\" />\n",
        "date_published": "2021-02-25T23:04:10-05:00",
        "url": "https://www.thingelstad.com/2021/02/25/day-of-the.html",
        "tags": ["Blogging","February 2021 Photoblogging Challenge"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/01/24/bring-back-inline.html",
        "title": "Bring Back Inline Replies",
        "content_html": "<p>The vast majority of the email I reply to I do a simple <strong>top reply</strong>. Particularly on mobile. It is fast and simple.</p>\n<p>However, I have started replying to friends and family with longer <strong>inline replies</strong>. It feels sort of old fashioned, like I&rsquo;m writing a letter. It puts me in a context to write more thoughtfully. If you haven&rsquo;t tried <strong>inline replies</strong> lately, with nice formatting and trimming of the note you are replying to, give it a go. ✍️</p>\n",
        "date_published": "2021-01-24T12:57:12-05:00",
        "url": "https://www.thingelstad.com/2021/01/24/bring-back-inline.html",
        "tags": ["Productivity","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/01/24/i-microblog.html",
        "title": "I 💛 micro.blog",
        "content_html": "<p>I noticed that it was <a href=\"https://www.thingelstad.com/2017/01/24/043149.html\">four years ago today</a> that I signed up to back <a href=\"https://www.kickstarter.com/projects/manton/indie-microblogging-owning-your-short-form-writing\">Indie Microblogging</a> on Kickstarter. <a href=\"https://micro.blog\">Micro.blog</a> has evolved so much since launch and has firmly taken the place as my favorite blogging platform.</p>\n<p>Micro.blog removes the friction from publishing, and is deceptively powerful. I&rsquo;ve consolidated over 15 years of blogging across a few different systems into micro.blog. I have thousands of posts and it continues to be a delight to use. It strikes the perfect compromise of power and ease-of-use. It is the easiest way I know to get a photo on the web.</p>\n<p>I&rsquo;m amazed at what has been created, and I continue to be excited about the improvements being made. If you are looking for a home on the web, I would strongly endorse micro.blog.</p>\n",
        "date_published": "2021-01-24T12:37:46-05:00",
        "url": "https://www.thingelstad.com/2021/01/24/i-microblog.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/01/24/better-weekly-thing.html",
        "title": "Better Weekly Thing Description",
        "content_html": "<p>Writing to describe myself or one of my projects is hard for me. Those little &ldquo;About&rdquo; boxes all over profile pages on the web fill me with dread. For the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> having a strong description is critical and I knew it needed improvement. I found Josh Spector&rsquo;s <a href=\"https://fortheinterested.com/a-five-day-plan-to-grow-your-newsletter/\">Five-Day Plan to Grow Your Newsletter</a> and his first item was to improve your description. I liked his framework so gave it a go.</p>\n<p>This is what I started with.</p>\n<blockquote>\n<p>The Weekly Thing is a weekly newsletter highlighting helpful, interesting, or insightful articles from the week. I am a voracious reader of technology, culture, leadership, privacy, and many other topics as my interests roam. Each article I share is framed with personal commentary combining my decades of experiences. My goal is to positively impact your journey with knowledge and insight.</p>\n</blockquote>\n<p>It is certainly accurate, but I didn&rsquo;t love it. I don&rsquo;t think it represented what you actually got by subscribing. It didn’t even include my name.</p>\n<p>I wanted to make sure that it</p>\n<ul>\n<li>included a solid description of what you would expect to get</li>\n<li>included my name so you know who it came from</li>\n<li>included some validation points like quotes and subscriber count</li>\n<li>referenced that I include more than just links</li>\n</ul>\n<p>I took Spector&rsquo;s framework as a starter and then worked it over and over. This is what I finished with.</p>\n<blockquote>\n<p>Join over 1,000 subscribers to the <strong>Weekly Thing</strong> by <strong><a href=\"https://www.thingelstad.com\">Jamie Thingelstad</a></strong>!</p>\n<p>Each Saturday morning, you will get my thoughts on <strong>technology</strong>, <strong>leadership</strong>, <strong>productivity</strong>, <strong>culture</strong>, <strong>privacy</strong>, and anything else interesting. I add commentary combining my decades of experience <strong>leading teams</strong> and <strong>building technology</strong>. I also include my <strong>personal writing</strong>, what I’m <strong>currently</strong> into, and a <strong>photograph</strong> of the week. There is even a <strong>fortune</strong> at the end! 🥠</p>\n<p>A friend once described the Weekly Thing as a <strong>“direct feed from Jamie’s brain.”</strong> 🧠 There are <strong>no ads</strong>, your email will <strong>never be shared</strong>, your <strong>privacy will be protected</strong>, and it is <strong>free</strong>.</p>\n<p><strong>Subscribe now</strong> and positively impact your journey with <strong>knowledge</strong>, <strong>insight</strong>, and <strong>perspective</strong>!</p>\n<p>Here is what others have to say. 🙌</p>\n<p>“I’m a better person and leader because of the Weekly Thing!” — Jenny<br>\n“I look forward to reading what you are digging.” — David<br>\n“I don’t find the interesting links you share anywhere else!” — Andy<br>\n“It’s a perfect start to every Saturday!” — Phil</p>\n</blockquote>\n<p>I took the time to run the confirmation email, where this same text is included, through <a href=\"https://www.mail-tester.com\">Mail Tester</a>. The previous message was too short and was being heavily penalized by spam tools. The new length and text scored a <strong>perfect 10/10 score</strong>. For newsletter authors this is an important thing to get right!</p>\n<p>I&rsquo;m not A/B testing and I don&rsquo;t use surveillance tools on my signup page but I should still be able to see if signups increase, and very important if the number of unconfirmed subscribers, that seem to never get the confirmation email, drops.</p>\n",
        "date_published": "2021-01-24T09:14:00-05:00",
        "url": "https://www.thingelstad.com/2021/01/24/better-weekly-thing.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/01/21/i-so-enjoyed.html",
        
        "content_html": "<p>I so enjoyed these articles from <a href=\"https://www.cjchilvers.com/\">CJ Chilvers</a> on <a href=\"https://www.cjchilvers.com/blog/its-time-to-get-personal\">personal websites</a> and <a href=\"https://www.cjchilvers.com/blog/a-love-letter-to-the-link-post\">link posts</a>. He captures a lot of what I love about my own website and why I have given my <a href=\"https://www.thingelstad.com/projects/link-blog\">link blog</a> a real place online. Thanks to another wonderful personal website from <a href=\"https://www.patrickrhone.net/8846-2/\">Patrick Rhone</a> for highlighting these.</p>\n<p>There are still great, independent, personal websites out there. You just have to find them. It is worth the effort. Come join us out here! 👋</p>\n",
        "date_published": "2021-01-21T22:15:06-05:00",
        "url": "https://www.thingelstad.com/2021/01/21/i-so-enjoyed.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2021/01/02/ive-had-a.html",
        "title": "1,000 Subscribers",
        "content_html": "<p>I&rsquo;ve had a &ldquo;soft&rdquo; goal for the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> to get to 1,000 subscribers and it got there today! Plus it is fun that <a href=\"https://buttondown.email\">Buttondown</a> sends a note like this.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2021/6a05574330.jpg\" width=\"375\" height=\"530\" alt=\"Email notification from Buttondown congratulating Jamie Thingelstad on reaching 1,000 newsletter subscribers.\" />\n",
        "date_published": "2021-01-02T13:46:22-05:00",
        "url": "https://www.thingelstad.com/2021/01/02/ive-had-a.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/12/19/commenting-and-reactions.html",
        "title": "Commenting and Reactions added to Link Blog",
        "content_html": "<p>I&rsquo;ve been toying with the idea of having commenting on my <a href=\"https://www.thingelstad.com/projects/link-blog\">Link Blog</a>. I ran across <a href=\"https://talk.hyvor.com\">Hyvor Talk</a> and just set it up to give it a try. It has a really nice interface and looks great. I like the simple reaction options too. Also, it has privacy features and isn&rsquo;t funded by hidden ads. I had previously tried <a href=\"https://commento.io\">Commento</a> but it was a big lacking in some of the more advanced features. I&rsquo;m curious to see how Hyvor works out.</p>\n",
        "date_published": "2020-12-19T17:03:59-05:00",
        "url": "https://www.thingelstad.com/2020/12/19/commenting-and-reactions.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/12/19/ted-lasso-of.html",
        "title": "\"Ted Lasso of newsletters\"",
        "content_html": "<p><a href=\"https://www.cjchilvers.com\">CJ Chilvers</a> shared a shout out to <a href=\"https://weekly.thingelstad.com/\">The Weekly Thing</a> in his <a href=\"https://mailchi.mp/cjchilvers/issue-262-overthinking\">newsletter this week</a>:</p>\n<blockquote>\n<p>I love <a href=\"https://weekly.thingelstad.com/\">The Weekly Thing</a> by Jamie Thingelstad. It’s the Ted Lasso of newsletters. I especially like his idea for a <a href=\"https://weekly.thingelstad.com/archive/weekly-thing-169-ted-lasso-think-for-yourself/\">Tesla date night</a>. All I need now is the Tesla! Santa?</p>\n</blockquote>\n<p>“Ted Lasso of newsletters&quot; is some super high praise! 🤩</p>\n<p>I&rsquo;m going to get that framed for the wall. 🙌</p>\n",
        "date_published": "2020-12-19T11:43:16-05:00",
        "url": "https://www.thingelstad.com/2020/12/19/ted-lasso-of.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/11/21/buttondown-says-that.html",
        
        "content_html": "<p>Buttondown says that I have <strong>written 448,665 words</strong> in the first 166 issues of the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>. 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? 🤯</p>\n",
        "date_published": "2020-11-22T00:23:45-05:00",
        "url": "https://www.thingelstad.com/2020/11/21/buttondown-says-that.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/11/08/i-got-my.html",
        "title": "Link Blog Relaunched",
        "content_html": "<p>I got my <a href=\"https://www.thingelstad.com/projects/link-blog\">Link Blog</a> up and running again. It is still plenty rough around the edges. This gives the links that I share in the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> a permanent home on the web.</p>\n<p><del>As an experiment I&rsquo;ve also put the <a href=\"https://commento.io\">Commento</a> commenting system on it to see if that is interesting.</del></p>\n<p>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.</p>\n<p>On my to do list is Annum pages that show statistics for each year.</p>\n",
        "date_published": "2020-11-08T23:22:06-05:00",
        "url": "https://www.thingelstad.com/2020/11/08/i-got-my.html",
        "tags": ["Weekly Thing","Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/10/21/just-updated-my.html",
        
        "content_html": "<p>Just updated my <a href=\"https://www.thingelstad.com/lists/newsletters/\">list of newsletters</a> I subscribe to with some recent additions and changes. We need more ways to discover newsletters so this is my <em>”newsletter-roll”</em>.</p>\n",
        "date_published": "2020-10-21T19:11:38-05:00",
        "url": "https://www.thingelstad.com/2020/10/21/just-updated-my.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/10/18/trying-tagging-people.html",
        
        "content_html": "<p>Trying tagging people whose articles I am commenting and sharing in the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>. Example on <a href=\"https://www.linkedin.com/posts/jthingelstad_weekly-thing-161-letter-asterisk-you-activity-6723565464108236800-hxq9\">LinkedIn</a> and <a href=\"https://twitter.com/thingles/status/1317986192927952899\">Twitter</a> for <a href=\"https://weekly.thingelstad.com/archive/weekly-thing-161-letter-asterisk-you-should-write/\">issue 161</a>. Will be watching to see if this is appreciated or seen as tag spam, and if it results in additional awareness.</p>\n",
        "date_published": "2020-10-18T23:03:38-05:00",
        "url": "https://www.thingelstad.com/2020/10/18/trying-tagging-people.html",
        "tags": ["Weekly Thing","Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/10/11/this-weekend-i.html",
        
        "content_html": "<p>This weekend I wired up two additional platforms that I&rsquo;m syndicating to. I&rsquo;m now sharing to <a href=\"https://en.wikipedia.org/wiki/Mastodon_(software)\">Mastadon</a> and am <a href=\"https://micro.blog/jamiethingelstad@mastodon.social\">@jamiethingelstad@mastodon.social</a>. This is built into micro.blog so I decided to turn it on for those that may prefer it.</p>\n<p><strike>I also configured <a href=\"https://zapier.com/\">Zapier</a> to share the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> to Medium. If you prefer Medium you can find jthingelstad there and this is a full share, with all the content. Right now I&rsquo;m only sharing the Weekly Thing to Medium.</strike></p>\n<p>The best way to get all of of my stuff directly is still via RSS or Email.</p>\n",
        "date_published": "2020-10-11T17:17:33-05:00",
        "url": "https://www.thingelstad.com/2020/10/11/this-weekend-i.html",
        "tags": ["Weekly Thing","Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/09/29/i-enjoy-dense.html",
        
        "content_html": "<p>I enjoy <a href=\"https://www.densediscovery.com\">Dense Discovery</a> and the variety of topics that <a href=\"https://www.brizk.com\">Kai</a> brings to the newsletter. It was an easy decision to sign up for the new <strong><a href=\"https://www.densediscovery.com/friends/\">Friend of DD</a></strong> program announced in <a href=\"https://www.densediscovery.com/issues/107\">issue 107</a>.</p>\n",
        "date_published": "2020-09-29T07:04:32-05:00",
        "url": "https://www.thingelstad.com/2020/09/29/i-enjoy-dense.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/05/15/microblog-added-a.html",
        
        "content_html": "<p>Micro.blog added a <a href=\"https://help.micro.blog/2020/notfound/\">Custom 404 Page</a> feature. I had sent Manton a note asking for this feature just a week ago. Love it! 💛</p>\n",
        "date_published": "2020-05-15T22:26:26-05:00",
        "url": "https://www.thingelstad.com/2020/05/15/microblog-added-a.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/05/09/a-good-newsletter.html",
        
        "content_html": "<blockquote>\n<p>A good newsletter is usually:</p>\n<ol>\n<li>Consistent in frequency</li>\n<li>Consistent in format</li>\n<li>Endlessly repeatable with new content.</li>\n</ol>\n<p>— <a href=\"https://twitter.com/austinkleon/status/1226550422812405761\">Austin Kleon</a></p>\n</blockquote>\n",
        "date_published": "2020-05-09T11:16:00-05:00",
        "url": "https://www.thingelstad.com/2020/05/09/a-good-newsletter.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/05/02/importing-jekyll-site.html",
        "title": "Importing Jekyll site to micro.blog",
        "content_html": "<p>I successfully migrated my blog archive from <a href=\"https://jekyllrb.com\">Jekyll</a> to <a href=\"https://micro.blog\">micro.blog</a>. I haven&rsquo;t seen much written about this, so let me share how I did it. This definitely requires a bit of hacking but the result worked very well. I followed the general pattern that <a href=\"https://www.manton.org\">Manton Reece</a> shared in his <a href=\"https://www.manton.org/2018/11/12/timetable-migrated-to.html\">Timetable migration to micro.blog</a> post.</p>\n<p>You can grab the code and use it as a starting point. The script won&rsquo;t win any prizes for elegance, but it only needed to work once. Here is the <a href=\"https://gist.github.com/jthingelstad/70ddb03da863f53c5ec622297c123db1\">Python code</a> as well as the <a href=\"https://gist.github.com/jthingelstad/e5ea874fcca7ff96b15fd84031211b81\">Jekyll template for JSONFeed</a> that I used.</p>\n<h3 id=\"get-content-ready\">Get Content Ready</h3>\n<p>Technically Jekyll is just a collection of Markdown files and image assets. it seems like it should be easy. However, Jekyll markdown files all have a variety of <a href=\"https://jekyllrb.com/docs/front-matter/\">Front Matter</a> metadata that is only meaningful to Jekyll. You almost certainly have <a href=\"https://jekyllrb.com/docs/liquid/\">Liquid Tags</a> in the content as well. So, let&rsquo;s make Jekyll do the work of helping us out of its issues.</p>\n<p>I already had a <a href=\"https://jsonfeed.org\">JSON Feed</a> endpoint. I removed the post limit from it so it would generate a JSON Feed with all blog posts instead of just the most recent 10. I then told Jekyll to generate the site <code>jekyll build</code> and I was pretty much ready. I now had a full JSON Feed file with every blog post with no Liquid Tags either.</p>\n<p>I didn’t want to bring categories or tags over, but if you did you could easily add that to the JSON Feed export and catch it in the import.</p>\n<h3 id=\"content-is-in-html\">Content is in HTML</h3>\n<p>The JSON Feed file is great, but the content is in HTML and I need Markdown to give to micro.blog. <a href=\"https://pandoc.org\">Pandoc</a> and <a href=\"https://pypi.org/project/pypandoc/\">pypandoc</a> did an awesome job at this. I created a Python 3 script to open the JSON Feed file as a JSON object and then iterate through the posts. I used Pandoc to convert each <code>content_html</code> element into Markdown. Note I for sure would use Python 3 for the sensible handling of <a href=\"https://en.wikipedia.org/wiki/UTF-8\">UTF-8</a>.</p>\n<p>This one line of code just made me gleeful.</p>\n<p><code>md = pypandoc.convert_text(i['content_html'], 'md', format='html')</code></p>\n<h3 id=\"images\">Images</h3>\n<p>Now that I had Markdown I was getting really close but I have thousands of linked images to import as well. I need to get the images uploaded to micro.blog, and then I need to update the URLs.</p>\n<p>I created a regular expression (magic!) match to all image links that pointed to my own website. I could key this off a well defined path, <code>/assets/</code>. Since I was working out of a generated static site those images were all on the local file system so I parsed out the path from the URL, checked to make sure the file was found and uploaded it to micro.blog. I then used the generated URL returned from micro.blog to update the old one in the Markdown. Markdown made this a lot easier without all the HTML cruft.</p>\n<p><code>urls = re.findall(r'(?:https://www.thingelstad.com)?(/assets/[\\.\\w\\d\\/\\_\\-]+)', md)</code></p>\n<p>Testing if the file exists was a good validator. I found a few issues with my regular expression and a couple of badly formatted blog posts that failed and was able to fix the formatting before importing. Also, since I only needed to run this once for some of the issues it was easier to fix the JSON Feed source instead of coding around it.</p>\n<h3 id=\"import\">Import!</h3>\n<p>With all posts successfully converting via Pandoc, and all images matching on the file system, I ran the script with a polite <code>sleep(2)</code> wait in the loop to make things easier for micro.blog servers and it all worked like a charm. Imported over 1,600 posts and 800MB of images.</p>\n<p>I still have broken links internally. I don&rsquo;t think there would be any way for me to fix internal links between posts because everything is changing for those, but I&rsquo;ll use <a href=\"https://peacockmedia.software/mac/integrity/free.html\">Integrity</a> to scan for broken internal links and fix them manually.</p>\n",
        "date_published": "2020-05-02T08:43:07-05:00",
        "url": "https://www.thingelstad.com/2020/05/02/importing-jekyll-site.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/04/25/it-turns-out.html",
        
        "content_html": "<p>It turns out micro.blog is a pretty excellent <a href=\"https://en.wikipedia.org/wiki/Liveblogging\">live blogging</a> solution. If you use the website you can append repeatedly to a post and just hit publish whenever you want to update. Open another tab for uploading photos and you can do that as well. The post is updated within a few seconds of hitting update. 💭</p>\n<p>I wonder if you could pop a little Javascript into the post to automatically reload the post page every couple of minutes. 🤔</p>\n",
        "date_published": "2020-04-25T10:29:25-05:00",
        "url": "https://www.thingelstad.com/2020/04/25/it-turns-out.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/04/18/suggestions-for-importing.html",
        "title": "Suggestions for importing Jekyll blog to micro.blog?",
        "content_html": "<p>Micro.blog community: I need to migrate about 8,000 blog posts from a Jekyll site to micro.blog. Does anyone have suggestions or pointers to existing tools?</p>\n<p>At first glance I thought I would write a Python script to recurse the <code>_posts</code> directory and hit micro.blog&rsquo;s API creating each post. However, I have Jekyll tags in those markdown files that will cause serious challenges. Now I&rsquo;m thinking I should use Jekyll to publish the site and then use the RSS or even a custom file, perhaps JSONFeed, to then import into micro.blog? Then I can make Jekyll do the hardest work for me.</p>\n<p>Anyone done this and can recommend an approach? This seems to be similar to the method <a href=\"https://manton.org\">Manton Reece</a> used when <a href=\"https://www.manton.org/2018/11/12/timetable-migrated-to.html\">importing his podcast</a>.</p>\n",
        "date_published": "2020-04-18T06:23:53-05:00",
        "url": "https://www.thingelstad.com/2020/04/18/suggestions-for-importing.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/02/24/mimi-uploader-may.html",
        
        "content_html": "<p><a href=\"https://apps.apple.com/us/app/mimi-uploader/id1484555696\">Mimi Uploader</a> may fundamentally change how I use micro.blog. It makes it much more compelling for longer blog posts.</p>\n",
        "date_published": "2020-02-24T20:51:05-05:00",
        "url": "https://www.thingelstad.com/2020/02/24/mimi-uploader-may.html",
        "tags": ["Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/01/16/just-queued-up.html",
        
        "content_html": "<p>Just queued up the first issue of my <a href=\"https://buttondown.email/jthingelstad\">Weekly Thing</a> newsletter that will go out via Buttondown! I&rsquo;m very excited about the improvements I made over my winter break! I think it&rsquo;s well worth subscribing too! 😎</p>\n",
        "date_published": "2020-01-16T22:53:37-05:00",
        "url": "https://www.thingelstad.com/2020/01/16/just-queued-up.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2019/12/13/just-scheduled-the.html",
        
        "content_html": "<p>Just scheduled the final <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> of 2019 to go out tomorrow! Taking a break until mid-January. 👍</p>\n",
        "date_published": "2019-12-14T00:23:53-05:00",
        "url": "https://www.thingelstad.com/2019/12/13/just-scheduled-the.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2019/11/10/missing-james-whatleys.html",
        
        "content_html": "<p>Missing James Whatley&rsquo;s <a href=\"https://fivethingsonfriday.substack.com\">Five Things on Friday</a> during its “<a href=\"https://twitter.com/Whatleydude/status/1191395007573434370\">odd hiatus</a>” — looking forward to the return.</p>\n",
        "date_published": "2019-11-10T09:15:06-05:00",
        "url": "https://www.thingelstad.com/2019/11/10/missing-james-whatleys.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2019/08/16/weekly-thing-comes.html",
        
        "content_html": "<p><a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> comes back from summer break tomorrow morning! 😎</p>\n",
        "date_published": "2019-08-16T20:29:42-05:00",
        "url": "https://www.thingelstad.com/2019/08/16/weekly-thing-comes.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/04/21/automatic-git-pushes.html",
        "title": "Automatic Git Pushes with Gitwatch",
        "content_html": "<p>I&rsquo;ve been using <a href=\"https://blot.im/\">blot.im</a> to publish my websites for a while. Originally Blot only used Dropbox to manage content for your website, but it now supports <code>git</code> and that is my preference. One of the things I haven&rsquo;t liked though is having to do git commands all the time as I do things on my blog. Then I found <a href=\"https://github.com/gitwatch/gitwatch\">gitwatch</a> and it is perfect for this use case.</p>\n<p>Gitwatch watches a folder and anytime something changes it automatically commits it and optional pushes it to a remote. Using gitwatch I can set it running in the background and then do whatever I want with my website and it updates automatically in the background. Pretty great!</p>\n",
        "date_published": "2019-06-29T22:25:00-05:00",
        "url": "https://www.thingelstad.com/2020/04/21/automatic-git-pushes.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2019/05/24/nice-spot-to.html",
        
        "content_html": "<p>Nice spot to get tomorrow’s <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> ready! 😊</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2019/f22cfc37a8.jpg\" width=\"600\" height=\"450\" alt=\"MacBook Air and a can of IPA on a picnic table beside a calm lake at dusk, with a small tent on the grass behind.\" />\n",
        "date_published": "2019-05-24T20:53:45-05:00",
        "url": "https://www.thingelstad.com/2019/05/24/nice-spot-to.html",
        "tags": ["Weekly Thing","Blogging","Cabin"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/04/21/jsonfeed-on-blot.html",
        "title": "JSONFeed on Blot",
        "content_html": "<p>I&rsquo;ve been enjoying <a href=\"https://blot.im/\">Blot</a> a lot. I&rsquo;ve enjoyed its approach to blogging. There is plenty of power there, and it’s dead simple to add new content. I&rsquo;ve now moved most of my websites to Blot, and it supports <a href=\"https://en.wikipedia.org/wiki/RSS\">RSS</a> automatically, but I also wanted to support <a href=\"https://jsonfeed.org\">JSONFeed</a>. When I tried to set that up I could not make it work. I hit a brick wall 🧱 with the <a href=\"http://mustache.github.io\">Mustache templates</a> that Blot provides, with no ability to safely encode HTML into JSON. I sent an email to David who runs Blot. He replied right away that he was going to add something to make this work. He sent  me an email today to let me know he added a <code>{{#encodeJSON}}</code>  capability. I plugged it into my view and it worked like a charm.</p>\n<p>I&rsquo;ve spent a bit of time making sure this template works as it should and I think I got it. If you would like to add support for JSONFeed to your Blot site, you can create a new view in a custom template, I used the name <code>jsonfeed.json</code>. Beware that you cannot use the same basename for two different views, so you cannot make <code>feed.xml</code> and <code>feed.json</code> for no good reason. For now, use a different name.</p>\n<pre tabindex=\"0\"><code>{ {{! First build the header for the feed. }}\n  &#34;version&#34;: &#34;[jsonfeed.org/version/1](https://jsonfeed.org/version/1)&#34;,\n  &#34;title&#34;: &#34;{{#encodeJSON}}{{{title}}}{{/encodeJSON}}&#34;,\n  &#34;description&#34;: &#34;{{#encodeJSON}}Feed for {{{title}}}{{/encodeJSON}}&#34;,\n  &#34;home_page_url&#34;: &#34;{{{blogURL}}}&#34;,\n  &#34;feed_url&#34;: &#34;{{{blogURL}}}/jsonfeed.json&#34;,\n  &#34;items&#34;: [\n    {{#recentEntries}}\n    { {{! Now create an entry for each post }}\n      &#34;id&#34;: &#34;{{{blogURL}}}{{{url}}}&#34;,\n      &#34;title&#34;: &#34;{{#encodeJSON}}{{{title}}}{{/encodeJSON}}&#34;,\n      {{#summary}}&#34;summary&#34;: &#34;{{#encodeJSON}}{{{summary}}}{{/encodeJSON}}&#34;,{{/summary}}\n      {{#thumbnail.large.url}}&#34;image&#34;: &#34;{{{blogURL}}}{{{thumbnail.large.url}}}&#34;,{{/thumbnail.large.url}}\n      &#34;content_html&#34;: &#34;{{#encodeJSON}}{{#absoluteURLs}}{{{body}}}{{/absoluteURLs}}{{/encodeJSON}}&#34;,\n      &#34;date_published&#34;: &#34;{{#formatDate}}YYYY-MM-DDTHH:mm:ssZ{{/formatDate}}&#34;,\n      {{#metadata.externalurl}}&#34;external_url&#34;: &#34;{{{metadata.externalurl}}}&#34;,{{/metadata.externalurl}}\n      &#34;url&#34;: &#34;{{{blogURL}}}{{{url}}}&#34;\n    }{{^last}},{{/last}}\n    {{/recentEntries}}\n  ]\n}\n</code></pre><p>Once I got this setup <a href=\"https://feedbin.com\">Feedbin</a>, which supports JSONFeed, was able to once again see my feeds and pulled in new content right away. It works great! Thanks to David for such a great service as Blot, and for adding this capability to support JSONFeed! 👏</p>\n",
        "date_published": "2019-02-05T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2020/04/21/jsonfeed-on-blot.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2019/01/23/just-signed-up.html",
        
        "content_html": "<p>Just signed up for a <strong>4th site</strong> on <a href=\"https://blot.im\">Blot</a>. This one will be to finally get a decent site for my Book Club.</p>\n",
        "date_published": "2019-01-23T00:15:07-05:00",
        "url": "https://www.thingelstad.com/2019/01/22/just-signed-up.html",
        "tags": ["Blogging","Books","RW Book Club"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2019/01/19/quiet-friday-night.html",
        
        "content_html": "<p>Quiet Friday night putting together tomorrows issue of the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>. 👨‍💻</p>\n",
        "date_published": "2019-01-18T21:56:52-05:00",
        "url": "https://www.thingelstad.com/2019/01/18/quiet-friday-night.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2019/01/02/well-ive-now.html",
        
        "content_html": "<p>I&rsquo;ve now created <strong>three</strong> blogs on <a href=\"https://blot.im\">Blot</a> and am enjoying it a lot. I&rsquo;ve got a &ldquo;good enough&rdquo; version of my <a href=\"https://www.thingelstad.com/projects/link-blog\">link blog</a> running there, and just dumped my photo blog in but it needs cleanup.</p>\n",
        "date_published": "2019-01-01T22:19:00-05:00",
        "url": "https://www.thingelstad.com/2019/01/01/well-ive-now.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2018/12/30/ive-been-throwing.html",
        
        "content_html": "<p>I’ve been throwing a bunch of content at <a href=\"https://blot.im\">Blot</a> and have been very impressed. Speed is okay even with 10,000 posts. There is a lot more capability in Blot than I thought! 🧐</p>\n",
        "date_published": "2018-12-30T16:00:24-05:00",
        "url": "https://www.thingelstad.com/2018/12/30/ive-been-throwing.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2020/04/21/maybe-blot.html",
        "title": "Maybe Blot?",
        "content_html": "<p>There is a bit of a trend on micro.blog to use Blot for longer form blog hosting. I&rsquo;ve not dug in too deeply largely because it seemed to put Dropbox in the middle of everything, and my initial impression was that it would be a bit too simplistic. Blot has added <code>git</code> support as an option outside of Dropbox, and I really like how they did it. Your Blot site is a Git repo by itself, so there is no dependency on GitHub. If you add an iOS app like <a href=\"https://workingcopyapp.com\">Working Copy</a> to the mix you can have robust editing on mobile as well. My other concern about being overly simple is just good user experience. There is a lot of power where you need it, but you don&rsquo;t have to dig through it all to get the basics.</p>\n<p>I&rsquo;m going to give this a go as well. For some of my sites, particularly my photography one, I think this might be a very good fit.</p>\n",
        "date_published": "2018-12-30T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2020/04/21/maybe-blot.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2018/12/30/macro-blog.html",
        "title": "Macro Blog?",
        "content_html": "<p>I&rsquo;ve had a hard time finding a blog platform that I really enjoy. I tired a long time ago of the WordPress ecosystem. It is a big and vibrant space, but it&rsquo;s too clunky and now the new Gutenberg changes are causing a huge uproar. A couple of years ago I moved all my content into Markdown and setup Jekyll. I first used GitHub Pages to host it, but then moved it to Netlify so I could have solid SSL. I value the benefits of static sites. But, authoring content in them takes significantly more effort. I miss simply opening up my browser and typing! Having to do git commands and such is just enough friction to cause me to publish much less.</p>\n<p>I&rsquo;ve been very happy with the continued development of micro.blog though, and a bit inspired by <a href=\"https://www.manton.org\">Manton Reece&rsquo;s</a> site where he has brought all of his blog content into one place. Why not use micro.blog for longer content? 🤷</p>\n",
        "date_published": "2018-12-29T20:35:00-05:00",
        "url": "https://www.thingelstad.com/2018/12/29/macro-blog.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2018/12/16/early-christmas-today.html",
        
        "content_html": "<p>Early Christmas today – <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> pen! 👍🏻</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2018/c22c5850cf.jpg\" width=\"600\" height=\"600\" alt=\"Black pen with Weekly Thing logo held up in front of a decorated Christmas tree surrounded by unwrapped gifts\" />\n",
        "date_published": "2018-12-16T14:24:55-05:00",
        "url": "https://www.thingelstad.com/2018/12/16/early-christmas-today.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2018/12/09/im-fixing-my.html",
        
        "content_html": "<p>I am &ldquo;fixing&rdquo; my Twitter import into micro.blog and needed to get rid of hundreds of those tweets, now imported as posts.</p>\n<p><strong>Pro Tip:</strong> You can use MarsEdit and set the number of posts to get to &ldquo;9,999&rdquo; and select any number of posts to delete in bulk.</p>\n",
        "date_published": "2018-12-09T17:46:37-05:00",
        "url": "https://www.thingelstad.com/2018/12/09/im-fixing-my.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2018/11/13/im-finding-myself.html",
        
        "content_html": "<p>I&rsquo;m finding myself frustrated with pure static hosting. It adds too much friction to publishing. I&rsquo;m intrigued by <a href=\"https://statamic.com\">Statamic</a> as a &lsquo;best of both worlds&rsquo; option. If people have experience with it, I&rsquo;d love to hear those.</p>\n",
        "date_published": "2018-11-12T20:54:16-05:00",
        "url": "https://www.thingelstad.com/2018/11/12/im-finding-myself.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2018/09/08/another-great-five.html",
        
        "content_html": "<p>Another great <a href=\"https://us8.campaign-archive.com/?u=a84512488c22cce34b03cbcaa&amp;id=fa4fb0ec9b\">Five Things on Friday #266</a> from James Whatley – one of my <a href=\"https://www.thingelstad.com/lists/newsletters\">favorite newsletters</a>. 👏</p>\n",
        "date_published": "2018-09-08T08:34:13-05:00",
        "url": "https://www.thingelstad.com/2018/09/08/another-great-five.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2018/03/17/why-mailchimp-for.html",
        "title": "Why MailChimp for Weekly Thing",
        "content_html": "<p>I&rsquo;ve now completed the migration and automation of the <a href=\"https://weekly.thingelstad.com\">Weekly\nThing</a> using\n<a href=\"https://mailchimp.com\">MailChimp</a>, and I&rsquo;m very happy with how it has\nall worked out. Newsletters are experiencing a renaissance, so let me\nshare why I moved from <a href=\"https://tinyletter.com\">TinyLetter</a> to\nMailChimp.</p>\n<p>Be aware that TinyLetter was purchased by MailChimp. I don&rsquo;t expect\nTinyLetter to get shut down, but I also don&rsquo;t expect it to get any\nsignificant attention. TinyLetter is purpose-built for <em>personal</em>\nnewsletters and ease-of-use. It is very easy to use, as promised, but it\nlacks power features that I knew I would want.</p>\n<p>My move to MailChimp was driven by a few things:</p>\n<ol>\n<li>I wanted to customize the template for my newsletter. I make\nfrequent use of block quotes and TinyLetter didn&rsquo;t deal with those,\nneither did the standard MailChimp templates. TinyLetter doesn&rsquo;t\nallow you to change the template, so I knew I would need to use\nsomething more powerful, and at some point I would need to author my\nown template. This a pain because dealing with HTML in email is\nreally gross.</li>\n<li>I wanted to automate the process of creating the newsletter. I use\n<a href=\"https://workflow.is\">Workflow</a> to build the sections of the Weekly\nThing. I also can use Workflow to access the <a href=\"https://developer.mailchimp.com\">MailChimp\nAPI</a> to create my campaign, upload\npictures and send the HTML of the newsletter. This saves me\nsignificant time each week.</li>\n<li>I knew that the advanced segmentation features of MailChimp may come\nin handy at some point. I haven&rsquo;t used them yet, but it&rsquo;s nice to\nknow I can reach out to a subset of subscribers if I want.</li>\n</ol>\n<p>MailChimp gives significantly more freedom and control, but it comes at\nthe expense of additional complexity. When I first moved from TinyLetter\nto MailChimp, the time it took me to generate the Weekly Thing doubled\nor worse. I also had to use a laptop, since some of the tools wouldn&rsquo;t\nwork on my iPhone. Now that I&rsquo;ve gotten my workflows updated, I can\ngenerate the newsletter faster than ever before, and once again I can do\nit all on my iPhone.</p>\n",
        "date_published": "2018-03-17T14:36:26-05:00",
        "url": "https://www.thingelstad.com/2018/03/17/why-mailchimp-for.html",
        "tags": ["Weekly Thing","Productivity","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2018/02/24/forestryiohttpsforestryio-is-working.html",
        
        "content_html": "<p><a href=\"https://forestry.io\">Forestry.io</a> is working <strong>great</strong> for me. Removes the friction from static blogging. 👍🏻</p>\n",
        "date_published": "2018-02-24T18:23:54-05:00",
        "url": "https://www.thingelstad.com/2018/02/24/forestryiohttpsforestryio-is-working.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2018/02/22/weekly-thing-enhancements.html",
        "title": "Weekly Thing Enhancements",
        "content_html": "<p>This weekend I made some significant improvements to the automation and\ntemplate for the <a href=\"https://weekly.thingelstad.com/\">Weekly Thing</a>. I&rsquo;ve\nalways had reservations about the template I was using since moving to\nMailChimp. It just didn&rsquo;t fit me, and even more frustrating I didn&rsquo;t\nhave any ways to make simple changes to the styling. I use quotes\nextensively in the Weekly Thing, and it wasn&rsquo;t possible to get those\nquickly styled.</p>\n<p>I got a lot done over the weekend to make this better.</p>\n<h3 id=\"template\">Template</h3>\n<p>I used a very <a href=\"https://www.sitepoint.com/accentuate-message-clean-simple-mailchimp-template/\">basic HTML\ntemplate</a>\nand extended it as I need it. I wanted it simple and didn&rsquo;t want a lot\nof decoration. I like how it ended up.</p>\n<p>You will notice that quotes look significantly better in the links\nsection, with indentation and a left border. I&rsquo;ve also added the\nhostname of the link, so you know what site you are going to go to if\nyou click on that link, something I appreciate before I click on a link.</p>\n<h3 id=\"automation\">Automation</h3>\n<p>My automation is now complete again. I figured out the MailChimp API&rsquo;s\nand my workflows now format all the content for me and then create the\ncampaign in MailChimp, set the body content and I even got the photo\nuploaded with the API.</p>\n<p>Now I can once again publish entirely on my iPhone if I want to.</p>\n<h3 id=\"microblog\">Microblog</h3>\n<p>While I was working on the template and the automation, I decided to\nmake the microblog section better. I&rsquo;ve never liked having those posts\nbe a list of links. Often the only content is the text itself, and it\nfeels disappointing to click on a link to get nothing new. But sometimes\nthere was a photo there, so people did.</p>\n<p>Microblogs are now directly in line with the Weekly Thing. You no longer\nneed to click out to see an image, and you don&rsquo;t get disappointed by\nclicking on a status post to only see a web page with nothing more than\nthe status you already read.</p>\n<p>Thank you for the time, and I would appreciate any feedback you have. 🙏\nI finally feel like I can change this with some confidence and make\ncontinual improvements.</p>\n",
        "date_published": "2018-02-22T22:45:25-05:00",
        "url": "https://www.thingelstad.com/2018/02/22/weekly-thing-enhancements.html",
        "tags": ["Weekly Thing","Productivity","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2018/02/19/went-down-a.html",
        
        "content_html": "<p>Went down a rabbit hole 🕳 automating MailChimp for the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>. Wrestled control on my template.</p>\n",
        "date_published": "2018-02-18T19:05:39-05:00",
        "url": "https://www.thingelstad.com/2018/02/18/went-down-a.html",
        "tags": ["Weekly Thing","Productivity","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2018/02/03/forestryio.html",
        "title": "Forestry.io",
        "content_html": "<p>I have been happy having my blog hosted in Jekyll and built as a static\nsite with <a href=\"https://www.netlify.com\">Netlify</a>. There is a wonderful calm\nto knowing you just have a bunch of HTML pages. It&rsquo;s light and airy.\nBut, and this is a big one, I&rsquo;ve found authoring to be simply too hard.\nWriting using a source code workflow adds too much friction.</p>\n<p>Tonight I&rsquo;m trying out <a href=\"https://forestry.io\">Forestry.io</a> and I&rsquo;m very\nimpressed. 👍 There are a number of content management tools for static\nsites, but I&rsquo;ve found most of them fail immediately since I have more\nthan 1,700 blog posts and I put them in <code>:year:</code>\nfolders inside of <code>_posts</code> and that simple part\ncauses most of them to fail. Similar issues exist with where you host\nimages. I was very happy to see that Forestry.io worked right out of the\nbox with that. It even built nice front matter templates based on the\ncontent it found inside of my site!</p>\n<p>I&rsquo;m putting this post together to share how impressed I am, and also as\na test of the posting interface. If you are using\n<a href=\"https://jekyllrb.com\">Jekyll</a> or <a href=\"https://gohugo.io\">Hugo</a> I would\nhighly recommend you look at Forestry.io!</p>\n",
        "date_published": "2018-02-03T23:43:00-05:00",
        "url": "https://www.thingelstad.com/2018/02/03/forestryio.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2018/01/20/this-done-in.html",
        
        "content_html": "<p><a href=\"https://jekyllrb.com\">Jekyll</a> is just too slow to be a viable option, to process my blog I get &ldquo;done in 60.411 seconds&rdquo;.</p>\n",
        "date_published": "2018-01-20T16:34:49-05:00",
        "url": "https://www.thingelstad.com/2018/01/20/this-done-in.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/12/29/static-site-generators.html",
        
        "content_html": "<p>Static site generators are great in so many ways, but the friction in publishing with them is horrible.</p>\n",
        "date_published": "2017-12-29T13:27:54-05:00",
        "url": "https://www.thingelstad.com/2017/12/29/static-site-generators.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/12/20/really-happy-to.html",
        
        "content_html": "<p>Really happy to see <a href=\"http://www.manton.org/2017/12/major-update-to-micro-blog-today.html\">micro.blog public release</a> today! I&rsquo;ve been enjoying micro.blog since the first day of the Kickstarter launch (this is my 574th post!). Amazing work by <a href=\"https://manton.org\">Manton Reece</a>! 👏</p>\n",
        "date_published": "2017-12-19T21:42:01-05:00",
        "url": "https://www.thingelstad.com/2017/12/19/really-happy-to.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/12/09/friday-night-and.html",
        
        "content_html": "<p>Friday night and I&rsquo;m drafting up tomorrows edition of the <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a>! Sign up now to get one tomorrow morning. 😁</p>\n",
        "date_published": "2017-12-08T22:56:19-05:00",
        "url": "https://www.thingelstad.com/2017/12/08/friday-night-and.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/11/28/104939.html",
        
        "content_html": "<p>Join me in supporting the Electronic Frontier Foundation in their <a href=\"https://supporters.eff.org/donate/power-2017-c\">2017 fundraising campaign</a> with matching challenge grant!</p>\n<p>I ❤️ Creative Commons! I&rsquo;m a proud donor of CC. Join me in building a vibrant global commons - <a href=\"https://creativecommons.org/donate/\">donate now</a>!</p>\n<p>Happy to support Let&rsquo;s Encrypt on it&rsquo;s mission to provide free SSL for anyone! <a href=\"https://letsencrypt.org/donate/\">Donate!</a></p>\n<p>I just donated to Internet Archive. Support free access to knowledge! <a href=\"https://archive.org/donate\">Donate!</a></p>\n",
        "date_published": "2017-11-28T11:49:39-05:00",
        "url": "https://www.thingelstad.com/2017/11/28/104939.html",
        "tags": ["Blogging","Giving"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/11/11/145246.html",
        
        "content_html": "<p>Hugo just generated 8,173 pages in 2.4 seconds. Jekyll takes around 500 seconds to do similar. Whoa. 🤯</p>\n<p><a href=\"https://gohugo.io\">Hugo</a> seems like it would be superior for my website needs in every way. May need to dig in and make it happen.</p>\n<p>After putting more complicated theme in Hugo takes 5.2 sec for 9,970 pages. Still a speed demon.</p>\n",
        "date_published": "2017-11-11T15:52:46-05:00",
        "url": "https://www.thingelstad.com/2017/11/11/145246.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/11/08/i-created-an.html",
        
        "content_html": "<p>I created an easy to share landing page for people to sign up to my <a href=\"https://weekly.thingelstad.com\">Weekly Thing</a> newsletter! 👍</p>\n",
        "date_published": "2017-11-07T20:31:43-05:00",
        "url": "https://www.thingelstad.com/2017/11/07/i-created-an.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/11/07/dave-pells-nextdrafthttpsnextdraftcom.html",
        
        "content_html": "<p>Dave Pell&rsquo;s <a href=\"https://nextdraft.com\">NextDraft</a> has become a true daily read for me, top to bottom. Recommended! 👍⭐️</p>\n",
        "date_published": "2017-11-06T19:07:16-05:00",
        "url": "https://www.thingelstad.com/2017/11/06/dave-pells-nextdrafthttpsnextdraftcom.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/11/04/got-workflow-working.html",
        
        "content_html": "<p>Got <a href=\"https://workflow.is\">Workflow</a> working with the Mailchimp API. <a href=\"https://weekly.thingelstad.com/\">Weekly Thing</a> automation leveling up! 👍🏻</p>\n<p>My biggest ask for <a href=\"https://workflow.is\">Workflow</a> is to put groups of workflows in folders. 🤞🏻</p>\n",
        "date_published": "2017-11-04T21:07:13-05:00",
        "url": "https://www.thingelstad.com/2017/11/04/got-workflow-working.html",
        "tags": ["Weekly Thing","Productivity","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/10/30/managing-years-of.html",
        "title": "Managing 15 years of blog content",
        "content_html": "<p>Moving 15 years of blog content to Jekyll and Markdown files is surprisingly difficult. My blog first ran on .Text, then WordPress, then Squarespace. Each step along the way was a full migration. No content lost.</p>\n<p>Now I’m in Jekyll and trying to get links working and validated in posts. And the media files, oh what a mess. 😫 Progress is made but it is slow and even with extensive scripting skills there is still much to do manually. It feels like I’ll be in a good spot when done, but it’s a lot more than I planned.</p>\n",
        "date_published": "2017-10-29T22:50:41-05:00",
        "url": "https://www.thingelstad.com/2017/10/29/managing-years-of.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/10/27/some-scripting-magic.html",
        
        "content_html": "<p>Some scripting magic and I&rsquo;ve finally resolved the missing images from most of my <a href=\"https://www.thingelstad.com/archive/\">blog archive</a>. 👏</p>\n",
        "date_published": "2017-10-26T22:06:00-05:00",
        "url": "https://www.thingelstad.com/2017/10/26/some-scripting-magic.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/10/18/anyone-else-notice.html",
        
        "content_html": "<p>Anyone else notice the macOS micro.blog client lets you to see who other people follow? Big help for discoverability. Thanks <a href=\"https://www.manton.org\">Manton</a>! 👏🏻</p>\n",
        "date_published": "2017-10-17T22:34:00-05:00",
        "url": "https://www.thingelstad.com/2017/10/17/anyone-else-notice.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/10/17/ive-posted-more.html",
        
        "content_html": "<p>I&rsquo;ve posted more than <em>most</em> users on micro.blog&rsquo;s discover tab. Definitely isn&rsquo;t based on post frequency. 🤔</p>\n",
        "date_published": "2017-10-16T21:20:03-05:00",
        "url": "https://www.thingelstad.com/2017/10/16/ive-posted-more.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/10/17/obligatory-post-from.html",
        
        "content_html": "<p>Obligatory post from the freshly released <a href=\"http://help.micro.blog/2017/mac-version/\">micro.blog Mac app</a>! 👏</p>\n",
        "date_published": "2017-10-16T21:09:31-05:00",
        "url": "https://www.thingelstad.com/2017/10/16/obligatory-post-from.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/10/14/033543.html",
        
        "content_html": "<p>Tomorrow&rsquo;s <a href=\"https://weekly.thingelstad.com/\">Weekly Thing</a> will delivered from MailChimp instead of TinyLetter! 🤞 Hoping for the best!</p>\n",
        "date_published": "2017-10-13T22:35:43-05:00",
        "url": "https://www.thingelstad.com/2017/10/13/033543.html",
        "tags": ["Weekly Thing","Productivity","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/09/16/microblog-now-with.html",
        "title": "Micro.blog now with titles for long updates",
        "content_html": "<p>I got the new micro.blog iOS app and I really dig how <a href=\"https://manton.org\">Manton Reece</a> has implemented subject lines and longer posts in a microblogging platform. The title bar appearing after the body gets to a certain length is a very elegant solution. I still like the idea of having a main blog separate from the fragments on my microblog, but it&rsquo;s great seeing this evolve in interesting ways.</p>\n",
        "date_published": "2017-09-15T21:43:42-05:00",
        "url": "https://www.thingelstad.com/2017/09/15/microblog-now-with.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/08/26/drinking-delicious-coffee.html",
        
        "content_html": "<p>Drinking delicious coffee with the morning breeze editing the <a href=\"https://weekly.thingelstad.com/\">Weekly Thing</a> for this week!</p>\n",
        "date_published": "2017-08-26T07:55:00-05:00",
        "url": "https://www.thingelstad.com/2017/08/26/drinking-delicious-coffee.html",
        "tags": ["Coffee","Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/08/19/would-be-cool.html",
        
        "content_html": "<p>Would be cool if there was a <a href=\"https://indieweb.org/Homebrew_Website_Club\">Homebrew Website Club</a> in Minneapolis… 🤔</p>\n",
        "date_published": "2017-08-18T20:31:57-05:00",
        "url": "https://www.thingelstad.com/2017/08/18/would-be-cool.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/07/03/first-status-from.html",
        
        "content_html": "<p>First status from <a href=\"https://itunes.apple.com/us/app/micro-blog/id1253201335\">Micro.blog</a> now out of TestFlight and in the App Store!</p>\n",
        "date_published": "2017-07-03T13:52:00-05:00",
        "url": "https://www.thingelstad.com/2017/07/03/first-status-from.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/06/27/now-have-over.html",
        
        "content_html": "<p>Now have over 100 subscribers to my <a href=\"https://weekly.thingelstad.com/\">Weekly Thing</a> newsletter! The more the merrier…</p>\n",
        "date_published": "2017-06-26T21:42:22-05:00",
        "url": "https://www.thingelstad.com/2017/06/27/now-have-over.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/06/23/assembling-the-weekly.html",
        "title": "Assembling the Weekly Thing",
        "content_html": "<p>I had been interested in creating a newsletter like the <a href=\"/weekly-thing/\">Weekly Thing</a> for a while but I was worried it would be difficult to do and quickly turn into a chore. I wasn&rsquo;t worried about the email part, I knew a service like <a href=\"https://tinyletter.com\">TinyLetter</a> could deal with that. The daunting part was getting the content structured the right way, even when I the bits of the content were mostly in other systems already.</p>\n<p>I knew the main item I wanted to build it around were links to other sites that I use <a href=\"https://pinboard.in/\">Pinboard</a> to collect. But how to make that easy?</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/2ceeb8a3a8.jpg\" alt=\"Six yellow gradient buttons in a grid showing Workflow app actions: Build Newsletter, Blog, Photo, App, Pins, and Microblog, each with a white icon.\">\n<h3 id=\"workflow-to-the-rescue\">Workflow to the Rescue</h3>\n<p>As I thought about this I tried a number of options. I tried making an <a href=\"https://macosxautomation.com/automator/\">Automator</a> workflow but that was weird, and even worse it meant I had to be on a Mac and I knew I would want to send this when I wasn&rsquo;t near a computer. I started to look at <a href=\"https://workflow.is\">Workflow</a> and realized it might do the trick.</p>\n<p>Workflow has a great feature to retrieve published metadata, such as description and date, from a URL (Get Article from Web Page). Sometimes when I stored URL&rsquo;s I didn&rsquo;t write a description so that would be nice. I pulled the data using Pinboard&rsquo;s RSS feed, put it in a loop getting a variety of data and assembling the draft content as I watched. Voila! 👏</p>\n<p>The entire process that I use to create Weekly Thing is based on <a href=\"https://en.wikipedia.org/wiki/RSS\">RSS</a> (mostly) and tied together with Workflow on iOS. I have a collection of workflows that I run, with one master workflow that kicks everything off. The master workflow is responsible for ordering the sections and setting the cutoff date for content, which in my case is midnight of the relevant Saturday. The master workflow spawns the other workflows for each content section, passing into it the cutoff date for content.</p>\n<p>Each workflow is then free to do whatever it wants as long as it returns a valid block of HTML back to the main workflow. I can chain as many of these modules together in whatever way I wish. Some of them don&rsquo;t use RSS, like the photograph one. That prompts me to look at my photos and pick one, then fills in all the appropriate template text for me to finish off.</p>\n<p>At the end the workflow combines all these blocks of HTML into one fully assembled newsletter and gives me the option to copy it, share it, generate a PDF or anything else I wish. I&rsquo;m very happy with this. From here I put it in TinyLetter, do a final review and hit send!</p>\n<h3 id=\"extensions\">Extensions</h3>\n<p>Since this is extensible, I can easily add new modules by creating another workflow that is then stitched into the assembly process. And because I&rsquo;m using Workflow in iOS, I can access a wide variety of data from different systems. RSS is a basic one that many services support, but Workflow can look at my Calendar, Address Book and many others. I&rsquo;ve thought about weird things like calendar statistics for example. Or if I really wanted to overshare I could pull in recent data from the Health app.</p>\n<p>I&rsquo;ve found that it&rsquo;s easiest to understand Workflow when you see what other people do with it. Perhaps this will turn some lightbulbs on for others on how they could automate use Workflow effectively!</p>\n<p><em>This post is part of the <a href=\"https://www.thingelstad.com/collections/shortcuts/\">Shortcuts Collection</a>.</em></p>\n",
        "date_published": "2017-06-23T21:38:14-05:00",
        "url": "https://www.thingelstad.com/2017/06/23/assembling-the-weekly.html",
        "tags": ["Weekly Thing","Productivity","Blogging","Shortcuts"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/06/16/introducing-the-weekly.html",
        "title": "Introducing the Weekly Thing",
        "content_html": "<p>A while back I tried a way of sharing links to things that I found interesting every week. I did it by making a link blog post and then sharing links to that blog post. I got more positive feedback on those posts than I expected. People really liked them and found value in what I was highlighting.</p>\n<p>But I didn&rsquo;t like the link posts cluttering up my blog. They felt different and I eventually decided to stop doing the posts mostly because I was frustrated with how my website was coming along.</p>\n<h3 id=\"email-newsletters\">Email Newsletters</h3>\n<p>I enjoy a number of weekly newsletters. I subscribe to <a href=\"https://www.macstories.net\">MacStories</a> for the members only <a href=\"https://club.macstories.net/\">Club MacStories</a> newsletter. <a href=\"http://patrickrhone.com\">Patrick Rhone</a>&rsquo;s <a href=\"http://tinyletter.com/patrickrhone/\">One More Thing</a> is a very well written personal newsletter and a treat whenever it comes. Sitting down with an espresso and my iPad to casually read through weekly newsletters is a treat on the weekend.</p>\n<p>Email newsletters are <em>&lsquo;old school&rsquo;</em>. There is something about the medium that feels more personal and more conversational than others. I wanted to try this out, and realized that those old link posts were the right foundation to build upon.</p>\n<p>Next I wanted to see how hard this would be. I quickly looked into <a href=\"https://tinyletter.com\">TinyLetter</a> and realized it would be pretty easy. I like that TinyLetter exists as a way for personal email newsletters. It&rsquo;s very easy to use.</p>\n<h3 id=\"weekly-thing\">Weekly Thing</h3>\n<p>With the basis of my links I decided to put together a newsletter. I went with the somewhat goofy name of the Weekly Thing playing off my last name. Total aside, but I used to own the domain <code>thing.org</code> in the mid 90&rsquo;s. I was at the U of MN at the time and I got an email from <a href=\"http://thing.org\">The Thing</a>, a museum in Germany, asking if they could have the domain. I transferred it to them, seemed the right thing to do. My future as a domain squatter was determined at that time.</p>\n<p>I&rsquo;ve been quietly publishing the Weekly Thing for a few weeks now to an invited group of friends. I&rsquo;ve been testing out my automation and the structure. I&rsquo;m very pleased with how it&rsquo;s working and this week put the <a href=\"https://weekly.thingelstad.com/\">subscribe</a> page live and started sharing it. My first goal is to get to 100 subscribers and continue to flesh out the content. I hope you all enjoy it!</p>\n<p>Go to the <a href=\"https://weekly.thingelstad.com/\">Weekly Thing</a> to subscribe!</p>\n",
        "date_published": "2017-06-16T23:00:00-05:00",
        "url": "https://www.thingelstad.com/2017/06/16/introducing-the-weekly.html",
        "tags": ["Weekly Thing","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/06/10/put-the-archive.html",
        
        "content_html": "<p>Put the archive of the <a href=\"https://www.thingelstad.com/projects/open-loop/\">Open Loop podcast</a> that <a href=\"https://garrickvanburen.com\">Garrick Van Buren</a> and I did in 2012 back online. Fun stuff. Lot&rsquo;s of Kubb. 👍🏻</p>\n",
        "date_published": "2017-06-10T14:17:00-05:00",
        "url": "https://www.thingelstad.com/2017/06/10/put-the-archive.html",
        "tags": ["Kubb","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/06/05/thinking-in-decades.html",
        "title": "Thinking in Decades",
        "content_html": "<p>This week I worked with Yahoo! customer support and deleted my Flickr account. I had deleted my Yahoo! account a couple of months ago when they had their second massive security notice of compromised accounts. When I got a notice letting me know that the Privacy Policy for Flickr was changing in association with the sale to Verizon I wanted to delete my account. I have no interest in Verizon hosting my photos, and frankly I don&rsquo;t use Flickr anymore.</p>\n<p>That was when I realized I had no way to access my Flickr account since the Yahoo! account was used to connect to it. I was happy thought that Yahoo! customer support was quick and made this easy to get done.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/af16ea74b1.png\" alt=\"Flickr 404 Page Not Found error screen on a Mac browser showing a bad link message at www.flickr.com/photos/jthingelstad\">\n<p>My Flickr account is no more now. I created that account probably a decade ago. Long before it ever became part of Yahoo!, back when Flickr was amazing and cool. Looking back this is a good reminder of how long our content lives online. Yet another example of how companies come and go and services come and go. To all of you using Facebook to keep family photos and pictures of your kids, think about this. This is why I feel so strongly about owning my content. It really isn&rsquo;t that hard.</p>\n",
        "date_published": "2017-06-05T21:35:56-05:00",
        "url": "https://www.thingelstad.com/2017/06/05/thinking-in-decades.html",
        "tags": ["Photography","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/05/19/spiffed-up-my.html",
        
        "content_html": "<p>Spiffed up <a href=\"https://www.thingelstad.com/feed.json\">my JSON Feed</a> with <a href=\"https://github.com/thingles/thingles.github.io/blob/master/feed.json\">additional fields</a>. Nice capabilities. See it in <a href=\"http://json-feed-viewer.herokuapp.com/?feed_url=https%3A%2F%2Fwww.thingelstad.com%2Ffeed.json\">JSON Feed Viewer</a></p>\n",
        "date_published": "2017-05-18T20:47:00-05:00",
        "url": "https://www.thingelstad.com/2017/05/19/spiffed-up-my.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/05/18/added-json-feedhttpsjsonfeedorg.html",
        
        "content_html": "<p>Added support for <a href=\"https://jsonfeed.org\">JSON Feed</a> to my blog. 👍</p>\n",
        "date_published": "2017-05-17T19:25:00-05:00",
        "url": "https://www.thingelstad.com/2017/05/18/added-json-feedhttpsjsonfeedorg.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/05/12/outlooks-new-builtin.html",
        
        "content_html": "<p>Outlook&rsquo;s new built-in grammar checking is helping me realize I use the word &ldquo;actually&rdquo; way, way too much. Actually&hellip;</p>\n",
        "date_published": "2017-05-12T15:00:19-05:00",
        "url": "https://www.thingelstad.com/2017/05/12/outlooks-new-builtin.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/05/06/importing-tweets-from.html",
        
        "content_html": "<p>Importing 9,000+ tweets from my Twitter archive into my <a href=\"https://micro.blog\">micro.blog</a> archive.</p>\n",
        "date_published": "2017-05-06T07:04:40-05:00",
        "url": "https://www.thingelstad.com/2017/05/06/importing-tweets-from.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/05/06/if-you-mirror.html",
        
        "content_html": "<p>If you mirror your <a href=\"https://micro.blog\">micro.blog</a> to Github suggest setting the topic to <code>micro-blog</code> so that others can <a href=\"https://github.com/search?q=topic%3Amicro-blog&amp;type=Repositories\">find and compare</a>.</p>\n",
        "date_published": "2017-05-06T06:53:45-05:00",
        "url": "https://www.thingelstad.com/2017/05/06/if-you-mirror.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/04/29/built-in-support.html",
        
        "content_html": "<p>Built in support for Creative Commons licenses versus Copyright notice on micro.blog templates would be nice and would seem very much in the spirit of IndieWeb.</p>\n",
        "date_published": "2017-04-28T21:19:29-05:00",
        "url": "https://www.thingelstad.com/2017/04/29/built-in-support.html",
        "tags": ["Blogging","Privacy \u0026 Security"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/04/28/ive-been-looking.html",
        
        "content_html": "<p>I&rsquo;ve been looking forward to the launch of micro.blog and am <em>excited</em> for it to be here. I&rsquo;ve been growing increasingly concerned about the Twitter ecosystem and strongly believe in owning my own content.</p>\n",
        "date_published": "2017-04-28T13:42:14-05:00",
        "url": "https://www.thingelstad.com/2017/04/28/ive-been-looking.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/02/18/creativity-vampires.html",
        
        "content_html": "<p>I have observed in myself this dynamic of low-effort, low-value\nactivities removing the <em>need</em> to do high-effort, high-value activities.\nThe graph below illustrates what I mean.</p>\n<p><img src=\"https://cdn.uploads.micro.blog/890/2020/3952491954.png\" alt=\"Urge to Write over\nTime\"></p>\n<p>The more I tweet, the less I blog.</p>\n<p>Tweets are easy, simple and fast. They are also low-value, ephemeral and\nsimple. When I tweet I satisfy this urge that I have to write and\nexpress myself. It reminds me of constantly taking the pressure out of a\nsystem.</p>\n<p>The problem with this is that I never build up that urge to express a\nmore complex thing. I find that if I limit these low-value frequent\noutlets, I eventually feel a <em>pressure</em> inside me to create, to express\nmyself. Then I make something that is much more valuable (at least to\nme!) and expresses a complete thought as opposed to a digital belch.\nIt&rsquo;s not even an option to me because I will get a <em>need</em> to do it. That\n<em>need</em> never happens if I&rsquo;m constantly relieving the pressure.</p>\n<p>There is something here related to the concepts in <a href=\"https://en.wikipedia.org/wiki/Amusing_Ourselves_to_Death\">Amusing Ourselves to\nDeath</a>, which\nwas written before the social sharing digital world we are in now, but\ncontinues to be relevant.</p>\n",
        "date_published": "2017-02-18T14:00:00-05:00",
        "url": "https://www.thingelstad.com/2017/02/18/creativity-vampires.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/02/01/hoping-httpstcovygeqzvq-from.html",
        
        "content_html": "<p>Hoping <a href=\"https://www.kickstarter.com/projects/manton/indie-microblogging-owning-your-short-form-writing\">micro.blog</a> from <a href=\"https://www.manton.org\">Manton Reece</a> will come in time to save me from what Twitter is turning into!</p>\n",
        "date_published": "2017-01-31T21:07:00-05:00",
        "url": "https://www.thingelstad.com/2017/01/31/hoping-httpstcovygeqzvq-from.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/01/31/only-more-to.html",
        
        "content_html": "<p>Only $6,217 more to hit the micro.blog stretch goal! If you like microblogging, support this!</p>\n",
        "date_published": "2017-01-30T22:15:29-05:00",
        "url": "https://www.thingelstad.com/2017/01/30/only-more-to.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2017/01/25/043149.html",
        
        "content_html": "<p>I just backed <a href=\"https://www.kickstarter.com/projects/manton/indie-microblogging-owning-your-short-form-writing\">Indie Microblogging: owning your short-form writing</a> on Kickstarter.</p>\n",
        "date_published": "2017-01-24T23:31:49-05:00",
        "url": "https://www.thingelstad.com/2017/01/24/043149.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2016/12/22/accidentally-fell-down.html",
        
        "content_html": "<p>Accidentally fell down the rabbit hole looking at Hugo and am impressed. Cool ability to <a href=\"https://gohugo.io/templates/data-templates/\">call API’s and data files</a>. 🕳🐇</p>\n",
        "date_published": "2016-12-22T07:50:00-05:00",
        "url": "https://www.thingelstad.com/2016/12/22/accidentally-fell-down.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2016/12/04/after-initial-sync.html",
        
        "content_html": "<p>After initial sync challenges am enjoying <a href=\"https://ulysses.app\">Ulysses</a> and how it approaches writing. Wish <a href=\"https://www.grammarly.com\">Grammarly</a> could plug into it.</p>\n",
        "date_published": "2016-12-04T14:07:20-05:00",
        "url": "https://www.thingelstad.com/2016/12/04/after-initial-sync.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2016/12/03/going-allin-with.html",
        
        "content_html": "<p>Going all-in with <a href=\"https://ulysses.app\">Ulysses</a>. Heard great things forever and looks great.</p>\n",
        "date_published": "2016-12-03T08:59:01-05:00",
        "url": "https://www.thingelstad.com/2016/12/03/going-allin-with.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2016/11/29/created-a-fancier.html",
        
        "content_html": "<p>Created a fancier <a href=\"https://www.icloud.com/shortcuts/256ba17271eb4949b8739aadf4ede092\">word count and reading time workflow</a> for <a href=\"http://workflow.is\">Workflow</a>!</p>\n",
        "date_published": "2016-11-29T00:20:00-05:00",
        "url": "https://www.thingelstad.com/2016/11/28/created-a-fancier.html",
        "tags": ["Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2016/11/26/030448.html",
        
        "content_html": "<p>Decided to give <a href=\"https://www.grammarly.com\">Grammarly</a> a try — taking them up on their 1-day subscription sale.</p>\n",
        "date_published": "2016-11-25T22:04:48-05:00",
        "url": "https://www.thingelstad.com/2016/11/25/030448.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2016/10/15/impressed-with-typora.html",
        
        "content_html": "<p>Impressed with <a href=\"https://typora.io\">Typora</a>. If you&rsquo;re writing markdown it’s worth a look.</p>\n",
        "date_published": "2016-10-15T07:44:27-05:00",
        "url": "https://www.thingelstad.com/2016/10/15/impressed-with-typora.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2016/04/26/014943.html",
        
        "content_html": "<p><a href=\"https://www.macsparky.com/blog/2016/4/the-macsparky-mailing-list\">The MacSparky Mailing List</a> ← Cool to see <a href=\"https://www.macsparky.com\">MacSparky</a> starting a mailing list. Just signed up!</p>\n",
        "date_published": "2016-04-25T20:49:43-05:00",
        "url": "https://www.thingelstad.com/2016/04/25/014943.html",
        "tags": ["Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2016/04/21/moved-my-blog.html",
        
        "content_html": "<p>Moved my blog to <a href=\"https://www.squarespace.com\">Squarespace</a>. Need to tweak theme but import went smooth. Let me know if you see problems!</p>\n",
        "date_published": "2016-04-20T19:48:42-05:00",
        "url": "https://www.thingelstad.com/2016/04/20/moved-my-blog.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2015/12/09/003800.html",
        
        "content_html": "<p>Thank you <a href=\"https://wordpress.org\">WordPress</a> for such easy upgrades! Switched my blog to the new Twenty Sixteen theme for WordPress 4.4.</p>\n",
        "date_published": "2015-12-09T01:38:00-05:00",
        "url": "https://www.thingelstad.com/2015/12/09/003800.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2015/11/28/with-a-hattip.html",
        
        "content_html": "<p>With a hat-tip to <a href=\"https://sive.rs\">Derek Sivers</a> put together <a href=\"https://www.thingelstad.com/now\">my own /now page</a>. Related <a href=\"https://nownownow.com\">NowNowNow</a>.</p>\n",
        "date_published": "2015-11-28T17:29:00-05:00",
        "url": "https://www.thingelstad.com/2015/11/28/with-a-hattip.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2015/11/10/happy-customer-of.html",
        
        "content_html": "<p>Happy customer of <a href=\"https://feedbin.com\">Feedbin</a> and happy to see them continuing to grow their service!</p>\n<blockquote class=\"twitter-tweet\"><p lang=\"en\" dir=\"ltr\">Introducing Feedbin Notifier for iPhone, iPad and Apple Watch <a href=\"https://t.co/6QbVlqBE77\">https://t.co/6QbVlqBE77</a> <a href=\"https://t.co/8EAx9pQ0VA\">pic.twitter.com/8EAx9pQ0VA</a></p>&mdash; Feedbin (@feedbin) <a href=\"https://x.com/feedbin/status/663820108465246208?ref_src=twsrc%5Etfw\">November 9, 2015</a></blockquote>\n<script async src=\"https://platform.x.com/widgets.js\" charset=\"utf-8\"></script>\n\n\n",
        "date_published": "2015-11-09T21:13:00-05:00",
        "url": "https://www.thingelstad.com/2015/11/09/happy-customer-of.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2015/09/11/really-not-a.html",
        
        "content_html": "<p>I am not a fan of the desktop-like menu bar in the new iOS version of <a href=\"https://ia.net/writer\">iA Writer</a>. Feels very out of context and distracting.</p>\n",
        "date_published": "2015-09-10T22:07:59-05:00",
        "url": "https://www.thingelstad.com/2015/09/10/really-not-a.html",
        "tags": ["Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2015/09/02/finally-native-support.html",
        
        "content_html": "<p>Finally <a href=\"https://blog.hipchat.com/2015/09/01/bring-all-the-news-to-you-with-rss-facebook-twitter-integrations/\">native support of RSS</a> in HipChat!</p>\n",
        "date_published": "2015-09-02T00:31:06-05:00",
        "url": "https://www.thingelstad.com/2015/09/01/finally-native-support.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2015/08/19/someone-please-make.html",
        
        "content_html": "<p>Someone please make a simple <a href=\"https://wordpress.org\">WordPress</a> theme based on <a href=\"https://edwardtufte.github.io/tufte-css/\">Tufte CSS</a>.</p>\n",
        "date_published": "2015-08-19T07:22:50-05:00",
        "url": "https://www.thingelstad.com/2015/08/19/someone-please-make.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2015/08/19/upgraded-wordpress-super.html",
        
        "content_html": "<p>Upgraded <a href=\"https://wordpress.org\">WordPress</a>. Super easy as always. Unlike some other software. I’m looking at you MediaWiki.</p>\n",
        "date_published": "2015-08-18T21:37:00-05:00",
        "url": "https://www.thingelstad.com/2015/08/18/upgraded-wordpress-super.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2015/04/24/just-upgraded-two.html",
        
        "content_html": "<p>Just upgraded two <a href=\"https://wordpress.org\">WordPress</a> networks, 20+ sites, from the couch on my phone. (MediaWiki, this is the bar)</p>\n",
        "date_published": "2015-04-23T20:55:00-05:00",
        "url": "https://www.thingelstad.com/2015/04/23/just-upgraded-two.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2014/11/22/010000.html",
        "title": "Supporting the Open Internet",
        "content_html": "<blockquote>\n<p>&ldquo;It&rsquo;s only an illusion that the Internet appears to be open&hellip;&rdquo; — <a href=\"http://scripting.com/\">Dave Winer</a></p>\n</blockquote>\n<p>As we approach the end-of-the-year many of us start thinking about charitable donations. There are many, many great causes out there that deserve our support. I think it is <em>critical</em> that we consider supporting the digital future that we want as part of our giving. There is nothing fundamental about the Internet that insures free and open speech will occur. In fact, the Internet if left to the wrong interests can be the most monitored, tracked and near totalitarian environment we have ever seen. If you are curious to read more on this, I highly recommend <a href=\"https://bookshop.org/books/the-master-switch-the-rise-and-fall-of-information-empires/9780307390998\">The Master Switch by Tim Wu</a>. Great book.</p>\n<p>We know that the Internet will continue to be a growing part of our lives. There are organizations that are working hard to make sure the Internet is the kind of place I want in my life. If the Internet is just Facebook tracking cookies and advertisements like a mall, <strong>we have failed</strong>. Supporting these organizations is one way to help this cause!</p>\n<h3 id=\"electronic-frontier-foundation\"><a href=\"https://www.eff.org\">Electronic Frontier Foundation</a></h3>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/a609a5fc87.png\" alt=\"EFF logo with a bold black letter E and two white letter Fs on a red circle\" style=\"max-width: 200px; \" />\n<p>The EFF was founded in 1990 and has been the champion of digital rights since. In many ways I think of the EFF as the &ldquo;<a href=\"https://www.aclu.org\">ACLU</a> of the Internet&rdquo;. They have both a legal and advocacy organization. They are pushing for the <a href=\"https://www.eff.org/https-everywhere\">expansion of encryption technology</a> online. They support causes like <a href=\"https://openwireless.org\">open and free access to WiFi</a> networks. They continue to help <a href=\"https://www.torproject.org\">Tor</a>.</p>\n<p><strong><a href=\"https://supporters.eff.org/donate\">Donate here</a>!</strong> <a href=\"https://en.wikipedia.org/wiki/Electronic_Frontier_Foundation\">Wikipedia&rsquo;s EFF page</a> is a great background.</p>\n<h3 id=\"creative-commons\"><a href=\"http://creativecommons.org\">Creative Commons</a></h3>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/c6b7c003f2.png\" alt=\"Creative Commons logo with the CC symbol and the words creative commons in bold black text\" style=\"max-width: 200px; \" />\n<p>Creative Commons is all about creating a copyright framework that allows for the sharing of content in a way that content creators want. My blog is creative commons licensed making it easy for people to remix and share the content here. <a href=\"https://en.wikipedia.org/wiki/Lawrence_Lessig\">Larry Lessig</a> is the founder of creative commons and he does a better job than I ever could explaining why Creative Commons, and the commons as a whole, is critical to our culture. You should watch his TED talk on <a href=\"http://www.ted.com/talks/larry_lessig_says_the_law_is_strangling_creativity\">Laws that Choke Creativity</a>.</p>\n<p><strong><a href=\"https://donate.creativecommons.org\">Donate here</a>!</strong> <a href=\"https://en.wikipedia.org/wiki/Creative_Commons\">Wikipedia&rsquo;s page on Creative Commons</a> is a great background.</p>\n<h3 id=\"wikipedia\"><a href=\"http://www.wikipedia.org\">Wikipedia</a></h3>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/3c7818f40a.png\" alt=\"Wikipedia globe logo showing a puzzle-sphere with multilingual characters and the text Wikipedia The Free Encyclopedia below\" style=\"max-width: 200px; \" />\n<p>I often suggest that Wikipedia is the most amazing thing to be born of the Internet. It could never exist in any other way. The depth and quality of content is amazing, but the ethos of it is even more amazing. Wikipedia is run by the <a href=\"https://wikimediafoundation.org/wiki/Home\">Wikimedia Foundation</a> which runs hundreds of other wikis as well. They also open source all of the software behind Wikipedia called MediaWiki. <a href=\"https://www.mediawiki.org/wiki/MediaWiki\">MediaWiki</a> is used by tens of thousands of sites on the Internet to host new and interesting content, including the software that organizations as provocative as <a href=\"http://wikileaks.org\">WikiLeaks</a> use. (My project <a href=\"https://wikiapiary.com/wiki/\">WikiApiary</a> tracks a large percentage of all MediaWiki sites in the world!)</p>\n<p><strong><a href=\"https://donate.wikimedia.org/w/index.php?title=Special:FundraiserLandingPage\">Donate here</a>!</strong> Not surprisingly, <a href=\"https://en.wikipedia.org/wiki/Wikipedia\">Wikipedia&rsquo;s own page on Wikipedia</a> is a great background.</p>\n<h3 id=\"internet-archive\"><a href=\"https://archive.org\">Internet Archive</a></h3>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/f2184fc764.jpg\" alt=\"Internet Archive logo featuring a black Greek temple with four columns and the words INTERNET ARCHIVE\" style=\"max-width: 200px; \" />\n<p>The Internet Archive has been working to archive a growing part of the Internet over time. It is the place where the history of the Internet is being recorded. It is also the place where you can find a huge amount of media that is no longer in copyright. The goal of the Internet Archive I think is often something that we forget about in the digital world. We think that the Internet is permanent, but it&rsquo;s only as permanent as we make it. The Internet Archive gives me hope that hundreds of years from now people will still be able to read the blog post you are reading right now.</p>\n<p><strong><a href=\"https://archive.org/donate/\">Donate here</a>!</strong> The <a href=\"https://en.wikipedia.org/wiki/Internet_Archive\">Wikipedia page on Internet Archive</a> is a great background.</p>\n<p>As an aside, we spend so much time focusing on the billionaires of the Internet behind services like Facebook and Twitter. Think of these names: <a href=\"https://en.wikipedia.org/wiki/Lawrence_Lessig\">Larry Lessig</a>, <a href=\"https://en.wikipedia.org/wiki/John_Gilmore_(activist)\">John Gilmore</a>, <a href=\"https://en.wikipedia.org/wiki/John_Perry_Barlow\">John Perry Barlow</a>, <a href=\"https://en.wikipedia.org/wiki/Mitch_Kapor\">Mitch Kapor</a>, <a href=\"https://en.wikipedia.org/wiki/Richard_Stallman\">Richard Stallman</a>, <a href=\"https://en.wikipedia.org/wiki/Brewster_Kahle\">Brewster Kahle</a>, <a href=\"https://en.wikipedia.org/wiki/Jimmy_Wales\">Jimmy Wales</a> and <a href=\"https://en.wikipedia.org/wiki/Larry_Sanger\">Larry Sanger</a>. These people deserve as much space in our minds.</p>\n",
        "date_published": "2014-11-22T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2014/11/22/010000.html",
        "tags": ["Blogging","Privacy \u0026 Security","Giving"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2014/11/10/social-is-all.html",
        
        "content_html": "<p>Social is all neat and silly, but I still ♥ my RSS reader the most. (I use <a href=\"https://feedbin.com\">Feedbin</a> by the way)</p>\n",
        "date_published": "2014-11-09T21:48:26-05:00",
        "url": "https://www.thingelstad.com/2014/11/09/social-is-all.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2014/11/01/finally-succumbed-to.html",
        
        "content_html": "<p>Finally succumbed to <a href=\"https://wordpress.org\">WordPress</a> Jetpack. It is pretty nice. 😕</p>\n",
        "date_published": "2014-10-31T19:54:00-05:00",
        "url": "https://www.thingelstad.com/2014/10/31/finally-succumbed-to.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2014/05/11/so-impressed-with.html",
        
        "content_html": "<p>So impressed with <a href=\"https://andersnoren.se/about-anders-noren/\">Anders Noren</a> <a href=\"https://andersnoren.se/teman/hemingway-wordpress-theme/\">Hemingway</a> theme. Clean, fast, elegant. Making me like <a href=\"https://wordpress.org\">WordPress</a> again.</p>\n",
        "date_published": "2014-05-10T23:41:00-05:00",
        "url": "https://www.thingelstad.com/2014/05/10/so-impressed-with.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2014/04/11/just-signed-up.html",
        
        "content_html": "<p>Just signed up for a year of <a href=\"https://feedbin.com\">Feedbin</a>. Supports <a href=\"https://www.reederapp.com\">Reeder</a> and <a href=\"https://readkitapp.com\">ReadKit</a>. Happy to pay for a good service!</p>\n",
        "date_published": "2014-04-10T19:35:32-05:00",
        "url": "https://www.thingelstad.com/2014/04/10/just-signed-up.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2014/03/17/i-flopped-httpstcozmirtevd.html",
        
        "content_html": "<p>I flipped <a href=\"https://www.thingelstad.com\">thingelstad.com</a> to using <a href=\"https://blog.getpelican.com\">Pelican</a>. Bit of a mess right now, but is fast and static.</p>\n",
        "date_published": "2014-03-16T22:27:11-05:00",
        "url": "https://www.thingelstad.com/2014/03/16/i-flopped-httpstcozmirtevd.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2014/03/15/there-should-be.html",
        
        "content_html": "<p>Playing with <a href=\"https://blog.getpelican.com\">Pelican</a>:</p>\n<ul>\n<li>There should be a plugin that generates stats and graphs on your articles.</li>\n<li>Getting build warnings is actually really nice. Insures internal links are working.</li>\n</ul>\n",
        "date_published": "2014-03-15T17:10:57-05:00",
        "url": "https://www.thingelstad.com/2014/03/15/there-should-be.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2014/03/13/moving-wordpress-blog.html",
        
        "content_html": "<p>Moving <a href=\"https://wordpress.org\">WordPress</a> blog posts to <a href=\"https://blog.getpelican.com\">Pelican</a> is really easy. Moving your images and media? Not so obvious.</p>\n",
        "date_published": "2014-03-13T06:49:00-05:00",
        "url": "https://www.thingelstad.com/2014/03/13/moving-wordpress-blog.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2013/12/14/seriously-the-new.html",
        
        "content_html": "<p>Seriously, the new <a href=\"https://wordpress.org\">WordPress</a> admin interface is awesome. Fast. Easy. Makes me want to use it more. Well done.</p>\n",
        "date_published": "2013-12-14T17:03:00-05:00",
        "url": "https://www.thingelstad.com/2013/12/14/seriously-the-new.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2013/11/06/latex-continues-to.html",
        
        "content_html": "<p><a href=\"https://www.texpad.com\">Texpad for iOS</a> ← <a href=\"https://www.latex-project.org\">LaTeX</a> continues to intrigue me.</p>\n",
        "date_published": "2013-11-06T07:20:37-05:00",
        "url": "https://www.thingelstad.com/2013/11/06/latex-continues-to.html",
        "tags": ["Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2013/10/18/got-my-internalonly.html",
        
        "content_html": "<p>Got my internal-only #TeamSPS CTO blog going tonight. Yet another use of <a href=\"https://wordpress.org\">WordPress</a>.</p>\n",
        "date_published": "2013-10-17T23:04:00-05:00",
        "url": "https://www.thingelstad.com/2013/10/17/got-my-internalonly.html",
        "tags": ["TeamSPS","Blogging","Work"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2013/08/01/updating-to-wordpress.html",
        
        "content_html": "<p>Updating to <a href=\"https://wordpress.org\">WordPress</a> 3.6. Hope this is smooth. 😊</p>\n",
        "date_published": "2013-08-01T17:12:00-05:00",
        "url": "https://www.thingelstad.com/2013/08/01/updating-to-wordpress.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2013/03/28/i-sure-am.html",
        
        "content_html": "<p>I sure am glad that Google got rid of Google Reader to clear the way for <a href=\"https://www.google.com/shopping/express/about/\">Shopping Express</a>! 😤</p>\n",
        "date_published": "2013-03-28T16:12:09-05:00",
        "url": "https://www.thingelstad.com/2013/03/28/i-sure-am.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2013/03/27/uncomfortable-about-how.html",
        
        "content_html": "<p><a href=\"http://en.wikipedia.org/wiki/Sue_Gardner\">Sue Gardner</a> <a href=\"http://blog.wikimedia.org/2013/03/27/sue-gardner-departure-announcement/\">announced that\nshe is moving on as Executive\nDirector</a>\nof the Wikimedia Foundation today. She highlighted where she wants to\ndirect her energy next:</p>\n<blockquote>\n<p>Increasingly, I&rsquo;m finding myself <strong>uncomfortable about how the\ninternet&rsquo;s developing</strong>, who&rsquo;s influencing its development, and who is\nnot. Last year we at Wikimedia raised an alarm about SOPA/PIPA, and\nnow CISPA is back. Wikipedia has experienced censorship at the hands\nof industry groups and governments, and we are &ndash;increasingly, I\nthink&ndash; seeing important decisions made by unaccountable,\nnon-transparent corporate players, a shift from the open web to mobile\nwalled gardens, and a shift from the production-based internet to one\nthat&rsquo;s consumption-based. There are many organizations and individuals\nadvocating for the public interest online &mdash; what&rsquo;s good for ordinary\npeople &mdash; but other interests are more numerous and powerful than\nthey are. I want that to change. And that&rsquo;s what I want to do next.</p>\n</blockquote>\n<p>So much about that mirrors concerns I have as well. My book club read\n<a href=\"https://bookshop.org/books/the-master-switch-the-rise-and-fall-of-information-empires/9780307390998\">The Master\nSwitch</a>\ntwo years ago. After reading that book I realized how real it was that\nthe open Internet we&rsquo;ve come to embrace won&rsquo;t just continue magically.\nIt will need people like <a href=\"http://en.wikipedia.org/wiki/Tim_Wu\">Tim Wu</a>,\nand soon Sue Gardner, fighting to keep it that way.</p>\n",
        "date_published": "2013-03-27T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2013/03/27/uncomfortable-about-how.html",
        "tags": ["Technology","Blogging","Books"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2013/03/14/if-your-replacement.html",
        
        "content_html": "<p>If your replacement for Google Reader is a free iOS app on your phone your probably going to be in the same spot again. I’ve been using <a href=\"https://feedafever.com/\">Fever</a> for 2+ years Google free.</p>\n",
        "date_published": "2013-03-13T19:48:03-05:00",
        "url": "https://www.thingelstad.com/2013/03/13/if-your-replacement.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2013/03/13/google-reader-rip.html",
        "title": "Google Reader RIP; Long Live RSS!",
        "content_html": "<p>Today Google announced that they are <a href=\"http://googlereader.blogspot.com/2013/03/powering-down-google-reader.html\">shutting down Google Reader</a>. People on Twitter are apoplectic about it all. I get to feel a little smug since I decided a couple of years ago that I needed to move away from Google Reader. It was clear that their vision of what Google Reader should be didn&rsquo;t match with what I wanted an RSS Reader to be. I had no interest in it being social and integrated with Google Plus.</p>\n<p>It feels a little rebellious being an active user of an RSS reader these days. It&rsquo;s like we are the Mad Max&rsquo;s of the Internet. We want to get content in our own feeds. We want to actually decide which feeds we want. We aren&rsquo;t interested in the marketing departments bundling of feeds. We even believe that this type of plumbing an openness is key to the health of the web. We are so audacious to think that we deserve feed interfaces to our services. We don&rsquo;t need or even want someone in the middle of our feeds deciding what we think is important. Sadly, we and RSS itself seems to not fit into anyones marketing plans.</p>\n<p><img src=\"https://cdn.uploads.micro.blog/890/2020/84f96dd73a.jpg\" alt=\"Max-Max\"></p>\n<p>I am surprised that Google can glean enough personal information from your email reading that they can afford to store a ridiculous amount of data for you and still make a profitable service offering. It seems that knowing what feeds you read, and which items in those feeds you read the most, must not be worth as much money to them. The <a href=\"https://twitter.com/Pinboard/status/311986894764380162\">five engineers that Google</a> had on this product couldn&rsquo;t have cost that much right?</p>\n<p>I spent a long time trying to figure out what I could use instead of Google Reader. It is (was) a nice service with some great features. I ultimately decided to host my own instance of <a href=\"http://feedafever.com\">Fever</a> and I&rsquo;ve been really happy with it. It does require that you run your own server, but it&rsquo;s the only solution that has given me the complete confidence that I&rsquo;m in control of something that I feel is as important as  email. <em>(By the way, I don&rsquo;t use Gmail for email. I pay <a href=\"http://www.tuffmail.com\">Tuffmail</a> a monthly fee to host email and they do an amazing job.)</em></p>\n<p>Sadly, the world of RSS readers is battered and beaten. It would be really great if you could just jump to some other product. Readers even have a format for this, <a href=\"http://en.wikipedia.org/wiki/OPML\">OPML</a>, that allows you to move all your feeds from one service to another with a simple export and import. But, you won&rsquo;t be doing that. Why? Because Google systematically removed all economic upside from this segment. There was a day when there were dozens of feed readers. Some hosted, many desktop software. For years these services grew and thrived and then Google entered the market. For free. And it was Google (insert fawning praise of all things Google here). One by one all of these services died. How could they compete?</p>\n<p>To be fair, it wasn&rsquo;t all Google. Google made it economically difficult but many services made terrible product decisions. RSS readers are products that benefit from &ldquo;<a href=\"http://en.wikipedia.org/wiki/KISS_principle\">keep it simple, stupid</a>&rdquo; and many went against that. But I can say without doubt that a lot of people that were looking to enter that space with great ideas sat it out, the entire segment had been neutralized for anyone seeking direct revenue.</p>\n<p>Enough of that. I hate this cycle. And this isn&rsquo;t the first time or last time we will see it.</p>\n<p>If your replacement for Google Reader is another free app you picked up in the App Store, you are going to be here again. <strong>You need to pay for this service.</strong> Either with a direct fee, or by hosting it on your own web server or running your own application on your computer. I don&rsquo;t believe RSS Readers are products that can be offered for free. They use resources, and are complicated. If you agree to pay for this valuable service, you&rsquo;ll make a market for it! If Google couldn&rsquo;t do it for free, do you really think others can? I say no.</p>\n<p>I only know of two solutions for RSS that put you completely in control. One is to use a <a href=\"http://en.wikipedia.org/wiki/Planet_(software)\">planet feed</a> system to build your own aggregation. I&rsquo;m not even going to discuss this because it is ridiculous. The bar is so high to make it work. Purely insane.</p>\n<p>The best solution I found is to run my own instance of Fever. Pay the one time software fee and I run it on my own server. It&rsquo;s not that hard to run, but it requires some basic web server know-how.</p>\n<p><em>I&rsquo;ll make an offer right now. If I have a few friends that are stranded by Google for RSS services, I will happily create a Linode instance just for Fever installs. You buy a license, and I&rsquo;ll set up the instance for you. We could easily run 10-20 Fever installs on a single web server. $5/month? Comment or email if your interested.</em></p>\n<p>I&rsquo;m left wondering if we&rsquo;ve seen a forest fire. The forest was the RSS ecosystem, the fire was Google Reader. It&rsquo;s blazed for years and burned down every tree in the forest. There are some birds flying around, those are the apps that use Google Reader as an API (which nearly all RSS readers built for your phone do, and was never really supported by Google). Now the fire has ended. The land is scorched and barren. Some folks have left, like me. They are running on their own infrastructure. All Mad Max. Maybe some new saplings will sprout in the charred landscape. I&rsquo;m not sure how long that will take.</p>\n",
        "date_published": "2013-03-13T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2013/03/13/google-reader-rip.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2013/03/13/rss-infinity-mirror.html",
        "title": "RSS Infinity Mirror",
        "content_html": "<p>Reading about Google shutting down Google Reader, from <a href=\"http://threads2.scripting.com/2013/march/goodbyeGoogleReader\">the guy that made RSS</a>, using <a href=\"http://feedafever.com\">Fever</a>  on my own server.</p>\n<p><img src=\"https://cdn.uploads.micro.blog/890/2020/79f1e0b5c0.png\" alt=\"rss-infinity-mirror\"></p>\n",
        "date_published": "2013-03-13T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2013/03/13/rss-infinity-mirror.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2012/12/18/donation-to-wikipedia.html",
        
        "content_html": "<p><a href=\"https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_medium=SocialMedia&amp;utm_campaign=C11_SocialMedia&amp;appeal=Appeal-Twitter&amp;utm_source=B11_Twitter&amp;uselang=en\">Donation to Wikipedia</a> done, finishing trifecta of <a href=\"https://www.eff.org\">EFF</a> + <a href=\"https://creativecommons.org\">Creative Commons</a>.</p>\n",
        "date_published": "2012-12-18T14:12:49-05:00",
        "url": "https://www.thingelstad.com/2012/12/18/donation-to-wikipedia.html",
        "tags": ["Blogging","Giving"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2012/12/07/i-guess-google.html",
        
        "content_html": "<p>I guess Google messed up Reader again. I gave up after they forced Google Plus. Using <a href=\"https://feedafever.com/\">Fever</a> and host my own RSS.</p>\n",
        "date_published": "2012-12-07T12:26:04-05:00",
        "url": "https://www.thingelstad.com/2012/12/07/i-guess-google.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2012/12/02/adding-email-mention.html",
        "title": "Adding Email Mention Notification to WordPress P2",
        "content_html": "<p>I&rsquo;m using the P2 theme on a couple of websites, one of them is for the <a href=\"http://team.minnestar.org/\">team minnestar</a> to help coordination and collaboration. P2 supports the ability to use a <a href=\"https://micro.blog/user\">@user</a> notation to mention other users on the site, but it doesn&rsquo;t do anything other than highlight the user. This snippet of PHP added to the bottom of the P2 functions.php will send email notifications on those mentions. This isn&rsquo;t heavily tested but it works well for me.</p>\n<div class=\"highlight\"><pre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"><code class=\"language-php\" data-lang=\"php\"><span style=\"display:flex;\"><span><span style=\"color:#e6db74\">/**\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> * Custom code added to P2 to enable email notifications\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> * when a user is @mentioned in the site.\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> *\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> * Original at [trepmal.com/2011/06/2...](http://trepmal.com/2011/06/24/using-wordpress-multisite-p2-and-more/)\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> * and modified from there.\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> */</span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#a6e22e\">add_action</span>(<span style=\"color:#e6db74\">&#39;publish_post&#39;</span>,<span style=\"color:#e6db74\">&#39;send_email_notification_once&#39;</span>,<span style=\"color:#ae81ff\">9</span>);\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#66d9ef\">function</span> <span style=\"color:#a6e22e\">send_email_notification_once</span>($postID) {\n</span></span><span style=\"display:flex;\"><span>    $post <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">get_post</span>($postID);\n</span></span><span style=\"display:flex;\"><span>    $author <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">get_userdata</span>($post<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">post_author</span>);\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">global</span> $p2;\n</span></span><span style=\"display:flex;\"><span>    $mentions <span style=\"color:#f92672\">=</span> $p2<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">components</span>[<span style=\"color:#e6db74\">&#39;mentions&#39;</span>]<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">find_mentions</span>($post<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">post_content</span>);\n</span></span><span style=\"display:flex;\"><span>    $permalink <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">get_permalink</span>($postID);\n</span></span><span style=\"display:flex;\"><span>    $blog_title <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">get_bloginfo</span>(<span style=\"color:#e6db74\">&#39;name&#39;</span>);\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">foreach</span> ( $mentions <span style=\"color:#66d9ef\">as</span> $match ) {\n</span></span><span style=\"display:flex;\"><span>        $email <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">get_user_by</span>(<span style=\"color:#e6db74\">&#39;slug&#39;</span>,$match)<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">user_email</span>;\n</span></span><span style=\"display:flex;\"><span>        $message <span style=\"color:#f92672\">=</span> <span style=\"color:#e6db74\">&#34;You have been mentioned in this post:</span><span style=\"color:#ae81ff\">\\n</span><span style=\"color:#e6db74\"> </span><span style=\"color:#e6db74\">$permalink</span><span style=\"color:#e6db74\"> \n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\">\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> </span><span style=\"color:#e6db74\">{</span>$post<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">post_content</span><span style=\"color:#e6db74\">}</span><span style=\"color:#e6db74\"> &#34;</span>;\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#a6e22e\">wp_mail</span>($email, <span style=\"color:#e6db74\">&#34;[</span><span style=\"color:#e6db74\">$blog_title</span><span style=\"color:#e6db74\">] You&#39;ve been mentioned by </span><span style=\"color:#e6db74\">{</span>$author<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">display_name</span><span style=\"color:#e6db74\">}</span><span style=\"color:#e6db74\">&#34;</span>, $message);\n</span></span><span style=\"display:flex;\"><span>    }\n</span></span><span style=\"display:flex;\"><span>}\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#a6e22e\">add_action</span>(<span style=\"color:#e6db74\">&#39;comment_post&#39;</span>,<span style=\"color:#e6db74\">&#39;send_email_notification_once_comment&#39;</span>,<span style=\"color:#ae81ff\">9</span>);\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#66d9ef\">function</span> <span style=\"color:#a6e22e\">send_email_notification_once_comment</span>($commentID){\n</span></span><span style=\"display:flex;\"><span>    $comment <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">get_comment</span>($commentID);\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">global</span> $p2;\n</span></span><span style=\"display:flex;\"><span>    $mentions <span style=\"color:#f92672\">=</span> $p2<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">components</span>[<span style=\"color:#e6db74\">&#39;mentions&#39;</span>]<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">find_mentions</span>($comment<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">comment_content</span>);\n</span></span><span style=\"display:flex;\"><span>    $permalink <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">get_permalink</span>($comment<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">comment_post_ID</span>);\n</span></span><span style=\"display:flex;\"><span>    $blog_title <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">get_bloginfo</span>(<span style=\"color:#e6db74\">&#39;name&#39;</span>);\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">foreach</span> ( $mentions <span style=\"color:#66d9ef\">as</span> $match ) {\n</span></span><span style=\"display:flex;\"><span>        $email <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">get_user_by</span>(<span style=\"color:#e6db74\">&#39;slug&#39;</span>,$match)<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">user_email</span>;\n</span></span><span style=\"display:flex;\"><span>        $message <span style=\"color:#f92672\">=</span> <span style=\"color:#e6db74\">&#34;You have been mentioned by </span><span style=\"color:#e6db74\">{</span>$comment<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">comment_author</span><span style=\"color:#e6db74\">}</span><span style=\"color:#e6db74\"> in this comment:</span><span style=\"color:#ae81ff\">\\n</span><span style=\"color:#e6db74\"> </span><span style=\"color:#e6db74\">$permalink</span><span style=\"color:#e6db74\"> \n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\">\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#e6db74\"> </span><span style=\"color:#e6db74\">{</span>$comment<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">comment_content</span><span style=\"color:#e6db74\">}</span><span style=\"color:#e6db74\"> &#34;</span>;\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#a6e22e\">wp_mail</span>($email, <span style=\"color:#e6db74\">&#34;[</span><span style=\"color:#e6db74\">$blog_title</span><span style=\"color:#e6db74\">] You&#39;ve been mentioned in a comment by </span><span style=\"color:#e6db74\">{</span>$comment<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">comment_author</span><span style=\"color:#e6db74\">}</span><span style=\"color:#e6db74\">&#34;</span>, $message);\n</span></span><span style=\"display:flex;\"><span>    }\n</span></span><span style=\"display:flex;\"><span>}\n</span></span></code></pre></div>",
        "date_published": "2012-12-02T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2012/12/02/adding-email-mention.html",
        "tags": ["Minnestar","Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2011/11/03/164036.html",
        
        "content_html": "<p>With all the changes at Google Reader, it may be worth revisiting <a href=\"https://feedafever.com\">Fever</a> again.</p>\n",
        "date_published": "2011-11-03T11:40:00-05:00",
        "url": "https://www.thingelstad.com/2011/11/03/164036.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2011/11/01/maybe-ill-come.html",
        
        "content_html": "<p>Maybe I&rsquo;ll come around, but I&rsquo;m hating on the new Google Reader so far. Shared Items was my favorite thing, and it&rsquo;s just gone.</p>\n",
        "date_published": "2011-10-31T20:43:49-05:00",
        "url": "https://www.thingelstad.com/2011/10/31/maybe-ill-come.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2011/08/30/test-post-for.html",
        "title": "Test Post for RSS Feed",
        "content_html": "<p>I&rsquo;ve seen this problem for a while now where <a href=\"http://www.google.com/reader/\">Google Reader</a> isn&rsquo;t getting my RSS feed for days, and sometimes weeks at a time. I have a theory for why it is happening and this post is a test for me to see if my fix worked.</p>\n<h3 id=\"update\">Update</h3>\n<p>Well, my theory seems to be right. At one point in the past I had setup <a href=\"http://code.google.com/p/pubsubhubbub/\">PubSubHubbub</a> for my <a href=\"http://www.whatisrss.com/\">RSS</a> feed and a while back I uninstalled it. No reason really, just wasn&rsquo;t sure I really needed it. I think that Google Reader had flagged my RSS feed as one that supports PubSubHubbub and decided that it would not poll it in the future and just wait to get notified. When I reinstalled PubSubHubbub and I posted this it appeared in Google Reader in seconds.</p>\n<p>Seems that once you advertise that you support PubSubHubbub you should make sure to continue to support it.</p>\n<h3 id=\"update-2\">Update 2</h3>\n<p>Even the update to this post appeared in Google Reader in seconds. Looks like my RSS feed is back in business.</p>\n",
        "date_published": "2011-08-30T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2011/08/30/test-post-for.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2011/07/05/just-upgraded-wordpress.html",
        
        "content_html": "<p>Just upgraded 8 <a href=\"https://wordpress.org\">WordPress</a> sites to 3.2 in about 5 minutes. Super easy. (Wish MediaWiki was that easy.)</p>\n<p>The Edit Post screen is shockingly nicer, but so similar. Feels crazy faster and much calmer. Nicer type too!</p>\n",
        "date_published": "2011-07-04T20:00:39-05:00",
        "url": "https://www.thingelstad.com/2011/07/04/just-upgraded-wordpress.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2011/06/19/google-reminding-people.html",
        "title": "Google Reminding People to Update",
        "content_html": "<p>I got this email yesterday for a blog that I help my brother-in-law out with. I haven&rsquo;t ever seen a notice like this:</p>\n<blockquote>\n<p>Dear site owner or webmaster of <code>domain-name-removed</code>. Your site\nappears to be running an older version of WordPress. Google recommends\nthat you update to the latest release. Older or unpatched software may\nbe vulnerable to hacking or malware that can hurt your users. To\ndownload the latest release, visit the <a href=\"http://wordpress.org/download/\">WordPress download page</a>. If you have any additional\nquestions about why you are receiving this message, Google has\nprovided more background information in a <a href=\"http://googlewebmastercentral.blogspot.com/2009/11/new-software-version-notifications-for.html\">blog post</a>\nabout this subject. Best wishes, Google Search Quality Team</p>\n</blockquote>\n<p>I didn&rsquo;t know that Google would send a notice like this. Seems like a good thing to do to keep the web a better place.</p>\n<p>I logged in and upgraded his site for him.</p>\n<p><strong>Update July 6th:</strong> This seems less cool than I hoped. Today I&rsquo;ve gotten a number of emails on blogs that I upgraded on 7/4 to the newest WordPress saying I should upgrade them. Maybe Google is just seeing that the site is running WordPress and sending a note regardless of what version it is currently running?</p>\n",
        "date_published": "2011-06-19T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2011/06/19/google-reminding-people.html",
        "tags": ["Software Development","Blogging","Privacy \u0026 Security"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2011/05/19/why-i-run.html",
        "title": "Why I run my own websites",
        "content_html": "<p><a href=\"http://www.marco.org/\">Marco Arment</a> had a <a href=\"http://www.marco.org/2011/05/19/twitter-dm-oauth-requirement\">blog post</a> today on the recent <a href=\"http://blog.twitter.com/2011/05/mission-permission.html\">changes to Twitters API</a>. He highlights that &ldquo;Twitter is not Ours&rdquo;.</p>\n<blockquote>\n<p>Twitter can do whatever they want.</p>\n<p>It&rsquo;s the simple, brutal truth. Twitter must do what&rsquo;s best for\nTwitter. They owe us nothing.</p>\n<p>It&rsquo;s not a public good. It&rsquo;s not a right. It&rsquo;s a private, entirely\ncentralized service with no meaningful competition and a massive\nnetwork-effect barrier to competitive entry. Twitter has all of the\npower in its relationship with users and developers.</p>\n</blockquote>\n<p>You can replace Twitter in that reference with nearly any other social network or hosted blogging platform on the Internet.</p>\n<p>This is why I run my own websites, on servers I pay for and administer, using open source software.</p>\n",
        "date_published": "2011-05-19T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2011/05/19/why-i-run.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2011/03/15/how-much-do.html",
        "title": "How Much Do I Write?",
        "content_html": "<p>At my last <a href=\"http://creativecomputerbookclub.com/wiki/Main_Page\">book club</a> meeting one of <a href=\"http://creativecomputerbookclub.com/wiki/Creative_Computer_Book_Club:Members\">the guys</a> asked if anyone had plans to write a book. Two of the guys in the club answered affirmative very quickly. I didn&rsquo;t have a very good answer and reflected that I don&rsquo;t think I could write a book. My friend <a href=\"http://creativecomputerbookclub.com/wiki/User:Dfrankow\">Dan</a> thought that was odd since I write regularly on my blog, doesn&rsquo;t that make me sort of a writer already? He even suggested that I wrote more than anyone else in the group which resulted in quick dismissal from our academic colleagues who regularly write research papers.</p>\n<p>So the question left was, how much do I write? Dan even prodded me with an email after the fact which left me with no option but to figure it out. 😀</p>\n<p>I was able to find a WordPress plugin called <a href=\"http://bestseller.franontanaya.com/2010/11/words-stats-plugin/\">Word Stats</a> that made quick work of giving me a word count by month. I threw the data into a spreadsheet to clean it up slightly and make a quick graph. This only includes my writing on my blog.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/732ecaf00e.gif\" alt=\"Bar and line chart of blog words written per month from 2004 to 2011, with a yearly average trend line declining from around 3500 to under 1000 words.\">\n<p>I write an average of <strong>2,631</strong> words per month for a total of <strong>226,235</strong> words since February 2004. The highest month was July 2004 when I wrote <strong>9,711</strong> words. There were three months when I didn&rsquo;t write anything: May 2004, August 2010 and October 2010. That graph really highlights that 2010 was a really quiet year for me. That is a trend I&rsquo;m reversing in 2011.</p>\n<p>I did some quick searches and the average novel has about 100,000 words in it. So, it seems I&rsquo;ve written 2 novels here in the last 7 years. Pretty cool!</p>\n<p>If you wish to play with numbers the <a href=\"https://www.thingelstad.com/uploads/2020/55f40f832d.jpg\">CSV file</a> of my stats is available.</p>\n",
        "date_published": "2011-03-15T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2011/03/15/how-much-do.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2011/02/23/new-omnifocus-task.html",
        
        "content_html": "<p>New <a href=\"https://www.omnigroup.com/omnifocus\">OmniFocus</a> task: Upgrade to <a href=\"https://wordpress.org\">WordPress</a> 3.1 tonight. 😀</p>\n",
        "date_published": "2011-02-23T11:33:00-05:00",
        "url": "https://www.thingelstad.com/2011/02/23/new-omnifocus-task.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2010/03/09/flavorsme.html",
        
        "content_html": "<p><a href=\"http://flavors.me/\">Flavors.me</a> ← Having a personal landing page is getting more popular. I like the concept, but I don&rsquo;t want to have this hosted elsewhere. We could easily build these sites with some specialized <a href=\"https://wordpress.org\">WordPress</a> themes.</p>\n",
        "date_published": "2010-03-09T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2010/03/09/flavorsme.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2010/03/08/blogging-block.html",
        
        "content_html": "<p>I&rsquo;ve been looking at my blog and feeling total blockage. Is it the theme? Is it my fingers. I have no idea. Block.</p>\n",
        "date_published": "2010-03-08T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2010/03/08/blogging-block.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2010/01/26/is-utilize-ever.html",
        
        "content_html": "<p>Is &ldquo;utilize&rdquo; ever necessary? Isn&rsquo;t &ldquo;use&rdquo; always fine instead?</p>\n<p class=\"callout\">Related: See <a href=\"https://www.thingelstad.com/lists/words/\">word lists</a>.</a>\n",
        "date_published": "2010-01-26T10:14:39-05:00",
        "url": "https://www.thingelstad.com/2010/01/26/is-utilize-ever.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2009/12/12/spirit-of-the.html",
        "title": "Spirit of the Web",
        "content_html": "<p>I don&rsquo;t intend to make a habit of quoting myself, but I really like this.</p>\n<p>&ldquo;Every time a blog is created an angel gets its wings.&rdquo;</p>\n",
        "date_published": "2009-12-12T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2009/12/12/spirit-of-the.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2009/08/25/000000.html",
        
        "content_html": "<p>Holy crap did the <a href=\"http://www.wordpress.org/\">WordPress</a> plugin <a href=\"http://wordpress.org/extend/plugins/hot-linked-image-cacher/\">Hot\nLinked Image\nCacher</a>\njust save me a <strong>ton</strong> of effort in moving things off of\n<a href=\"http://www.tumblr.com/\">Tumblr</a>.</p>\n",
        "date_published": "2009-08-25T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2009/08/25/000000.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2009/08/23/why-dont-rss.html",
        "title": "Why don't RSS Readers support kill files?",
        "content_html": "<p>As I was flowing through my <a href=\"http://en.wikipedia.org/wiki/Rss\">RSS</a> subscriptions in <a href=\"http://www.google.com/reader/\">Google Reader</a> I was struck for the millionth time how much everyone likes to write about &ldquo;All Things Twitter&rdquo;. &ldquo;Man, I wish I could just zap these items from these feeds&rdquo; I thought. Then it hit me that I used to do that all the time in my favorite <a href=\"http://en.wikipedia.org/wiki/Usenet\">Usenet</a> News Reader <a href=\"http://en.wikipedia.org/wiki/Nn_(newsreader)\">nn</a> nearly 20 years ago! Usenet programs nearly all supported killfiles, and it was great.</p>\n<p>What is a <a href=\"http://en.wikipedia.org/wiki/Kill_file\">kill file</a>? From Wikipedia:</p>\n<blockquote>\n<p>A kill file (also killfile, bozo bin or twit list) is a per-user file\nused by some Usenet reading programs (originally Larry Wall&rsquo;s rn) to\ndiscard summarily (without presenting for reading) articles matching\nsome particularly uninteresting (or unwanted) patterns of subject,\nauthor, or other header lines.</p>\n</blockquote>\n<p>That is exactly what we need in our RSS readers. Please, please, pretty please?</p>\n",
        "date_published": "2009-08-23T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2009/08/23/why-dont-rss.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2009/08/13/using-google-reader.html",
        "title": "Using Google Reader ",
        "content_html": "<p>I was excited to read about recent <a href=\"http://googlereader.blogspot.com/2009/08/flurry-of-features-for-feed-readers.html\">enhancements to Google Reader, particularly the &ldquo;Send\nto&hellip;&rdquo;</a> feature that allows you to post items from <a href=\"http://www.google.com/reader/\">Google Reader</a> into\n<a href=\"http://www.facebook.com/\">Facebook</a>, <a href=\"http://twitter.com/\">Twitter</a>, <a href=\"http://www.delicious.com/\">Delicious</a> and many other sites.</p>\n<p>But, I wanted to send things to <a href=\"http://www.wordpress.org/\">WordPress</a> and that isn&rsquo;t in the list. However, the Reader team smartly left a way for you to manually add your own &ldquo;Send to&hellip;&rdquo; destinations. I considered this and thought it may match well with WordPress built-in &ldquo;Press this&rdquo; function. And it does!</p>\n<p>You cannot use the &ldquo;Press this&hellip;&rdquo; function directly in Reader as it is Javascript and Reader wants a URL. But, you can just post directly to <code>press-this.php</code>. The URL is (make sure to replace with your own domain name!)</p>\n<p><code>http://www.YOURDOMAINHERE.com/wp-admin/press-this.php?u=${url}&amp;t=${title}&amp;s=${source}&amp;v=2</code></p>\n<p>Google Reader will substitute the items in braces. Now you have an easy &ldquo;Send to&hellip;&rdquo; option from Google Reader.</p>\n<p>To create this go to Google Reader and open Settings. Select the &ldquo;Send To&rdquo; tab and click on the &ldquo;Create a custom link&rdquo; button. Then fill it in similar to this picture:</p>\n<p><img src=\"https://cdn.uploads.micro.blog/890/2020/6aa4cb1434.png\" alt=\"google-reader-send-to-for-wordpress2\"></p>\n<p>Also, if you want the nice WordPress icon next to the link put the Icon URL in as</p>\n<p><code>http://s.wordpress.org/favicon.ico?3</code></p>\n<p>Have fun blogging!</p>\n",
        "date_published": "2009-08-13T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2009/08/13/using-google-reader.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2009/05/21/now-reading-for.html",
        
        "content_html": "<p><a href=\"http://heliologue.com/projects/now-reading-for-wordpress-27/\">Now Reading for Wordpress 2.7+</a>, a &ldquo;more updated&rdquo; version of the Now Reading plugin for WordPress.</p>\n",
        "date_published": "2009-05-21T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2009/05/21/now-reading-for.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2009/03/31/rule-for-bloggers.html",
        
        "content_html": "<p>Rule #78 for Bloggers: Never post about not posting for oh so long.</p>\n",
        "date_published": "2009-03-30T21:28:35-05:00",
        "url": "https://www.thingelstad.com/2009/03/30/rule-for-bloggers.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2009/03/11/psa-all-you.html",
        
        "content_html": "<p>PSA: All you <a href=\"https://wordpress.org\">WordPress</a> folks remember to change your timezone offset. Took me until now to remember. Someday this will be automated.</p>\n",
        "date_published": "2009-03-11T09:58:23-05:00",
        "url": "https://www.thingelstad.com/2009/03/11/psa-all-you.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2009/03/11/p-the-newprologue.html",
        "title": "P2: The New Prologue",
        "content_html": "<p>I was a fan of the original Prologue, and <a href=\"https://wordpress.com/blog/2009/03/11/p2-the-new-prologue/\">this new iteration</a> of it looks even better.</p>\n<p>I&rsquo;m struck by how easy it would be to setup a private Twitter-like service for just the people you want to hang with. That could be fun, particularly as Twitter becomes less and less interesting and more and more overcrowded.</p>\n",
        "date_published": "2009-03-11T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2009/03/11/p-the-newprologue.html",
        "tags": ["Blogging","Social Media"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/12/18/just-hit-me.html",
        
        "content_html": "<p>Just hit me how great it would be if the <a href=\"https://wordpress.org\">WordPress</a> theme world lived on something like github. Fork! Fork! Fork! Would be great.</p>\n",
        "date_published": "2008-12-17T21:32:28-05:00",
        "url": "https://www.thingelstad.com/2008/12/17/just-hit-me.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/12/11/upgraded-to-wordpress.html",
        
        "content_html": "<p>I just took the plunge this evening and updated <a href=\"https://wordpress.org\">WordPress</a> to 2.7. So far\nI&rsquo;m pretty impressed. I wasn&rsquo;t sure what I would think of the new admin\ninterface but after using it I like it a lot. I can&rsquo;t wait to give the\nautomated upgrade feature a workout. If anything seems amiss, let me\nknow.</p>\n<p>Now the race is on to see how long it takes for good themes to come out\nthat take advantage of the threaded comments feature in 2.7.</p>\n",
        "date_published": "2008-12-11T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/12/11/upgraded-to-wordpress.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/11/12/trying-out-the.html",
        
        "content_html": "<p>Trying out the new Intense Debate plugin for <a href=\"https://wordpress.org\">WordPress</a>. Moving comments off of my blog, even with syncing, scares me. Plus, iframes are just wrong.</p>\n",
        "date_published": "2008-11-12T10:25:31-05:00",
        "url": "https://www.thingelstad.com/2008/11/12/trying-out-the.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/11/02/psa-wordpress-users.html",
        
        "content_html": "<p>PSA: <a href=\"https://wordpress.org\">WordPress</a> users, remember to adjust your Timezone setting after the time change.</p>\n",
        "date_published": "2008-11-02T18:01:44-05:00",
        "url": "https://www.thingelstad.com/2008/11/02/psa-wordpress-users.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/10/10/minnewordcamp-not-happening.html",
        "title": "MinneWordCamp Not Happening",
        "content_html": "<p>Back in February I posted a feeler to see if people would be interested in <a href=\"https://www.thingelstad.com/2008/02/16/interested-in-a.html\">getting a Minneapolis WordCamp together</a>. The response was pretty great, without any date, promotion or agenda nearly 75 people signed up to indicate interest.</p>\n<p>While there has been a lot of interest, I&rsquo;m not going to be able to lead the effort to get a WordCamp going here in Minneapolis. Coordinating an event like this is far outside my interest area and not something I do all that well. Plus we weren&rsquo;t getting great uptake on sponsorship and the current economic meltdown is not going to make that better. We also lost our keynote speaker and were again going to have to look for a new date.</p>\n<p>I&rsquo;m hopeful that someone else is interested in seeing this happen and may take the lead and run with it.</p>\n",
        "date_published": "2008-10-10T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/10/10/minnewordcamp-not-happening.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/10/01/just-added-the.html",
        
        "content_html": "<p>Just added the WordPress LifeStream plugin to my blog.</p>\n",
        "date_published": "2008-09-30T21:59:12-05:00",
        "url": "https://www.thingelstad.com/2008/09/30/just-added-the.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/09/22/abalastow-compendium.html",
        "title": "Abalastow Compendium",
        "content_html": "<img src=\"https://cdn.uploads.micro.blog/890/2020/533118d04f.png\" alt=\"Antique wooden compendium open to reveal ornate brass dials and engraved panels, resembling a portable scientific instrument\" style=\"width: 200px; float: right; margin-left: 10px; \" />\n<p>My buddy <a href=\"http://www.unpossible.com/\">Dan</a> has <a href=\"http://www.unpossible.com/2008/09/22/abalastow-compendium/\">issued an SEO challenge</a> to the students in his class. I thought it was pretty cool and could use some spice to see how base <a href=\"http://en.wikipedia.org/wiki/PageRank\">PageRank</a> affects search rankings. I&rsquo;m curious to see where I would fit in, so I put this post out there. Google, come and get it.</p>\n<p>I see the <a href=\"http://www.google.com/search?hl=en&amp;q=Abalastow+Compendium&amp;btnG=Search\">search results</a> already have a <a href=\"http://blog.lib.umn.edu/pemb0031/abalastowcompendium/\">hit from blog.lib.umn.edu</a>. That is going to be tough since Google loves .edu and .org so much more than .com, but we&rsquo;ll see.</p>\n<p>No <a href=\"http://en.wikipedia.org/wiki/Special:Search?search=Abalastow+Compendium&amp;go=Go\">Wikipedia hits for Abalastow\nCompendium</a>\neither.</p>\n<p><em>The image at the right is what I imagine an antique Abalastow Compendium to look like.</em></p>\n<p><strong>Update (9/25/08):</strong> Proving some theory of the Internet™ or human behavior true some enterprising individuals have actually put a trump card and bought the Abalastow Compendium domain name, both the <a href=\"http://www.abalastow-compendium.com/\">.com</a> and even the <a href=\"http://www.abalastow-compendium.org/\">.org</a> version. Nobody grabbed .net it seems.*</p>\n",
        "date_published": "2008-09-22T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/09/22/abalastow-compendium.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/09/15/for-the-life.html",
        
        "content_html": "<p>For the life of me I cannot figure out why spammers so badly want to create accounts on my <a href=\"https://wordpress.org\">WordPress</a> sites. Luckily SABRE solves the problem</p>\n",
        "date_published": "2008-09-15T14:28:21-05:00",
        "url": "https://www.thingelstad.com/2008/09/15/for-the-life.html",
        "tags": ["Software Development","Blogging","Privacy \u0026 Security"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/08/25/im-blogging-my.html",
        
        "content_html": "<p>I&rsquo;m blogging.</p>\n<p>My mother is on the couch writing in her diary.</p>\n<p>Same or different? 🤔</p>\n",
        "date_published": "2008-08-25T14:56:23-05:00",
        "url": "https://www.thingelstad.com/2008/08/25/im-blogging-my.html",
        "tags": ["Family","Travel","Blogging","London 2008"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/08/17/wordpress-iphone-application.html",
        "title": "WordPress iPhone Application and RSD Link",
        "content_html": "<p>I <a href=\"https://www.thingelstad.com/2008/07/22/wordpress-for-iphone.html\">posted before from the WordPress iPhone application</a> when it was released. Its pretty nifty. When they upgraded it to 1.1 though I could no longer get it to work on my blog anymore. I was mighty confused since it worked for every other blog that is hosted on my server, but not mine.</p>\n<p>I finally <a href=\"http://iphone.trac.wordpress.org/ticket/48#comment:3\">did some digging into the problem</a> and for some reason my blog wasn&rsquo;t outputting an RSD link which is needed for the application to find the XML-RPC endpoint. A quick <code>grep -R rsd</code> found the issue.</p>\n<p><code>remove_action('wp_head', 'rsd_link');</code></p>\n<p>That was hiding out in my functions.php file. I removed it and I&rsquo;m cooking along with the <a href=\"http://iphone.wordpress.org/\">iPhone WordPress application</a> again. Beware if your theme does something similar. Found and fixed just <a href=\"https://www.thingelstad.com/2008/08/14/summer-of-love.html\">before leaving town</a>!</p>\n",
        "date_published": "2008-08-17T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/08/17/wordpress-iphone-application.html",
        "tags": ["Software Development","Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/08/05/now-the-proud.html",
        
        "content_html": "<p>Now the proud owner of <code>minnewordcamp.com</code>.</p>\n",
        "date_published": "2008-08-04T21:57:32-05:00",
        "url": "https://www.thingelstad.com/2008/08/04/now-the-proud.html",
        "tags": ["Software Development","Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/07/22/wordpress-for-iphone.html",
        "title": "WordPress for iPhone",
        "content_html": "<p>I just installed the <a href=\"https://wordpress.org\">WordPress</a> application on my iPhone and am testing it out. It will be fun to be able to post and edit on the road!</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/279b285d3f.jpg\" alt=\"Silver Apple MacBook laptop closed on a floral-painted table with stickers including a WordPress logo, a letter A, and a pixel art grid design\">\n",
        "date_published": "2008-07-22T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/07/22/wordpress-for-iphone.html",
        "tags": ["Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/07/15/upgraded-blogs-from.html",
        
        "content_html": "<p>Upgraded 4 blogs from <a href=\"https://wordpress.org\">WordPress</a> 2.5.1 to 2.6. All looks good. I wish WP Automatic Upgrade worked right still though.</p>\n",
        "date_published": "2008-07-15T00:10:36-05:00",
        "url": "https://www.thingelstad.com/2008/07/14/upgraded-blogs-from.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/05/31/new-blog-theme.html",
        "title": "New Blog Theme?",
        "content_html": "<p>I&rsquo;m experimenting with a new blog theme. Before I go through trouble getting it all wired up, I&rsquo;m curious what the folks visiting this site may think.</p>\n<p>So, what do you think?</p>\n",
        "date_published": "2008-05-31T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/05/31/new-blog-theme.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/05/28/blogger-born-smaller.html",
        "title": "Blogger Born? Smaller Than A Redwood",
        "content_html": "<p>Fire up your RSS reader and get ready to add a feed! Some of you know that my wife Tammy has had a blog, <a href=\"https://tammy.thingelstad.com?ref=thingelstad.com\">Smaller Than A Redwood</a>, for a while, but it&rsquo;s been pretty much idle. She&rsquo;s gotten her blogger shoes on during the <a href=\"https://www.thingelstad.com/collections/summer-of-love\">Summer of Love</a> and has been posting pretty regularly. On top of that we outfitted her with a new theme. Exciting stuff! Check it out!</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/c4e9e42160.png\" alt=\"Screenshot of the Smaller Than a Redwood blog showing a green floral themed design with a blog post titled These are a few of my favorite things Seattle\" style=\"max-width: 401px; \" />\n",
        "date_published": "2008-05-28T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/05/28/blogger-born-smaller.html",
        "tags": ["Travel","Blogging","Summer of Love 2008"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/05/23/site-performance-as.html",
        "title": "Site Performance as seen by Google",
        "content_html": "<p>I mentioned earlier that I had <a href=\"https://www.thingelstad.com/2008/05/23/sites-now-on.html\">moved my sites over to Slicehost</a>. My reasoning for this was performance. Here is a graph that proves that performance out as seen by the Google robot. This graph shows the response times that Google was seeing when it spidered my site. The crazy noise on the left is Dreamhost. The nice, flat, consistently fast response on the right is <a href=\"https://www.slicehost.com/\">Slicehost</a>.</p>\n<p><img src=\"https://cdn.uploads.micro.blog/890/2020/58a9fd7683.png\" alt=\"GoogleWebmasterToolsDownloadTimes.png\"></p>\n<p>The world of SEO is filled with black magic, but I have had people that know there stuff highlight that site behavior does impact your ranking in Google. This intuitively makes sense. If your site is slow or eratic in response, Google is going to give a bad experience to the visitor they send to you. If you are fast and always available, it will be good. It&rsquo;s easy to see how this could be used to influence search ranking, but it&rsquo;s not provable.</p>\n<p>Either way this is a good thing (tm) and it&rsquo;s good confirmation to see the site performance improvement vetted from a third party like Google.</p>\n",
        "date_published": "2008-05-23T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/05/23/site-performance-as.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/05/13/themes-the-worst.html",
        "title": "Themes: The Worst of the WordPress Ecosystem",
        "content_html": "<p><strong>This is frustrating.</strong> I&rsquo;ve spent the last couple of hours trying to find a new <a href=\"http://www.wordpress.org/\">WordPress</a> theme for Tammy&rsquo;s blog, <a href=\"https://tammy.thingelstad.com?ref=thingelstad.com\">Smaller Than a Redwood</a>. This is so frustrating.</p>\n<p>First, she can&rsquo;t do it herself easily because the look of a theme is completely unpredictable of its functionality. I would argue that a theme that doesn&rsquo;t support sidebar widgets and tags right out of the box, should just be deleted. Why do we still have this junk floating around the Internet?</p>\n<p>Worse still is the volume of themes that are just purely broken. We found a theme and I started to &ldquo;fix&rdquo; it, meaning add tagging support, and then found out several of the themes own images were not in the download and cannot be found on the Internet.</p>\n<p>Argh! Now, back to Google to try to sift through thousands of piles of crap and see if I can find a workable theme.</p>\n",
        "date_published": "2008-05-13T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/05/13/themes-the-worst.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/05/10/power-wordpress-presentation.html",
        "title": "Power WordPress Presentation Materials",
        "content_html": "<p>I&rsquo;m doing my <a href=\"https://www.thingelstad.com/2008/05/05/power-wordpress-session.html\">Power WordPress presentation</a> at <a href=\"http://www.minnebar.org/\">Minnebar</a> today. I decided to do the presentation today without any slides but instead give everyone handouts with the relevant tips &amp; tricks. To share the wealth here are links to the PDF files for the three sections I&rsquo;m covering, <a href=\"https://www.thingelstad.com/uploads/2020/5564377490.pdf\">Performance</a>, <a href=\"https://www.thingelstad.com/uploads/2020/850a24fbc1.pdf\">Plugin\nReview</a> and <a href=\"https://www.thingelstad.com/uploads/2020/223d1fa2fa.pdf\">SEO Basics</a>.</p>\n",
        "date_published": "2008-05-10T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/05/10/power-wordpress-presentation.html",
        "tags": ["Minnestar","Software Development","Blogging","Tech Community"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/05/05/power-wordpress-session.html",
        "title": "Power WordPress Session at Minnebar",
        "content_html": "<p><a href=\"http://www.minnebar.org/\">Minnebar</a> is approaching this weekend, May 10th! I&rsquo;m really excited and I just couldn&rsquo;t stand to not be presenting this year so I decided to put my name up and do a session on <a href=\"http://barcamp.pbwiki.com/MinneBarSessions#PowerWordPress\">Power WordPress</a> usage. I plan to hit on must-have plugins that can save you a ton of time as well as some great SEO tactics for driving more traffic to your site. It should be a lot of fun!</p>\n<p>I also hope to get some feedback and talk a bit about doing a WordCamp in the fall.</p>\n",
        "date_published": "2008-05-05T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/05/05/power-wordpress-session.html",
        "tags": ["Minnestar","Software Development","Blogging","Tech Community"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/04/14/t788557222.html",
        
        "content_html": "<p>Just upgraded all my <a href=\"https://wordpress.org\">WordPress</a> plugins. So happy to do that in 2.5 now. Wishing there was an &ldquo;Upgrade All&rdquo; button.</p>\n",
        "date_published": "2008-04-13T19:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/04/13/t788557222.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/04/06/t783661797.html",
        
        "content_html": "<p>Question: is there ever a case where &ldquo;utilize&rdquo; is more appropriate than &ldquo;use&rdquo;?</p>\n<p class=\"callout\">Related: See <a href=\"https://www.thingelstad.com/lists/words/\">word lists</a>.</a>\n",
        "date_published": "2008-04-05T19:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/04/05/t783661797.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/04/01/190000.html",
        
        "content_html": "<ul>\n<li>Feeling fairly stupid having trouble migrating to WP 2.5 built-in avatar support and ditching Gravatar plugin. Ugh.</li>\n<li>Avatar success! Magic is: <code>&lt;?php echo get_avatar($comment, '50'); ?&gt;</code> and it does everything, entire IMG tag.</li>\n<li>I cannot even begin to express how much I love the <a href=\"http://urbangiraffe.com/plugins/search-regex/\">Search Regex WP plugin</a>. It has saved me hours!</li>\n<li>A little overwhelmed by how much cleanup work I need to do on my blog. Not WP 2.5 related, just years of messy junk.</li>\n<li>Changed my whole permalink structure and have done everything I can to make it right. Wondering how much of a hit I&rsquo;ll take from Google.</li>\n</ul>\n<p class=\"aside\">One of the tweets highlighted in my <a href=\"https://www.thingelstad.com/2008/05/10/farewell-video.html\">MarketWatch Farewell Video</a>.</p>\n",
        "date_published": "2008-04-01T19:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/04/01/190000.html",
        "tags": ["MarketWatch","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/03/24/t776027663.html",
        
        "content_html": "<p>Yeah - found a plugin to block registration spam. I&rsquo;ve been getting hammered with it the last few days.</p>\n",
        "date_published": "2008-03-23T19:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/03/23/t776027663.html",
        "tags": ["Blogging","Privacy \u0026 Security"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/03/18/publisher-party-at.html",
        "title": "Publisher Party at Hearst Tower",
        "content_html": "<p>I got a fun opportunity to attend a really nice event hosted by <a href=\"http://www.trueventures.com/\">True Ventures</a>, <a href=\"http://automattic.com/\">Automattic</a>, <a href=\"http://www.sphere.com/\">Sphere</a>, <a href=\"http://www.nytimes.com/\">New York Times</a> and <a href=\"http://www.hearst.com/interactive_media/\">Hearst Interactive</a> at the <a href=\"http://hearst.com/hearsttower/\">Hearst Tower</a>. It was a collection of who&rsquo;s who in the publishing/media sector and some great companies with some innovative web stuff. Big thanks to <a href=\"http://raanan.com/\">Raanan</a> over at Automattic for thinking of me. Two fanboy moments of chatting with <a href=\"http://ma.tt/\">Matt Mullenweg</a>, the creator of <a href=\"https://wordpress.org\">WordPress</a> and <a href=\"http://lindsaycampbell.com/\">Lindsay Campbell</a> formerly of <a href=\"http://www.wallstrip.com/\">Wall Strip</a> and now at <a href=\"http://www.moblogic.tv/\">MobLogic.tv</a>. Also saw Rupert Murdoch, Kevin Ryan, Toni Conrad, and more.</p>\n<p><a href=\"http://www.calacanis.com/\">Jason Calacanis</a> Interviewing <a href=\"http://toni.schneidersf.com/\">Toni Schneider</a> of WordPress on his mobile phone.</p>\n<p class=\"alert\">Find photo [farm4.static.flickr.com/3226/2343...](http://farm4.static.flickr.com/3226/2343498641_11c4d9b8a8_m.jpg)</p>\n<p>Matt Mullenweg</p>\n<p class=\"alert\">Find photo [farm3.static.flickr.com/2052/2344...](http://farm3.static.flickr.com/2052/2344379648_344a3745f4_m.jpg)</p>\n<p>The Crowd Listening to a Short Background on the Event</p>\n<p class=\"alert\">Find photo [farm3.static.flickr.com/2410/2343...](http://farm3.static.flickr.com/2410/2343551661_d0bfb28450_m.jpg)</p>\n",
        "date_published": "2008-03-18T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/03/18/publisher-party-at.html",
        "tags": ["Blogging","Current Events"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/03/11/flashback-the-day.html",
        "title": "Flashback: The Day Webfront Died",
        "content_html": "<p>I&rsquo;ve been cleaning up some old, old files on my machine and have run into some really fun stuff. I&rsquo;ll have a few posts with some of this stuff.</p>\n<p>Here is a fake homepage for <a href=\"http://www.marketwatch.com/\">MarketWatch</a> that was created by our editorial team in San Francisco on the day that webfront died. You see, in the ancient days, MarketWatch had one publishing server called webfront, and one day it died. It was never coming back and that sucked. We couldn&rsquo;t publish anything. We had been working on other solutions and those got an immediate boost that day. In the matter of 24, or 36, or 48 hours &ndash; the number seems to get bigger with time &ndash; we put in place a whole new system for publishing content.</p>\n<p><img src=\"https://cdn.uploads.micro.blog/890/2020/d3592c5fde.gif\" alt=\"cbs-marketwatch-fake-frontpage.gif\"></p>\n<p>The pictures of me sleeping on my couch and <a href=\"http://www.tersteeg.org/\">Chris</a> in his chair were taken after an all-night slog to restore publishing. Oh, those were the days.</p>\n",
        "date_published": "2008-03-11T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/03/11/flashback-the-day.html",
        "tags": ["MarketWatch","Blogging","Work"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/02/24/quiet-lately.html",
        "title": "Quiet Lately",
        "content_html": "<p><a href=\"http://depts.washington.edu/uweek/archives/1998.04.APR_30/_Photos.html\"><img src=\"https://cdn.uploads.micro.blog/890/2020/72479bd988.jpg\" alt=\"Two men in suits standing beside a cone-shaped object inside a room lined with acoustic foam panels.\" style=\"width: 128px; float: right; margin-left: 10px; \" /></a>\nI haven&rsquo;t been posting much the last couple of weeks. My travel schedule has been a bit higher than normal, which you would think could lead to more posts but actually is the opposite. Plus, all of my &ldquo;blog time&rdquo; has been spent lately getting ready to move my websites to a new hosting provider and for some new stuff too. I&rsquo;ll post more on that later. I&rsquo;m still here.</p>\n",
        "date_published": "2008-02-24T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/02/24/quiet-lately.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/02/20/t733462512.html",
        
        "content_html": "<p>Giving up on NetNewsWires and NewsGator and going back to Google Reader. Just can&rsquo;t deal with the suboptimal mobile experience.</p>\n",
        "date_published": "2008-02-19T19:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/02/19/t733462512.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/02/16/interested-in-a.html",
        "title": "Interested in a Minneapolis WordCamp?",
        "content_html": "<p>I&rsquo;m conducting a quick test to see how much interest there would be in hosting a Minneapolis WordCamp. <a href=\"http://wordcamp.org/\">WordCamp</a> is an <a href=\"http://en.wikipedia.org/wiki/Unconference\">unconference</a> focused on <a href=\"http://www.wordpress.org/\">WordPress</a> users and developers, including general topics on blogging as well.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/3ebe474a4e.jpg\" alt=\"WordCamp Minneapolis 2008 logo featuring the WordPress W icon inside a black circle with teal and black lettering\" style=\"width: 400px; max-width: 400px;\" />\n<p>I&rsquo;ve put a wiki page up at where you can read more and link to additional information about WordCamps. <em>If you would like to see an event like this happen, put your name on the sign up sheet!</em></p>\n<p>Please help spread the word and tell your friends that may be interested in this event about it too!</p>\n",
        "date_published": "2008-02-16T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/02/16/interested-in-a.html",
        "tags": ["Software Development","Blogging","Tech Community"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/02/13/t706233472.html",
        
        "content_html": "<p>Wishing there was a <a href=\"https://wordpress.org\">WordPress</a> user group in Minneapolis. And yes, I realize I could start one.</p>\n",
        "date_published": "2008-02-12T19:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/02/12/t706233472.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/01/11/spreading-the-digital.html",
        "title": "Spreading the Digital Love",
        "content_html": "<p>This will be brief since I&rsquo;m posting it from my iPhone. I spent the night with my brother-in-law <a href=\"http://hmfernandez.com\">Hector</a> getting his Mac all souped up with Leopard and spiffing out his blog, <a href=\"http://iwilltri.com\">I Will Tri</a>.</p>\n<p>That is neat and all but what is cool is just how fun it is. Jamming with your Mac and getting jiggy with <a href=\"https://wordpress.org\">WordPress</a> is just fun! How many technologies can you say that about!</p>\n",
        "date_published": "2008-01-11T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/01/11/spreading-the-digital.html",
        "tags": ["Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2008/01/04/wordpress-upgraded-to.html",
        
        "content_html": "<img src=\"https://cdn.uploads.micro.blog/890/2020/7264015a4f.jpg\" alt=\"WordPress logo, a bold white letter W on a blue circular badge with a dark blue border\" style=\"width: 150px; float: right; margin-left: 10px; \" />\n<p>I just upgraded <a href=\"http://www.wordpress.org/\">WordPress</a> to 2.3.2 on all\nof the sites I run. Of course this starts with the mandatory upgrade of\nany plugins that are outdated. While WordPress has made this much easier\nwith automatic version checking, it&rsquo;s still far too much of a pain.</p>\n",
        "date_published": "2008-01-04T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2008/01/04/wordpress-upgraded-to.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/12/13/blog-cred-to.html",
        "title": "Blog Cred to Dictionary Evangelist",
        "content_html": "<img src=\"https://cdn.uploads.micro.blog/890/2020/00c71e40d8.jpg\" alt=\"Retro-style black and white illustration of a smiling woman with styled hair in a vintage comic art look\" style=\"width: 81px; float: right; margin-left: 10px; \" />\n<p>My RSS reader is filled with a lot of technology stuff, a variety of Apple websites and a ton of friends that have blogs. I recently subscribed to a new blog that I had to create a new group for. The group is called <em>Interesting</em>, and the blog is <a href=\"http://www.dictionaryevangelist.com/\">Dictionary Evangelist</a>.</p>\n<p>I got exposed to this blog by watching Erin McKean&rsquo;s presentation at <a href=\"http://www.ted.com/\">TED</a> entitled &ldquo;<a href=\"http://www.ted.com/talks/view/id/161\">Redefining the Dictionary</a>&rdquo; via their podcasts. The video was fun, and her posts are &ldquo;interesting&rdquo; and fun as well. Erin is a <a href=\"http://en.wikipedia.org/wiki/Lexicographer\">lexicographer</a>, which is to say she makes dictionaries. Cred&rsquo; out to <a href=\"http://www.dictionaryevangelist.com/\">Dictionary Evangelist</a> (<a href=\"http://www.dictionaryevangelist.com//atom.xml\">Add Feed</a>).</p>\n<p>What&rsquo;s in your &ldquo;Interesting&rdquo; group?</p>\n",
        "date_published": "2007-12-13T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/12/13/blog-cred-to.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/12/04/copyright-notice-in.html",
        "title": "Copyright Notice in RSS Feed",
        "content_html": "<img src=\"https://cdn.uploads.micro.blog/890/2020/a3b2f1bbff.gif\" alt=\"Black fingerprint graphic on white background\" style=\"width: 50px; float: right; margin-left: 10px; \" />\n<p>If you are reading thingelstad.com via the RSS feed you will notice that I have added a <del>copyright notice</del> <a href=\"http://creativecommons.org/\">creative commons</a> license to the feed, along with a digital fingerprint and for fun the IP address of the machine that pulled in your RSS feed. I&rsquo;m doing this to fight back against website hijacking.</p>\n<p>I&rsquo;m noticing a lot of my content being stolen via my RSS feed and then republished on spammer websites. This is a slimy practice and is a growing trend. Lorelle wrote on this at some length recently. I decided to do something about it with the <a href=\"http://wordpress.org/extend/plugins/copyfeed/\">CopyFeed</a> WordPress plug-in.</p>\n<p>I went out of my way to just put the <del>copyright notice</del> creative commons license in a regular HTML block at the end of the post. I decided to post about this to encourage others to consider adding this if their content is being stolen, and to let you know why the <del>copyright notice</del> creative commons license has appeared.</p>\n",
        "date_published": "2007-12-04T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/12/04/copyright-notice-in.html",
        "tags": ["Blogging","Privacy \u0026 Security"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/12/03/marsedit.html",
        "title": "MarsEdit",
        "content_html": "<img src=\"https://cdn.uploads.micro.blog/890/2020/212c138a67.jpg\" alt=\"Rocket ship icon on a fiery orange planet background, representing the MarsEdit desktop blogging application logo.\" style=\"width: 128px; float: right; margin-left: 10px; \" />\n<p>I&rsquo;m totally geeking over <a href=\"http://www.red-sweater.com/marsedit/\">MarsEdit</a> right now. MarsEdit is the desktop blogging client that I recently started using with my site. I&rsquo;ve considered moving to a desktop blogging client instead of typing in the text field of a web browser for a while. I never made the jump though since I had a hard time finding a tool that I really liked. MarsEdit seems to fit the bill really well.</p>\n<p>The first criteria for me was full support for <a href=\"http://www.wordpress.org/\">WordPress</a>, particularly the native tagging feature added in 2.3 and thankfully MarsEdit ticked this box right away. The other major editor I worked with at length was <a href=\"http://infinite-sushi.com/software/ecto/\">ecto</a> and it sadly didn&rsquo;t do this yet. Tsk tsk&hellip;</p>\n<p>So why shell out some good <a href=\"http://www.paypal.com/\">PayPal</a> dollars for a desktop blogging client? Here are my reasons&hellip;</p>\n<h3 id=\"editing\">Editing</h3>\n<p>Can we really think that editing even more than a single paragraph in the text field of a browser is passable? Even with great add-ons like <a href=\"http://tinymce.moxiecode.com/\">TinyMCE</a> it really is only workable for a simple comment at best. Using a desktop blogging client I get a much more powerful and workable editor.</p>\n<p>It&rsquo;s not just doing the editing on the Mac or PC either. MarsEdit is using the editor <em>you</em> like for what <em>you</em> want to do. For example, I&rsquo;m doing almost all of my blogging in the distraction free, completely uncluttered environment of <a href=\"http://hogbaysoftware.com/products/writeroom\">WriteRoom</a>. (I&rsquo;ll do a <a href=\"https://www.thingelstad.com/2007/12/03/stay-focused-in.html\">post on WriteRoom</a> soon too.)</p>\n<p>Next time your typing a post in a text field, try putting in a tab. :-)</p>\n<h3 id=\"drafting\">Drafting</h3>\n<p>I&rsquo;m a big &ldquo;drafter&rdquo;. I have 10 or more blog posts in draft status with different levels of completion at any time. Sometimes it&rsquo;s a title with a three word reminder. I may have a long post that has been refined a few times waiting. I haven&rsquo;t found any web-based admin interfaces that make working with multiple drafts really nice.</p>\n<h3 id=\"live-previewing\">Live Previewing</h3>\n<p>One of the great features of MarsEdit is the ability to have the text open and editing, and in another window next to it have a live preview of the rendered HTML. This makes blogging in raw HTML actually work.</p>\n<p>Why blog in <a href=\"http://en.wikipedia.org/wiki/HTML\">HTML</a>? I shrugged off this recommendation for a long time. My opinion was that I shouldn&rsquo;t have to write in HTML anymore than I should have to know the <a href=\"http://en.wikipedia.org/wiki/ASCII\">ASCII</a> codes for all the letter I&rsquo;m typing. However, I&rsquo;m a convert. The control it affords you, and the ability to avoid the damage that a rich editor would do to embed codes is a big win.</p>\n<h3 id=\"other-stuff\">Other Stuff</h3>\n<p>There are other reasons to use a desktop client that are less about writing to me. You can post to one of several blogs you have in one tool. That&rsquo;s great, if you have multiple blogs. This means I&rsquo;ll likely actually put something up at <a href=\"http://www.minnelightroom.com/\">MinneLightroom</a> now and again.</p>\n<p>I give MarsEdit two thumbs up. If you are a blogger, and you use a Mac, go download the demo and give it a go. As they say, <a href=\"http://www.urbandictionary.com/define.php?term=YMMV\">YMMV</a>.</p>\n",
        "date_published": "2007-12-03T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/12/03/marsedit.html",
        "tags": ["Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/12/03/stay-focused-in.html",
        "title": "Stay Focused in WriteRoom",
        "content_html": "<img src=\"https://cdn.uploads.micro.blog/890/2020/15bea79466.gif\" alt=\"Circular black badge with white letters Wr in bold, centered on a rounded square icon with a subtle reflection below\" style=\"width: 122px; float: right; margin-left: 10px; \" />\n<p>I&rsquo;m writing this post on a plane. I&rsquo;m <a href=\"https://www.thingelstad.com/2007/12/03/marsedit.html\">drafting with MarsEdit</a> to post later. There isn&rsquo;t much interesting about that. What is interesting is checking out people looking at my computer screen. Why? It looks like I&rsquo;ve time warped back 20 years.</p>\n<p>I&rsquo;ve been doing almost all of my writing for the site using WriteRoom. <a href=\"http://hogbaysoftware.com/products/writeroom\">WriteRoom</a> is a Mac application that defers to a simple, distraction free writing environment. They describe it best as:</p>\n<blockquote>\n<p>For people who enjoy the simplicity of a typewriter, but live in the\ndigital world. WriteRoom is a full-screen writing environment. Unlike\nthe cluttered word processors you&rsquo;re used to, WriteRoom is just about\nyou and your text.</p>\n</blockquote>\n<p>Here is what my screen looks like right now.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/0cbe3891ff.gif\" alt=\"Black screen with bright green monospaced text, resembling a retro terminal display, showing paragraphs of a blog post being written in WriteRoom\" style=\"max-width: 400px; \" />\n<p>Pretty whacky huh? That&rsquo;s WriteRoom. When you launch WriteRoom your entire screen goes black, and you just type. All of those other applications, and even the user interface of the editor itself fades to black. You just write. So simple it took a decade to make.</p>\n<p>There is a lot more to WriteRoom. For example, it never has you typing at the bottom of the screen. Your actual typing is always in the middle. Seems like nothing, but is really nice. In short you can customize the heck out of it and make it the experience you want for editing. If pure text mode isn&rsquo;t your thing, it even has a minimal rich editor.</p>\n<p>Ya know the thing I love about WriteRoom? It&rsquo;s the same thing I love about <a href=\"http://www.blacktree.com/\">Quicksilver</a>. As well as dozens of other applications on my Mac that are written by very small independent software developers. It&rsquo;s different. It&rsquo;s elegant. There is so much fresh and new thinking going on in the independent developer world of the Mac. It&rsquo;s a great time to be a Mac user.</p>\n",
        "date_published": "2007-12-03T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/12/03/stay-focused-in.html",
        "tags": ["Blogging","Apple"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/12/01/website-updates-nov.html",
        "title": "Website Updates (Nov 2007)",
        "content_html": "<p>I just finished a pretty long session or upgrades and improvements to thingelstad.com. Here are some new things to check out.</p>\n<h3 id=\"gravatars\">Gravatars</h3>\n<p>I actually implemented <a href=\"http://site.gravatar.com/\">Gravatars</a> a while back, when <a href=\"http://blog.gravatar.com/2007/10/18/automattic-gravatar/\">Automattic bought them</a>. But it deserves a special highlight and I improved the implementation now. If you comment here, <a href=\"http://site.gravatar.com/signup\">register for a Gravatar</a> so you can get your picture next to your comments!</p>\n<h3 id=\"feed-improvement\">Feed Improvement</h3>\n<p>Nothing too big here, but you will now see tags and related article links in the RSS feed. I know a lot of people use that feed exclusively so I think that may prove useful. (Thanks to <a href=\"http://www.herewithme.fr/wordpress-plugins/simple-tags\">Simple Tags</a>.)</p>\n<h3 id=\"ratings\">Ratings</h3>\n<p>You can now rate all posts on the site using a 5-star scale. You&rsquo;ll see the rating tool around any posts. Just click to give it a rating. Go ahead and start with this post. Top rated posts are highlighted on the front page. (Thanks to <a href=\"http://lesterchan.net/blogs/\">Lester Chan</a>&rsquo;s <a href=\"http://lesterchan.net/wordpress/readme/wp-postratings.html\">WP-PostRatings</a>.)</p>\n<h3 id=\"articles\">Articles</h3>\n<p>I setup an article page on the site where certain posts are highlighted and called out. This allows me to give special positioning to certain things I write. (Thanks to <a href=\"http://alexking.org/\">Alex King</a>&rsquo;s <a href=\"http://alexking.org/projects/wordpress/readme?project=articles\">Articles Plug-in</a>.)</p>\n<h3 id=\"polls\">Polls</h3>\n<p>I&rsquo;ve added polling functionality, which I used to have a long time on my site. It isn&rsquo;t going to be permanent in the sidebar, but instead just embedded into different posts. (Thanks [again] to <a href=\"http://lesterchan.net/blogs/\">Lester Chan</a>&rsquo;s <a href=\"http://lesterchan.net/wordpress/readme/wp-polls.html\">WP-Polls</a>.)</p>\n<h3 id=\"theme\">Theme</h3>\n<p>The hardest maintenance item you won&rsquo;t even notice. I updated the theme I use, <a href=\"http://www.plaintxt.org/themes/blogtxt/\">blog.txt</a>, from 3.1 to 4.1. I don&rsquo;t think there is any noticeable impact visibly. I had to go in and rehack in all my theme customizations though. I really wish WordPress made that easier. Thanks to <a href=\"http://scottwallick.com/\">Scott Wallick</a> for making such a great theme. I really can&rsquo;t say enough good things about this theme.</p>\n<h3 id=\"filling-out-tags\">Filling Out Tags</h3>\n<p>Last is a bunch of manual labor. I&rsquo;m slowly getting tags applied to my archive. There are hundreds of posts that were made before my blog had tagging. This is getting filled in slowly but surely.</p>\n<p>Enjoy the updates!</p>\n",
        "date_published": "2007-12-01T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/12/01/website-updates-nov.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/10/06/moved-to-dreamhost.html",
        "title": "Moved to Dreamhost and WordPress 2.3",
        "content_html": "<p>It&rsquo;s been a couple of busy late nights here for me. I&rsquo;ve been doing major work with my websites, including this one.</p>\n<p>The last two months have been rough for thingelstad.com. There has been a lot of downtime and slow responses. I moved to TextDrive (no link for these guys) a while back and it was just horrible. I don&rsquo;t feel like using the kind of language I would need to describe how much I was frustrated with TextDrive. Let&rsquo;s just consider it a bad period.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/d7f794b72d.jpg\" alt=\"White crescent moon icon on a dark blue rounded square background, Dreamhost logo\" style=\"width: 150px; float: right; margin-left: 10px; \" />\n<p>I was looking for a new provider and a <a href=\"http://www.raanan.com/\">friend</a> recommended <a href=\"http://www.dreamhost.com/\">Dreamhost</a>. I started looking into it and liked what I saw.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/7c8af7fc20.gif\" alt=\"Green badge reading my site is GREEN with a leaf icon, promoting eco-friendly web hosting\" style=\"width: 100px; float: left; margin-right: 10px; \" />\n<p>They had an amazing promotion for their 10 year anniversary for a year of hosting for $9 ($119 with a $110 discount) so I went for it. I’m absolutely loving Dreamhost. The administrative interface is slick and fast. The directory layout they give you makes sense. You can even SSH in and do command line things when needed. This is a huge saver from time-to-time. On top of all that, Dreamhost buys carbon credits to neutralize their data center. While I&rsquo;d rather they used real renewable energy, this is a start.</p>\n<img src=\"https://cdn.uploads.micro.blog/890/2020/25813c3edd.jpg\" alt=\"WordPress logo, a bold blue W on a circular blue badge with a dark blue ring\" style=\"width: 150px; float: right; margin-left: 10px; \" />\n<p>Since I was burning the midnight oil already I decided to make the jump to <a href=\"http://wordpress.org/\">WordPress</a> 2.3. I was being uncharacteristically cautious due to the big changes with tagging in 2.3 and the potential for plug-in and theme incompatibilities. I decided to just go for it. It wasn&rsquo;t rough at all. I had to manually add the WordPress tagging system to my theme, but otherwise things went very smooth. I&rsquo;m now running 2.3 on all sites and it&rsquo;s humming right along.</p>\n<p>If you aren&rsquo;t using the <a href=\"http://techie-buzz.com/wordpress-plugins/wordpress-automatic-upgrade-plugin.html\">WordPress Automatic Upgrade Plug-in</a>, you need to. This thing is a huge time saver. I upgraded 4 WordPress sites with it and it was smooth as silk. Huge thumbs up!</p>\n",
        "date_published": "2007-10-06T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/10/06/moved-to-dreamhost.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/08/04/like-itunes-before.html",
        
        "content_html": "<p>Like iTunes before it, have now succumbed to flickr.</p>\n<p>Stunned and in awe over this WordPress Flickr Plugin.</p>\n",
        "date_published": "2007-08-04T19:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/08/04/like-itunes-before.html",
        "tags": ["Photography","Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/06/01/going-offline-with.html",
        "title": "Going Offline with Google Gears",
        "content_html": "<p>I just spent a little while getting caught up on a variety of sites with <a href=\"http://reader.google.com/\">Google Reader</a>. Reader is my RSS tool of choice. This isn&rsquo;t all that special, except that I did it while sitting on an airplane.</p>\n<p>Last night Google released the first &ldquo;developer release&rdquo; (alpha?) of <a href=\"http://gears.google.com/\">Google Gears</a>, and along with it Google Reader got a revision to allow you to go offline using Gears. The experience was pretty amazing. Reader works just as you would expect it to. You launch your web browser, go to the Reader URL and instead of the expected error since your not online, you actually get the site but in offline mode.</p>\n<p>This is a first release for Reader using the offline capability so it&rsquo;s a little overly modal (either offline or not) and some features are frustratingly unavailable, particularly marking all items read. To my surprise sharing items is available.</p>\n<p>Google Gears, the technology that makes this all possible, provides a nice suite of features to make this all work. I&rsquo;m assuming that the Googleplex is hard at work on making an offline version of <a href=\"http://www.gmail.com/\">GMail</a>, it&rsquo;s the most obvious next candidate. I did a little poking around the developer documentation for Gears and I was really excited to see that all the hooks are there for &lsquo;sometimes offline&rsquo; applications. With a little bit of ingenuity we should see web applications that seamlessly go online and offline as needed. I&rsquo;d love to see this in a number of tools &ndash; all the <a href=\"http://www.37signals.com/\">37 Signals</a> applications, <a href=\"http://www.wordpress.org/\">Wordpress</a>, <a href=\"http://www.google.com/calendar\">Google Calendar</a>.</p>\n<p>I think this is a big moment. The Internet is nearly pervasive, but there are times when it may be unavailable. The biggest net benefit of technology like Gears may be in making applications much more resilient to transient network failures &ndash; in addition to the offline experience.</p>\n<p>It will be worthwhile to keep a close eye on this space.</p>\n<h3 id=\"update\">Update</h3>\n<p>I used this on the flight back with a lot more unread items and it again worked great. Going offline took more time since there was more data. The lack of a mark all as read feature in offline Reader is a real pain though.</p>\n<h3 id=\"update-2\">Update 2</h3>\n<p>I tried getting this going in Firefox on Vista and the installer fails. The Mac OS X Firefox install is a breeze and is just a browser plugin. The Windows install is a separate installer. YMMV.</p>\n",
        "date_published": "2007-06-01T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/06/01/going-offline-with.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/05/23/t74662562.html",
        
        "content_html": "<p>Updating <a href=\"https://wordpress.org\">WordPress</a> to 2.2.</p>\n",
        "date_published": "2007-05-22T19:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/05/22/t74662562.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/05/02/new-look-for.html",
        "title": "New Look for the Site",
        "content_html": "<p>I&rsquo;ve grown tired of <a href=\"http://www.getk2.com/\">K2</a>, the <a href=\"http://www.wordpress.org/\">Wordpress</a> theme I was using. It&rsquo;s a nice theme, but I didn&rsquo;t like how heavy it was and I started growing more frustrated that it wasn&rsquo;t &ldquo;stretchy&rdquo;. I searched for a bit tonight for something better and after trying a number of them out, I found <a href=\"http://www.plaintxt.org/themes/blogtxt/\">blog.txt</a>. I wasn&rsquo;t sure about it at first, but I&rsquo;m really liking it now. It&rsquo;s super, super-simple and I like the elegance of it. I&rsquo;m having some trouble getting <a href=\"http://www.neato.co.nz/ultimate-tag-warrior/\">Ultimate Tag Warrior</a> to play with it, but I think it&rsquo;s doable.</p>\n<p>Let me know what you think, or if you find something broken.</p>\n<h3 id=\"update\">Update</h3>\n<p>I have tags working now, although it&rsquo;s not perfect. I&rsquo;ve sent a note to the <a href=\"http://scottwallick.com/\">theme creator</a> to see what his plans are. I&rsquo;m thinking he&rsquo;s going to wait for Wordpress 2.2 and native tags support rather than messing with Ultimate Tag Warrior. I also got <a href=\"http://www.sonsofskadi.net/extended-live-archive/\">Extended Live Archive</a> working in the <a href=\"https://www.thingelstad.com/archive/\">archives</a>. That makes me happy since I think the AJAX work in ELA is so helpful for that function &ndash; not just eye candy.</p>\n<p>I&rsquo;m liking this theme a lot &ndash; I like that it leaves the focus on the actual content and spares some of the cruft. I re-enabled some plugins (like <a href=\"http://alexking.org/projects/wordpress/readme?project=share-this\">Share This</a>) although I&rsquo;m not sure that I like the cruft it adds. We&rsquo;ll see.</p>\n<p>I&rsquo;ve also enabled <a href=\"http://mnm.uib.es/gallir/wp-cache-2/\">WP-Cache</a> for the first time. It seems transparent and promises speed improvements. I expect the site will be a ton faster for everyone already since the new theme is so much smaller than K2. I also dropped the number of items on the blog main page to 5. I expect that nobody reads down the page.</p>\n",
        "date_published": "2007-05-02T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/05/02/new-look-for.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/04/04/t19214281.html",
        
        "content_html": "<p>Unsubscribing from the <a href=\"https://digg.com\">digg</a> RSS feed. It&rsquo;s just too much now.</p>\n",
        "date_published": "2007-04-03T19:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/04/03/t19214281.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/03/10/wordpress-upgraded-to.html",
        
        "content_html": "<p>I finally bit the bullet and upgraded to\n<a href=\"http://www.wordpress.org/\">Wordpress</a> 2.1.2. Of course, it&rsquo;s not just a\nWordpress upgrade it&rsquo;s also an upgrade to <a href=\"http://www.getk2.com/\">K2</a>,\n<a href=\"http://www.neato.co.nz/ultimate-tag-warrior/\">Ultimate Tag Warrior</a>,\n<a href=\"http://txfx.net/code/wordpress/subscribe-to-comments/\">Subscribe to\nComments</a> and\nmaybe six other plugins that I use to make this site the awesome\nexperience it is. So far so good. The only mistake I made was an\noverzealous upgrade to K2 that I ended up losing all my custom header\nimages with. I could use some new ones anyway so I&rsquo;ll get that up soon.</p>\n<p>If you notice anything not working, please leave a comment to this post\nso I can get it fixed.</p>\n",
        "date_published": "2007-03-10T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/03/10/wordpress-upgraded-to.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/02/04/permalinks-and-seo.html",
        "title": "Permalinks and SEO",
        "content_html": "<p>I&rsquo;ve been playing with different permalink structures on my site. For the last couple of weeks I&rsquo;ve been using <code>/category/title</code>. Supposedly this is the most search engine optimized, however, it frustrates me greatly since the category of a post can and does change.</p>\n<p>I&rsquo;m going to settle on <code>/year/month/title</code>. This is more stable and will be simpler to manage in the archive. Some links may be sketchy &ndash; I&rsquo;ll get them fixed over time. Google is probably pretty upset with me right now, but my sitemap is updated and correct.</p>\n",
        "date_published": "2007-02-04T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/02/04/permalinks-and-seo.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2007/01/23/searches-reaching-my.html",
        "title": "Searches Reaching My Site",
        "content_html": "<p>I&rsquo;ve had <a href=\"http://analytics.google.com/\">Google Analytics</a> on my website since it became free. It&rsquo;s amazing the amount of detail it gives you. I barely use 10% of the data that it provides.</p>\n<p>Recently a friend of mine did some research on search terms that people used to get to his site. I was inspired to do some reflection on the search terms used to get to my site as well. Some observations.</p>\n<ul>\n<li>While only one person visited with the search phrase &ldquo;what is the distribution of coins in your change jar&rdquo; that is a very special visit. No doubt hitting on the <a href=\"https://www.thingelstad.com/2004/11/25/change-game.html\">Change Game</a>, but this curious person proceeded to click on 41 more pages of the site.</li>\n<li>A surprising number of people put my URL <strong>&ldquo;<a href=\"https://www.thingelstad.com\">www.thingelstad.com</a>&rdquo;</strong>\ninto a search engine so they can then click on it and go to my site.\nIt seems the search box and the location box are a bit confusing at\ntimes.</li>\n<li>I&rsquo;m pretty surprised by how many searches there are for people that\nwork with me and then somehow end up at my site.</li>\n<li>I&rsquo;ve only ever written <a href=\"https://www.thingelstad.com/2005/07/16/earthroamer-now-this.html\">one post about the Earthroamer\nRV</a>,\nbut I&rsquo;m stunned that it is the most popular search term of people\nreaching my site.</li>\n<li>Similarly, I once <a href=\"https://www.thingelstad.com/2005/02/27/pokipsy.html\">entitled a post\n<strong>&ldquo;Pokipsy&rdquo;</strong></a> and now 59\npeople have visited using that search term. Not surprisingly they\nleft right away since there isn&rsquo;t a thing about Pokipsy in the post\ntitled Pokipsy.</li>\n<li><strong>&ldquo;Twitterific&rdquo;</strong>, a <a href=\"https://www.thingelstad.com/2007/01/06/twitterific.html\">term I used only a two weeks\nago</a>, has already\nresulted in 21 visits to the site. Amazing!</li>\n</ul>\n",
        "date_published": "2007-01-23T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2007/01/23/searches-reaching-my.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2006/11/25/migrating-text-to.html",
        "title": "Migrating .Text to WordPress",
        "content_html": "<p>I recently bit the bullet and migrated my ancient <a href=\"http://workspaces.gotdotnet.com/dottext\">DotText</a> (.Text) blog to <a href=\"http://wordpress.org/\">WordPress</a>. It wasn&rsquo;t painless, and involved writing some code, but I&rsquo;m exceedingly happy with WordPress and finally\nfeel like I&rsquo;m on a modern blogging platform again.</p>\n<p>I considered for months and months (years?) going to <a href=\"http://communityserver.org/\">Community Server</a> (CS), which is the natural descendant of DotText, but it just didn&rsquo;t make sense. CS really serves a different purpose, and WordPress is so well designed for the task at\nhand.</p>\n<p>Before starting on this adventure, you may want to take a moment to increase your script timeout value for PHP to something exceedingly long. Some of the import PHP scripts will run for a couple of minutes (if you have hundreds of posts) and you don&rsquo;t want them killed in the middle. Change this in your php.ini.</p>\n<h3 id=\"migrating-posts\">Migrating Posts</h3>\n<p>This is actually pretty easy. There is no DotText importer for WordPress, so you have to resort to the lowest common denominator, RSS. WordPress has an importer that will take an RSS feed in a file and import the posts. The first step though is getting all of your posts in an RSS formatted XML file.</p>\n<p>DotText obviously supports RSS, however it only outputs the last 10 or 20 posts in the RSS feed. You can get around this by altering DotText to output all posts in the RSS feed. You can find <a href=\"http://www.pinkjoint.com/archives/software/exporting-all-posts-from-a-text-dottext-blog-via-rss/\">how to do this</a>, along with some <a href=\"http://www.pinkjoint.com/Shifty/Pinkjoint.Dottext.RSS.Export.zip\">pre-compiled DLLs</a> to alter the behavior at <a href=\"http://www.pinkjoint.com/archives/software/exporting-all-posts-from-a-text-dottext-blog-via-rss/\">PinkJoint</a>. Once you&rsquo;ve dropped these DLL&rsquo;s in when you hit your RSS feed it will return all posts. After that, save it to a file and you are ready to import using the RSS importer in WordPress.</p>\n<p>I found it helpful to open the RSS/XML file up in a <a href=\"http://www.textpad.com/\">text editor</a> and do some <a href=\"http://en.wikipedia.org/wiki/Regular_expression\">regular expression</a> work to change the URL&rsquo;s for referenced images to something more WordPress friendly. In my case, the path to images referenced in posts were all changing. It&rsquo;s perfect to do this to the XML file before doing the import.</p>\n<p>Now for an unfortunate item. RSS doesn&rsquo;t have a means (in a standard way at least) to include things like categories. Importing your content via RSS means you lose all existing category associations. This didn&rsquo;t bother me that much since I wasn&rsquo;t happy with the existing comments. You can also get WordPress plug-ins that will allow you to assign categories\nin bulk mode making it easier to fix this after migrating.</p>\n<h3 id=\"migrating-comments\">Migrating Comments</h3>\n<p>Now that the posts are moved over, we need to deal with comments. At first I considered just starting fresh with no comments, but I have over 400 comments and that seemed like a lot of content to just throw away. The method below worked great for me. I purposefully focused on tools that I was comfortable with, this could be done many different ways. The basic approach is to export all the comments into a simple CSV file, then import them using a custom PHP import script for WordPress. The connection between the comment and the post is the post title, so it is critical that you <em>do not edit the titles on any posts</em> until you&rsquo;ve\nimported your comments.</p>\n<p>The simplest way to get the comments into a CSV file is to use the SQL Server DTS tool. I selected a CSV file as a destination and used this SQL query to get the relevant content.</p>\n<div class=\"highlight\"><pre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"><code class=\"language-sql\" data-lang=\"sql\"><span style=\"display:flex;\"><span><span style=\"color:#66d9ef\">SELECT</span> posts.ID <span style=\"color:#66d9ef\">AS</span> PostID,\n</span></span><span style=\"display:flex;\"><span>       posts.Title,\n</span></span><span style=\"display:flex;\"><span>       posts.DateAdded,\n</span></span><span style=\"display:flex;\"><span>       <span style=\"color:#66d9ef\">comment</span>.ID <span style=\"color:#66d9ef\">AS</span> CommentID,\n</span></span><span style=\"display:flex;\"><span>       <span style=\"color:#66d9ef\">comment</span>.Title <span style=\"color:#66d9ef\">AS</span> CommentTitle,\n</span></span><span style=\"display:flex;\"><span>       <span style=\"color:#66d9ef\">comment</span>.DateAdded <span style=\"color:#66d9ef\">AS</span> CommentDate,\n</span></span><span style=\"display:flex;\"><span>       <span style=\"color:#66d9ef\">comment</span>.Author,\n</span></span><span style=\"display:flex;\"><span>       <span style=\"color:#66d9ef\">comment</span>.Email,\n</span></span><span style=\"display:flex;\"><span>       <span style=\"color:#66d9ef\">comment</span>.TitleUrl,\n</span></span><span style=\"display:flex;\"><span>       <span style=\"color:#66d9ef\">comment</span>.Text\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#66d9ef\">FROM</span> blog_Content <span style=\"color:#66d9ef\">COMMENT</span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#66d9ef\">INNER</span> <span style=\"color:#66d9ef\">JOIN</span> blog_Content posts <span style=\"color:#66d9ef\">ON</span> <span style=\"color:#66d9ef\">comment</span>.ParentID <span style=\"color:#f92672\">=</span> posts.ID\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#66d9ef\">WHERE</span> (<span style=\"color:#66d9ef\">comment</span>.PostType <span style=\"color:#f92672\">=</span> <span style=\"color:#ae81ff\">3</span>)\n</span></span></code></pre></div><p>This will get us a simple file with all of our comments dumped into it. With this file in hand, we can now do the import.</p>\n<div class=\"highlight\"><pre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"><code class=\"language-php\" data-lang=\"php\"><span style=\"display:flex;\"><span><span style=\"color:#f92672\">&lt;?</span><span style=\"color:#a6e22e\">php</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#66d9ef\">class</span> <span style=\"color:#a6e22e\">CommentsCSV_Import</span>\n</span></span><span style=\"display:flex;\"><span>{\n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#66d9ef\">var</span> $file;\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#66d9ef\">function</span> <span style=\"color:#a6e22e\">header</span>()\n</span></span><span style=\"display:flex;\"><span>  {\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">echo</span> <span style=\"color:#e6db74\">&#39;&lt;div class=&#34;wrap&#34;&gt;&#39;</span>;\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">echo</span> <span style=\"color:#e6db74\">&#39;&lt;h2&gt;&#39;</span> <span style=\"color:#f92672\">.</span> <span style=\"color:#a6e22e\">__</span>(<span style=\"color:#e6db74\">&#39;Import Comments from CSV&#39;</span>) <span style=\"color:#f92672\">.</span> <span style=\"color:#e6db74\">&#39;&lt;/h2&gt;&#39;</span>;\n</span></span><span style=\"display:flex;\"><span>  }\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#66d9ef\">function</span> <span style=\"color:#a6e22e\">footer</span>()\n</span></span><span style=\"display:flex;\"><span>  {\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">echo</span> <span style=\"color:#e6db74\">&#39;&lt;/div&gt;&#39;</span>;\n</span></span><span style=\"display:flex;\"><span>  }\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#66d9ef\">function</span> <span style=\"color:#a6e22e\">unhtmlentities</span>($string)\n</span></span><span style=\"display:flex;\"><span>  {\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#75715e\">// From php.net for &lt; 4.3 compat\n</span></span></span><span style=\"display:flex;\"><span>    $trans_tbl <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">get_html_translation_table</span>(<span style=\"color:#a6e22e\">HTML_ENTITIES</span>);\n</span></span><span style=\"display:flex;\"><span>    $trans_tbl <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">array_flip</span>($trans_tbl);\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">return</span> <span style=\"color:#a6e22e\">strtr</span>($string, $trans_tbl);\n</span></span><span style=\"display:flex;\"><span>  }\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#66d9ef\">function</span> <span style=\"color:#a6e22e\">greet</span>()\n</span></span><span style=\"display:flex;\"><span>  {\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">echo</span> <span style=\"color:#e6db74\">&#39;&lt;p&gt;&#39;</span> <span style=\"color:#f92672\">.</span> <span style=\"color:#a6e22e\">__</span>(<span style=\"color:#e6db74\">&#39;Hello. This importer will load the comments from a previous blog that you have dumped to a CSV file into Wordpress. Find your special CSV file to upload and click Import.&#39;</span>) <span style=\"color:#f92672\">.</span> <span style=\"color:#e6db74\">&#39;&lt;/p&gt;&#39;</span>;\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#a6e22e\">wp_import_upload_form</span>(<span style=\"color:#e6db74\">&#34;admin.php?import=commentscsv&amp;step=1&#34;</span>);\n</span></span><span style=\"display:flex;\"><span>  }\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#66d9ef\">function</span> <span style=\"color:#a6e22e\">import_comments</span>()\n</span></span><span style=\"display:flex;\"><span>  {\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">global</span> $wpdb;\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#75715e\">/*\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">    open up our file and loop through it…\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">    the CSV file is expected to have these columns\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">    0 = Original Post ID\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">    1 = Post Title\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">    2 = Post Date\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">    3 = Original Comment ID\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">    4 = Comment Title\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">    5 = Comment Date\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">    6 = Comment Author\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">    7 = Comment Email\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">    8 = Comment Author Website\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">    9 = Comment Text\n</span></span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">    */</span>\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#a6e22e\">set_magic_quotes_runtime</span>(<span style=\"color:#ae81ff\">0</span>);\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    $row <span style=\"color:#f92672\">=</span> <span style=\"color:#ae81ff\">1</span>;\n</span></span><span style=\"display:flex;\"><span>    $handle <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">fopen</span>($this<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">file</span>, <span style=\"color:#e6db74\">&#34;r&#34;</span>);\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">while</span> (($data <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">fgetcsv</span>($handle, <span style=\"color:#ae81ff\">10000</span>, <span style=\"color:#e6db74\">&#34;,&#34;</span>)) <span style=\"color:#f92672\">!==</span> <span style=\"color:#66d9ef\">false</span>) {\n</span></span><span style=\"display:flex;\"><span>      <span style=\"color:#66d9ef\">echo</span> <span style=\"color:#e6db74\">&#34;&lt;p&gt; &lt;strong&gt;Reading row </span><span style=\"color:#e6db74\">$row</span><span style=\"color:#e6db74\">.&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;</span><span style=\"color:#ae81ff\">\\n</span><span style=\"color:#e6db74\">&#34;</span>;\n</span></span><span style=\"display:flex;\"><span>      $data[<span style=\"color:#ae81ff\">1</span>] <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">str_replace</span>(<span style=\"color:#e6db74\">&#39;\\&#39;&#39;</span>, <span style=\"color:#e6db74\">&#39;\\\\\\&#39;&#39;</span>, $data[<span style=\"color:#ae81ff\">1</span>]);\n</span></span><span style=\"display:flex;\"><span>      <span style=\"color:#66d9ef\">echo</span> <span style=\"color:#e6db74\">&#34;&lt;p&gt; Comment ID </span><span style=\"color:#e6db74\">$data[3]</span><span style=\"color:#e6db74\"> (</span><span style=\"color:#e6db74\">$data[4]</span><span style=\"color:#e6db74\">) for Post ID </span><span style=\"color:#e6db74\">$data[0]</span><span style=\"color:#e6db74\"> (</span><span style=\"color:#e6db74\">$data[1]</span><span style=\"color:#e6db74\">).&lt;br /&gt;&lt;/p&gt;</span><span style=\"color:#ae81ff\">\\n</span><span style=\"color:#e6db74\">&#34;</span>;\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>      <span style=\"color:#75715e\">// get the ID of the post this comment is for\n</span></span></span><span style=\"display:flex;\"><span>      $post_id <span style=\"color:#f92672\">=</span> $wpdb<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">get_var</span>(<span style=\"color:#e6db74\">&#34;SELECT ID FROM </span><span style=\"color:#e6db74\">$wpdb-&gt;posts</span><span style=\"color:#e6db74\"> WHERE post_title = &#39;</span><span style=\"color:#e6db74\">$data[1]</span><span style=\"color:#e6db74\">&#39;&#34;</span>);\n</span></span><span style=\"display:flex;\"><span>      <span style=\"color:#66d9ef\">echo</span> <span style=\"color:#e6db74\">&#34;&lt;p&gt; Found new ID of </span><span style=\"color:#e6db74\">$post_id</span><span style=\"color:#e6db74\">.&lt;br /&gt;&lt;/p&gt;</span><span style=\"color:#ae81ff\">\\n</span><span style=\"color:#e6db74\">&#34;</span>;\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>      <span style=\"color:#75715e\">//get the dates in the right format\n</span></span></span><span style=\"display:flex;\"><span>      <span style=\"color:#66d9ef\">echo</span> <span style=\"color:#e6db74\">&#34;&lt;p&gt; Comment from </span><span style=\"color:#e6db74\">$data[6]</span><span style=\"color:#e6db74\"> (</span><span style=\"color:#e6db74\">$data[7]</span><span style=\"color:#e6db74\">, </span><span style=\"color:#e6db74\">$data[8]</span><span style=\"color:#e6db74\">) on </span><span style=\"color:#e6db74\">$data[5]</span><span style=\"color:#e6db74\">.&lt;br /&gt;&lt;/p&gt;</span><span style=\"color:#ae81ff\">\\n</span><span style=\"color:#e6db74\">&#34;</span>;\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>      <span style=\"color:#75715e\">// cleanup the comment text\n</span></span></span><span style=\"display:flex;\"><span>      $data[<span style=\"color:#ae81ff\">9</span>] <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">str_replace</span>(<span style=\"color:#e6db74\">&#39;\\&#39;&#39;</span>, <span style=\"color:#e6db74\">&#39;\\\\\\&#39;&#39;</span>, $data[<span style=\"color:#ae81ff\">9</span>]);\n</span></span><span style=\"display:flex;\"><span>      $data[<span style=\"color:#ae81ff\">6</span>] <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">str_replace</span>(<span style=\"color:#e6db74\">&#39;\\&#39;&#39;</span>, <span style=\"color:#e6db74\">&#39;\\\\\\&#39;&#39;</span>, $data[<span style=\"color:#ae81ff\">6</span>]);\n</span></span><span style=\"display:flex;\"><span>      $data[<span style=\"color:#ae81ff\">9</span>] <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">str_replace</span>(<span style=\"color:#e6db74\">&#39;&lt;br&gt;&#39;</span>, <span style=\"color:#e6db74\">&#39;&lt;br /&gt;&#39;</span>, $data[<span style=\"color:#ae81ff\">9</span>]);\n</span></span><span style=\"display:flex;\"><span>      $data[<span style=\"color:#ae81ff\">9</span>] <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">str_replace</span>(<span style=\"color:#e6db74\">&#39;&lt;hr&gt;&#39;</span>, <span style=\"color:#e6db74\">&#39;&lt;hr /&gt;&#39;</span>, $data[<span style=\"color:#ae81ff\">9</span>]);\n</span></span><span style=\"display:flex;\"><span>      <span style=\"color:#66d9ef\">echo</span> <span style=\"color:#e6db74\">&#34;&lt;p&gt; Comment:&lt;br/&gt;</span><span style=\"color:#e6db74\">$data[9]</span><span style=\"color:#e6db74\">&lt;br /&gt;&lt;/p&gt;</span><span style=\"color:#ae81ff\">\\n</span><span style=\"color:#e6db74\">&#34;</span>;\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>      <span style=\"color:#75715e\">// insert comment\n</span></span></span><span style=\"display:flex;\"><span>      $ret_id <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">wp_insert_comment</span>([\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#e6db74\">&#39;comment_post_ID&#39;</span> <span style=\"color:#f92672\">=&gt;</span> $post_id,\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#e6db74\">&#39;comment_author&#39;</span> <span style=\"color:#f92672\">=&gt;</span> $data[<span style=\"color:#ae81ff\">6</span>],\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#e6db74\">&#39;comment_author_email&#39;</span> <span style=\"color:#f92672\">=&gt;</span> $data[<span style=\"color:#ae81ff\">7</span>],\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#e6db74\">&#39;comment_author_url&#39;</span> <span style=\"color:#f92672\">=&gt;</span> $data[<span style=\"color:#ae81ff\">8</span>],\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#e6db74\">&#39;comment_author_IP&#39;</span> <span style=\"color:#f92672\">=&gt;</span> <span style=\"color:#e6db74\">&#39;0.0.0.0&#39;</span>,\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#e6db74\">&#39;comment_date&#39;</span> <span style=\"color:#f92672\">=&gt;</span> $data[<span style=\"color:#ae81ff\">5</span>],\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#e6db74\">&#39;comment_content&#39;</span> <span style=\"color:#f92672\">=&gt;</span> $data[<span style=\"color:#ae81ff\">9</span>],\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#e6db74\">&#39;comment_approved&#39;</span> <span style=\"color:#f92672\">=&gt;</span> <span style=\"color:#ae81ff\">1</span>,\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#e6db74\">&#39;user_id&#39;</span> <span style=\"color:#f92672\">=&gt;</span> <span style=\"color:#ae81ff\">0</span>,\n</span></span><span style=\"display:flex;\"><span>      ]);\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>      <span style=\"color:#75715e\">// increment counter\n</span></span></span><span style=\"display:flex;\"><span>      $row<span style=\"color:#f92672\">++</span>;\n</span></span><span style=\"display:flex;\"><span>    }\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#a6e22e\">fclose</span>($handle);\n</span></span><span style=\"display:flex;\"><span>  }\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#66d9ef\">function</span> <span style=\"color:#a6e22e\">import</span>()\n</span></span><span style=\"display:flex;\"><span>  {\n</span></span><span style=\"display:flex;\"><span>    $file <span style=\"color:#f92672\">=</span> <span style=\"color:#a6e22e\">wp_import_handle_upload</span>();\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">if</span> (<span style=\"color:#a6e22e\">isset</span>($file[<span style=\"color:#e6db74\">&#39;error&#39;</span>])) {\n</span></span><span style=\"display:flex;\"><span>      <span style=\"color:#66d9ef\">echo</span> $file[<span style=\"color:#e6db74\">&#39;error&#39;</span>];\n</span></span><span style=\"display:flex;\"><span>      <span style=\"color:#66d9ef\">return</span>;\n</span></span><span style=\"display:flex;\"><span>    }\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    $this<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">file</span> <span style=\"color:#f92672\">=</span> $file[<span style=\"color:#e6db74\">&#39;file&#39;</span>];\n</span></span><span style=\"display:flex;\"><span>    $this<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">import_comments</span>();\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#a6e22e\">wp_import_cleanup</span>($file[<span style=\"color:#e6db74\">&#39;id&#39;</span>]);\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">echo</span> <span style=\"color:#e6db74\">&#39;&lt;h3&gt;&#39;</span>;\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#a6e22e\">printf</span>(<span style=\"color:#a6e22e\">__</span>(<span style=\"color:#e6db74\">&#39;All done. &lt;a href=&#34;%s&#34;&gt;Have fun!&lt;/a&gt;&#39;</span>), <span style=\"color:#a6e22e\">get_option</span>(<span style=\"color:#e6db74\">&#39;home&#39;</span>));\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">echo</span> <span style=\"color:#e6db74\">&#39;&lt;/h3&gt;&#39;</span>;\n</span></span><span style=\"display:flex;\"><span>  }\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#66d9ef\">function</span> <span style=\"color:#a6e22e\">dispatch</span>()\n</span></span><span style=\"display:flex;\"><span>  {\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">if</span> (<span style=\"color:#66d9ef\">empty</span>($_GET[<span style=\"color:#e6db74\">&#39;step&#39;</span>])) {\n</span></span><span style=\"display:flex;\"><span>      $step <span style=\"color:#f92672\">=</span> <span style=\"color:#ae81ff\">0</span>;\n</span></span><span style=\"display:flex;\"><span>    } <span style=\"color:#66d9ef\">else</span> {\n</span></span><span style=\"display:flex;\"><span>      $step <span style=\"color:#f92672\">=</span> (<span style=\"color:#a6e22e\">int</span>) $_GET[<span style=\"color:#e6db74\">&#39;step&#39;</span>];\n</span></span><span style=\"display:flex;\"><span>    }\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    $this<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">header</span>();\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#66d9ef\">switch</span> ($step) {\n</span></span><span style=\"display:flex;\"><span>      <span style=\"color:#66d9ef\">case</span> <span style=\"color:#ae81ff\">0</span><span style=\"color:#f92672\">:</span>\n</span></span><span style=\"display:flex;\"><span>        $this<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">greet</span>();\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#66d9ef\">break</span>;\n</span></span><span style=\"display:flex;\"><span>      <span style=\"color:#66d9ef\">case</span> <span style=\"color:#ae81ff\">1</span><span style=\"color:#f92672\">:</span>\n</span></span><span style=\"display:flex;\"><span>        $this<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">import</span>();\n</span></span><span style=\"display:flex;\"><span>        <span style=\"color:#66d9ef\">break</span>;\n</span></span><span style=\"display:flex;\"><span>    }\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>    $this<span style=\"color:#f92672\">-&gt;</span><span style=\"color:#a6e22e\">footer</span>();\n</span></span><span style=\"display:flex;\"><span>  }\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>  <span style=\"color:#66d9ef\">function</span> <span style=\"color:#a6e22e\">CommentsCSV_Import</span>()\n</span></span><span style=\"display:flex;\"><span>  {\n</span></span><span style=\"display:flex;\"><span>    <span style=\"color:#75715e\">// Nothing.\n</span></span></span><span style=\"display:flex;\"><span>  }\n</span></span><span style=\"display:flex;\"><span>}\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span>$commentscsv_import <span style=\"color:#f92672\">=</span> <span style=\"color:#66d9ef\">new</span> <span style=\"color:#a6e22e\">CommentsCSV_Import</span>();\n</span></span><span style=\"display:flex;\"><span>\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#a6e22e\">register_importer</span>(<span style=\"color:#e6db74\">&#39;commentscsv&#39;</span>, <span style=\"color:#a6e22e\">__</span>(<span style=\"color:#e6db74\">&#39;CommentsCSV&#39;</span>), <span style=\"color:#a6e22e\">__</span>(<span style=\"color:#e6db74\">&#39;Import posts from an CSV file of comments&#39;</span>), [$commentscsv_import, <span style=\"color:#e6db74\">&#39;dispatch&#39;</span>]);\n</span></span><span style=\"display:flex;\"><span><span style=\"color:#75715e\">?&gt;</span><span style=\"color:#960050;background-color:#1e0010\">\n</span></span></span></code></pre></div><p>Copy the above CommentsCSV importer and place it in the importer directory. Go to the import tab and you will see CommentsCSV listed. Upload the file and watch it do it’s magic.</p>\n<p>Note that CommentsCSV does a minimal effort to make things XHTML compliant, but don&rsquo;t expect pretty XHTML at the end.</p>\n<h3 id=\"whats-left\">What&rsquo;s Left?</h3>\n<p>So we now have all of our posts (without their categories) and they have all the relevant comments attached to them. We are sitting pretty at this point, but, there are some gotchas.</p>\n<p>Articles don&rsquo;t get sent in the RSS feed for DotText so you will not have those imported. There really isn&rsquo;t an equivalent of an article in WordPress, and most DotText users have a small number of articles. I&rsquo;m just moving mine by hand doing a copy/paste of the HTML into WordPress.</p>\n<p>I hope that others find this helpful in their migration to WordPress. Feel free to contribute your own experience in the comments.</p>\n",
        "date_published": "2006-11-25T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2006/11/25/migrating-text-to.html",
        "tags": ["Software Development","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2006/11/08/new-site-up.html",
        "title": "New Site Up!",
        "content_html": "<p>After wasting a lot of time messing with the routing options on my Zywall 10 I think I finally got the port-forwarding configuration setup right so that the new website is up and running! Yeah! Hint for anyone trying to configure that on the Zywall, go to the manual, and jump to the example configurations at the end. It was the only way I found the <em>voodoo</em> required to make it work.</p>\n<p>Let me know what you think of the new site. There are a ton of features on it, and I&rsquo;m planning on enabling some more stuff and filling out the corners over the next few days.</p>\n<p>Regular visitors will notice that the photo galleries are gone. I&rsquo;m looking for a solution for that that will work well with <a href=\"https://wordpress.org\">WordPress</a>.</p>\n",
        "date_published": "2006-11-08T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2006/11/08/new-site-up.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2006/11/07/new-website-coming.html",
        "title": "New Website Coming!",
        "content_html": "<p>This post is a heads up that a new thingelstad.com is on the way! I&rsquo;ve finally made the push to get things into a new blogging package (<a href=\"https://wordpress.org\">WordPress</a>) and am just finalizing things now. The new site will be up by the end of the week.</p>\n<p>I&rsquo;m going to try to redirect as many links as possible, particularly the RSS feeds, but if you haven&rsquo;t heard anything from this blog in a few days you should check your feed links.</p>\n<p>The new site is going to be <strong>GREAT!</strong></p>\n",
        "date_published": "2006-11-07T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2006/11/07/new-website-coming.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2006/10/25/google-reader-thumbs.html",
        "title": "Google Reader",
        "content_html": "<p>Google released a new version of the <a href=\"http://www.google.com/reader/\">Google Reader</a> a couple of weeks ago and I&rsquo;ve been using it for the last few days. I think that I&rsquo;ve finally found a web-based RSS reader that I can live with now.</p>\n<p>I&rsquo;ve wanted to move my RSS reading to a web reader so that I can access it anywhere, particularly on a mobile device. Google Reader in it&rsquo;s previous incarnations just didn&rsquo;t hit it right to me. The significant redesign they did really hit the usability issues right on the head.</p>\n<p>If your looking for something a bit more sophisticated, and mobile, than the RSS functions of Thunderbird check out Reader. I don&rsquo;t think you&rsquo;ll be dissapointed.</p>\n",
        "date_published": "2006-10-25T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2006/10/25/google-reader-thumbs.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2006/01/10/desktop-blogging.html",
        "title": "Desktop Blogging",
        "content_html": "<p>I may be in a minority of people running a web site and still creating content by typing into a web page. I&rsquo;ve decided to get &ldquo;with it&rdquo; and try a desktop blogging client. I&rsquo;m giving <a href=\"http://blogjet.com/\">BlogJet</a> and <a href=\"http://www.bytescout.com/post2blog.html\">Post2Blog</a> a run. They have some wonderful features, one of the key selling points being the ability for me to easily attach images and other binary objects and have it automatically uploaded to another hosting provider. The other big win is that I can write things offline and upload them later. We&rsquo;ll see if I think it&rsquo;s worth the (low) cost, but so far so good.</p>\n<p>I also looked at <a href=\"http://www.wbloggar.com/\">w.bloggar</a>, but it&rsquo;s just not as slick as either of these two tools.</p>\n",
        "date_published": "2006-01-10T01:00:00-05:00",
        "url": "https://www.thingelstad.com/2006/01/10/desktop-blogging.html",
        "tags": ["Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2005/08/04/now-ive-made.html",
        "title": "Now I've Made .Text Unhappy",
        "content_html": "<p>I&rsquo;ve modified and specialized this website so much it’s rather ridiculous. I use .Text for the site, and it&rsquo;s open source which is fun since you can change things, which I&rsquo;ve done extensively. Now however I seem to have introduced a bug that keeps me from editing any post that is already published, the page throws an exception.</p>\n<p>Trying to dig through and find what&rsquo;s causing this is going to be, well, interesting. One more incentive to move to a new code base that is still being supported. Ugh!</p>\n<h3 id=\"update\">Update</h3>\n<p>Actually it seems I&rsquo;ve only broken it so that any post I create in a browser other than Internet Explorer, like <a href=\"http://www.getfirefox.com/\">Firefox</a>, cannot be opened for editing again. This sucks, as <a href=\"http://www.getfirefox.com/\">Firefox</a> is the &ldquo;Peoples Browser&rdquo;, but I think I can live with it for a while.</p>\n",
        "date_published": "2005-08-04T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2005/08/04/now-ive-made.html",
        "tags": ["Technology","Blogging"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2005/07/16/blog-upgrades.html",
        "title": "Blog Upgrades",
        "content_html": "<p>Applied a couple of upgrades to the blog this morning. Decent amount of work that will have absolutely zero impact on you the reader. 🙂 I did a decent amount of research on upgrading from my .Text blogging engine to it&rsquo;s successor, Community Server. CS is now at 1.1 and it&rsquo;s improving, but it&rsquo;s got a lot of pork with forums added. While it is certainly feasible for me to migrate, great people out there have written <a href=\"http://kevinharder.com/blogs/kevin/archive/2005/06/09/dottext_cs_converter_22.aspx\">wonderful tools to help make that possible</a>, I&rsquo;m going to wait a bit longer I think. Perhaps wait for a 2.0 release. In the meantime I&rsquo;m stuck using my great, but now dead, open-source .Text package. So, time to spiff it up a bit.</p>\n<p>First, I removed all the old spam protection I put on my sites with the random character CAPTCHA and all that and went a different route using this <a href=\"http://www.angrypets.com/tools/rdos/\">ReverseDOS toolkit</a> from <a href=\"http://www.angrypets.com/\">angrypets.com</a>. I just installed it this morning so we&rsquo;ll see how it goes, but it doesn&rsquo;t put the burden on a person and tries to make life real hard for spammers.</p>\n<p>The second big upgrade was to move from FreeTextBox 1.0 (built into .Text) to <a href=\"http://www.freetextbox.com/\">FreeTextBox</a> 3.0. The main driver behind this was so I could have a nice, rich editing environment with spell checking in Firefox (FTB 1.0 did not support Firefox). This proved to be a bit of a hassle, lots of trial and error, but I now have it working great. Google is the savior here of course since there are about a dozen sites that tell you how to do it but they all seem to be missing one or two steps. You have to feel your way with Jedi-like focus in order to get it working. These are the best references: <a href=\"http://blog.danbartels.com/articles/266.aspx\">DanBartels.CS</a>, <a href=\"http://dbvt.com/blog/archive/2005/02/15/1264.aspx\">Dave Burke</a> (2.0 actually, but steps are helpful) and <a href=\"http://markyologist.com/2004/07/11/FireFoxFreeTextBox2AndText.aspx\">Markyologist</a> (don&rsquo;t forget the browsercaps!).</p>\n",
        "date_published": "2005-07-16T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2005/07/16/blog-upgrades.html",
        "tags": ["Blogging","Privacy \u0026 Security"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2005/06/30/comment-spam-protection.html",
        "title": "Comment Spam Protection",
        "content_html": "<p>Just implemented some further spam protection to keep the <em>evil doers</em> at bay. I installed this <a href=\"http://blogs.clearscreen.com/migs/archive/2005/04/05/1270.aspx\">great add-on that requires entering a validation code before providing feedback</a>. I realize it is a bit of a pain, and sometimes the validation code is hard even for people to read, but it keeps those evil spammers away.</p>\n",
        "date_published": "2005-06-30T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2005/06/30/comment-spam-protection.html",
        "tags": ["Blogging","Privacy \u0026 Security"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2005/06/24/stopping-trackback-spam.html",
        "title": "Stopping TrackBack Spam with DotText",
        "content_html": "<p>I&rsquo;ve seen a huge increase in trackback spam to my sites lately. It&rsquo;s now reached hundreds a day. I thought this was one or two hosts so I added a rule to snort to capture trackback spam and found it was coming from nearly all unique IP addresses. I&rsquo;m guessing this is being propogated via spyware that is sitting on unsuspecting peoples computers. I couldn&rsquo;t just block this at the router like I do with feedback spam since it was coming from a variety of sources.</p>\n<p>I did a quick search after a failed attempt at stopping this with <a href=\"http://www.isapirewrite.com/\">ISAPI URL rewriting</a> because it cannot see POST data. However, <a href=\"http://briandela.com/blog/archive/2005/06/17/500.aspx\">a developer in Ireland has solved this problem and been kind enough to share his solution</a>. I just installed it and am waiting to verify everything works well. One concern I have is that his solution is built against DotText 0.95.2004.102 and I&rsquo;m running 0.95.2004.111. The 111 build was a bug fix build, and the last one that I know of, issued by the author to fix some API issues. So far the <code>Dottext.Framework.dll</code> file seems to work fine intermixed with the other version, but I&rsquo;m not positive yet.</p>\n<p>While typing this I got my first spam alert, check it out</p>\n<blockquote>\n<p>Spam has been detected!!!</p>\n<p>Title: black jack<br>\nURL: BLAHBLAH<br>\nIP Address: 218.244.225.180<br>\nExcerpt:</p>\n<p>Take your time to visit some helpful info in the field of &lt;A href=&ldquo;URL REMOVED&rdquo;&gt;vegas casinos&lt;/A&gt;</p>\n</blockquote>\n<p>Looks like the detection part is working! Provided I don&rsquo;t have anything break I&rsquo;m going to be a much happier blogger.</p>\n",
        "date_published": "2005-06-24T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2005/06/24/stopping-trackback-spam.html",
        "tags": ["Blogging","Privacy \u0026 Security"]
      },
      {
        "id": "http://jthingelstad.micro.blog/2004/09/09/public-radio-does.html",
        "title": "Public Radio does RSS",
        "content_html": "<p>I stumbled across this on the Internet tonight. Guess I just never thought to check, but <a href=\"http://www.npr.org/\">National Public Radio</a> exposes a lot of content via RSS. Also, <a href=\"http://minnesota.publicradio.org/\">Minnesota Public Radio</a> also has an RSS feed through them. <a href=\"http://www.npr.org/rss/\">Go get some good news feeds</a>!</p>\n",
        "date_published": "2004-09-09T00:00:00-05:00",
        "url": "https://www.thingelstad.com/2004/09/09/public-radio-does.html",
        "tags": ["Blogging"]
      }
  ]
}
