• The updated navigation structure on numericcitizen.me. This blog is hosted on Ghost.org.

  • For those who didn’t know, I maintain a description of all the apps and services that I use on “My Complete Content Creator Toolset And Some More” page.

  • Bye bye Hookmark, apparently my current subscription ended. I cannot justify subscribing to this app just to be able to browse hookmark files created when my subscription was active. I’ll need to update some of my Craft templates to remove all my hookmark file references. Tedious.

  • I spent some time this morning to update my content creator toolset mini website. It was long overdue.

  • Why So Many Publishing Platforms?

    For long-time readers and followers, they know that I own a few websites or publishing places, but a reminder is always welcomed. With so many places to publish to, you might wonder why not use only one big website. Well, I’m glad you asked. You’ll find most of the answers in the following diagram.

    My (too) many publishing platforms

    As you can see, each place fills a different role. Think of them as publishing channels. I prefer to have many focused places with content directed to a specific crowd over having a single channel full of seemingly unrelated posts. But there is more to it: I love using different tools and services. Each has its strengths and weaknesses and a specific set of features. That’s what drives me the most to use different publishing platforms.

  • Combining Craft And Things 3 For My Writing Projects

    This article is about how I’m using Craft and Things 3, which is behind any short or long article I share online. Here is what happens when I get a new post idea.

    1. In Things 3, Create an entry and set priority and desired or expected date of publication if known.
    2. In Craft, I create a new document, set the title and then copy the document’s deeplink to the clipboard.
    3. Still within Craft, I move the newly created document to the appropriate folder.
    4. Still within Craft, I update my private creator dashboard document optionally.
    5. Back to Things 3, and I paste the deeplink into the note field. It’s handy to jump from Things 3 to Craft with a single tap.

    At this point, I can start my research, writing and editing of my article or blog post in Craft. Now, here is what happens after publishing my article:

    1. Mark the to-do item as done in Things 3.
    2. I update my private creator dashboard document by converting my deeplink to a new permalink that I put in the Recently Published section.
    3. I monitor the appropriate RSS feed for quality control. See this article about subscribing to my own RSS feeds.

    There you have it. Craft plays a central role in my blogger workflow1. This blog post exposes what happens at the beginning and at the end of a new post idea. I hope you enjoyed it and maybe learned something.


    1. Not all blog posts start in Craft. Far from it. ↩︎

  • Combining Craft And Things 3 For My Writing Projects

    This article is about how I’m using Craft and Things 3, which is behind any short or long article I share online. Here is what happens when I get a new post idea.

    1. In Things 3, Create an entry and set priority and desired or expected date of publication if known.
    2. In Craft, I create a new document, set the title and then copy the document’s deeplink to the clipboard.
    3. Still within Craft, I move the newly created document in the appropriate folder.
    4. Still within Craft, I optionally update my private creator dashboard document.
    5. Back to Things 3 and I paste the deeplink in the note field. It’s handy to jump from Things 3 to Craft with a single tap.

    At this point, I can start my research, writing and editing of my article or blog post in Craft. Now, here is what happens after publishing my article:

    1. Mark the to-do item as done in Things 3.
    2. I update my private creator dashboard document by converting my deeplink to a new a permalink that I put in the Recently Published section.
    3. I monitor the appropriate RSS feed for quality control. See this article about subscribing to my own RSS feeds.

    There you have it. Craft plays a central role in My Blogger Workflow. This blog post exposes what happens at the beginning and at the end of a new post idea. I hope you enjoyed it and maybe learned something.

  • ❗Short announcement: I made some changes to my megafeed hosted on FeedPress by adding Blips RSS feed and this metablog RSS feed. If you want to get everything I share via a single RSS feed, this is what you need to subscribe to in your favourite browser. All updates to my digital presence are posted on this changelog page. Now, returning to normal programming. 📺

  • On Sharing My Writings — What Goes Where

    I recently got a few comments and questions from some followers on Micro.blog about my use of Scribbles versus Micro.blog blog hosting services. One guy couldn’t figure out why I was using Scribbles to write very short posts using a one-word title while I was using Micro.blog for longer posts, most of them without a title. I replied with a short answer, but I think I should elaborate for those who have been following me for some time or for those who just got here.

    Numeric Citizen Digital Space Tip Sheet 2024-01-Hires.png

    I use three distinct sites for posting written content. My main website (https://numericcitizen.me ), which came first, is currently hosted on Ghost. Next is my Micro.blog site (https://blog.numericcitizen.me), and, more recently, I added another small website hosted on Scribbles https://blips.numericcitizen.me. Let me explain each site’s purposes.

    My main website is for posting longer articles like tech reviews (like “Five tools for efficient bloggers”) or for sharing long takes on a specific subject (like: “Five Steps for leaving Twitter”). My publication velocity is about one article per week. This is where my weekly creative summary newsletter gets published, thanks to Ghost’s built-in newsletter capabilities.

    My second website is my daily blog, called “my blog,” and is where I post comments and thoughts about Apple, tech, photography, apps and services, and many other things. My blogging site is part of Micro.blog, there is a small community around it, thanks to Micro.blog fediverse support. Somehow, Micro.blog replaced Twitter for me, more than my presence on Mastodon did. I usually post around 10-20 weekly posts on Micro.blog. I like this place a lot for so many reasons.

    I recently started using Scribbles, a small blog hosting service I like and want to support. I’m using this service to post short thoughts using a single-word title. These posts are then cross-posted to my Micro.blog timeline with a link going back to my Scribbles site. You can see an example of such a post appearing on my Micro.blog timeline in the following screenshot. Each post sports two emojis to help me spot them in my timeline. One thing I try to do is not to be too clickbait with my single-word title. The chosen word must be evocative or related to the post content.

    Image.png

    The post on Scribbles gets cross-posted on my Micro.blog timeline by using one of the coolest features of Micro.blog: cross-posting of content coming from RSS feeds. This is shown in the following screenshot.

    Image.png

    Micro.blog picks up posts from the Scribbles website RSS feed and will post content on my timeline, as well as cross-post it to Mastodon and Bluesky. This is POSSE in action. I’m a believer.

    When I first thought about writing this article, I wasn’t sure where it would end up being shared. However, as the article grew in length and covered my blogging habits, it became obvious that it would go on my meta website, which is another one of my websites. There you have it.

  • On Sharing My Writings — What Goes Where

    I recently got a few comments and questions from some followers on Micro.blog about my use of Scribbles versus Micro.blog blog hosting services. One guy couldn’t figure out why I was using Scribbles to write very short posts using a one-word title while I was using Micro.blog for longer posts, most of them without a title. I replied with a short answer, but I think I should elaborate for those who have been following me for some time or for those who just got here.

    Numeric Citizen Digital Space Tip Sheet 2024-01-Hires.png

    I use three distinct sites for posting written content. My main website (https://numericcitizen.me ), which came first, is currently hosted on Ghost. Next is my Micro.blog site (https://blog.numericcitizen.me) and, more recently, I added another small website hosted on Scribbles https://blips.numericcitizen.me. Let me explain each site’s purposes.

    My main website is for posting longer articles like tech reviews (like “Five tools for efficient bloggers”) or for sharing long takes on a specific subject (like: “Five Steps for leaving Twitter”). My publication velocity is about one article per week. This is where my weekly creative summary newsletter gets published, thanks to Ghost’s builtin newsletter capabilities.

    My second website is my daily blog, called “my blog,” and is where I post comments and thoughts about Apple, tech, photography, apps and services, and many other things. My blogging site is part of Micro.blog, there is a small community around it, thanks to Micro.blog fediverse support. Somehow, Micro.blog replaced Twitter for me, more than my presence on Mastodon did. I usually post around 10-20 weekly posts on Micro.blog. I like this place a lot for so many reasons.

    I recently started using Scribbles, a small blog hosting service I like and want to support. I’m using this service to post short thoughts using a single-word title. These posts are then cross-posted to my Micro.blog timeline with a link going back to my Scribbles site. You can see an example of such a post appearing on my Micro.blog timeline in the following screenshot. Each post sports two emojis to help me spot them in my timeline. One thing I try to do is not to be too clickbait with my single-word title. The chosen word must be evocative or related to the post content.

    Image.png

    The post on Scribbles gets cross-posted on my Micro.blog timeline by using one of the coolest features of Micro.blog: cross-posting of content coming from RSS feeds. This is shown in the following screenshot.

    Image.png

    Micro.blog picks up posts from the Scribbles website RSS feed and will post content on my timeline, as well as cross-post it to Mastodon and Bluesky. This is POSSE in action. I’m a believer.

    When I first thought about writing this article, I wasn’t sure where it would end up being shared. However, as the article grew in length and covered my blogging habits, it became obvious that it would go on my meta website, which is another one of my websites. There you have it.

  • The Date of Publication is a Must - Updated 2024-03-15

    Have you ever searched the web for an article where you couldn’t see when it was published? It happens to me quite often. I don’t understand why such important information isn’t communicated to the readers.

    In a fast-moving numeric world, the publishing date helps the reader gauge the content’s relevancy. I set the publication date on all my websites because it adds context to the content. When I created Numeric Citizen I/O, I used a post slug format that includes the publication date. The path to the webpage is shown in search results, which makes searching the web a more useful experience. Below are examples of URLs to my websites.

    https://numericcitizen.micro.blog/2021/03/07/about-those-webp.html

    https://numericcitizen.me/2021/02/27/porting-office-work-a-bad-idea/

    Update 2022-11-15: Sadly, since moving to a Craft-based hosting solution, the URL can no longer include the publication date. If you are a business plan subscriber, the workaround is to set the document as a separate website individually.

    Update 2024-03-15: I realized that when I moved from WordPress to Ghost, I lost this notion of date in the URL. All previous content is still accessible using the old URL format, but newly published content no longer contains the publication date in the article’s URL. We cannot have it all, I guess.

    This article was first published on 2021-03-17.

  • No More Photo Duplicates Hopefully

    I decided to disable cross-posting from my Glass feed to Bluesky and Pixelfed. This should fix the photo duplicates on your Micro.blog timeline each time I post a new image on Glass. Sorry for the inconvenience. The problem was simple: Let’s say I share an image on Glass, Micro.blog picks it up and cross post to Bluesky and Pixelfed. Micro.blog then detects a new photo from my Pixelfed feed and cross posts that to my Micro.blog timeline for the second time. Hence the duplicate.

  • If you want a peak at my current reading notes management workflow, you might find this video interesting (Craft, Bear 2, Omnivore, Readwise).

  • 🔗 Mobivention announces its own iOS App Marketplace

    As detailed by the company in a press release, mobivention’s App Marketplace will let developers distribute B2B and B2C apps to their customers outside the iOS App Store. “The mobivention App marketplace is primarily aimed at business customers who are looking for an alternative solution for distributing their apps,” mobivention explains.

    Tired: there is an app for that. Wired: There is a marketplace for that. 🤓

  • How Do I Read and Process an Article

    Let’s say I stumble on an article I wish to read and process. I’ll follow the following steps, covering the collection and archival stages.

    1. Save the article in Omnivore1,2.
    2. Set tags in Omnivore.
    3. Read the article, highlight text as needed and write comments if required.
    4. Summarize the article using Raycast AI. I have a Keyboard Maestro macro for that.
    5. Copy and paste the summary into the Omnivore notebook accompanying the article.
    6. Archive the article in Omnivore.
    7. Export the Readwise highlights (done automatically from Omnivore syncing).
    8. Import the created markdown files into Bear.
    9. Adjust tags if required.

    I realize this workflow is essentially for the Mac. Nothing like this can be done on the iPad without a major tweak or two.

    You can find this article on the “My Micro-Workflows Explained” website.


    1. The article can be saved from Inoreader, Reeder or the Arc Browser. ↩︎

    2. Some articles come in using my Omnivore’s email address that I use for subscribing to some newsletters. ↩︎

  • Each week, I use this template in Things 3 to help me out with my planning. Each Sunday, I duplicate the whole project and rename it accordingly. I love Things 3[^1]. [^1] I tried to do this in Apple Reminders but I prefer Things 3 experience.

  • Today I added a new global changelog1 page to my metablog. The changelog will cover all the changes applied to my digital publishing space.


    1. A changelog is a document or record that details the changes made in a software project. It typically includes information about new features, enhancements, bug fixes, and any modifications made to the software between different versions or updates. ↩︎

  • Some Hurdles to Fix Already

    I encountered my first few hurdles in transposing my content from a Craft document to a Micro.blog. Craft enables rich document content and supports block types like JSON output or command line examples. Posts containing these need special Markdown attention. Thanks to some help1, I figured that out, so the output looks ok. Next up are documents with images like screenshots. When exporting from Craft to Ulysses, images are inserted in Ulysses as references to Craft’s backend storage. When posting on Micro.blog, the images are not uploaded on Micro.blog’s backend. I need to manually download each image and insert them in Ulysses so they get uploaded to Micro.blog and be self-contained there. If I ever drop Craft, I want the images in my post to stay valid and display correctly.


    1. I want to thank MacGPT here for the hint. 😅 ↩︎

  • Browsing Past Published Articles on Ghost

    Circumventing Ghost’s limited posts management capabilities.

    List of publications in Ghost admin panel.

    I recently decided to spend some time editing past articles published on my Numeric Citizen Space website. I first thought that by going to my Ghost admin page, I could quickly browse past published articles by month. I couldn’t be more wrong. In fact, Ghost offers limited post management capabilities, thanks to its limited content browsing capabilities. I cannot go back, say, list articles published early in 2023. I can sort by ascending or descending order, but from there, I have to scroll through a long, dynamically created list of posts. It’s not very effective for a website with 600-plus posts. I had to find a different option to locate a post for an update. This is where Ghost’s content APIs come into play.

    The following API request doesn’t do the job (API key voluntarily removed!):

    curl -H "Accept-Version: v5.0" "https://numeric-citizen-introspection.ghost.io/ghost/api/content/posts/?key={APIkeygoeshere}&fields=title,url,published_at,updated_at&filter=published_at:>2024-01-01%2Bpublished_at:<2024-02-01" | json_pp
    

    Let me explain what is this API request.

    First, I’m going to the request using the macOS command line, hence the curl command. Next, the whole query follows in quotes. I query the content/posts API endpoint. Next, I pass my API key, followed by a field selection (&fields), and next with the filter using the published date between two dates. Finally, I pipe the results in the pretty JSON print macro (is this a macro?) so the output looks like this:

    jfm@CraftingMAChine ~ % curl -H "Accept-Version: v5.0" "https://numeric-citizen-introspection.ghost.io/ghost/api/content/posts/?key={API-key-goes-here}&fields=title,id,url,published_at,updated_at&filter=published_at:>2024-01-01%2Bpublished_at:<2024-02-01" | json_pp
    	{
    	   "meta" : {
    	      "pagination" : {
    	         "limit" : 15,
    	         "next" : null,
    	         "page" : 1,
    	         "pages" : 1,
    	         "prev" : null,
    	         "total" : 9
    	      }
    	   },
    	   "posts" : [
    	      {
    	         "id" : "65b6a09840566000015b0d37",
    	         "published_at" : "2024-01-28T13:50:19.000-05:00",
    	         "title" : "My Weekly Creative Summary for the Week of 2024/03",
    	         "updated_at" : "2024-01-28T13:50:19.000-05:00",
    	         "url" : "https://numericcitizen.me/my-weekly-creative-summary-for-the-week-of-2024-03/"
    	      },
    	      {
    	         "id" : "65b6540640566000015b0cf7",
    	         "published_at" : "2024-01-28T08:23:26.000-05:00",
    	         "title" : "Special Message to Paying Subscribers",
    	         "updated_at" : "2024-01-28T08:23:26.000-05:00",
    	         "url" : "https://numericcitizen.me/special-message-to-paying-subscribers/"
    	      },
    	      {
    	         "id" : "65b16e25bc7fde0001314ccb",
    	         "published_at" : "2024-01-24T15:09:24.000-05:00",
    	         "title" : "The Mac Turns 40",
    	         "updated_at" : "2024-01-24T15:09:24.000-05:00",
    	         "url" : "https://numericcitizen.me/the-mac-turns-40/"
    	      },
    	      {
    	         "id" : "65ad35418532ae000169ddd2",
    	         "published_at" : "2024-01-21T10:22:33.000-05:00",
    	         "title" : "My Weekly Creative Summary for the Week 2024/02",
    	         "updated_at" : "2024-01-21T10:22:33.000-05:00",
    	         "url" : "https://numericcitizen.me/my-weekly-creative-summary-for-the-week-2024-02/"
    	      },
    	   ]
    	}
    

    Next, I copy the post ID of one article and paste it my browser for edition using this special URL:

    https://numeric-citizen-introspection.ghost.io/ghost/#/editor/post/652e6eedb8a2650001ad9c5b

    This URL brings me directly into the Ghost editor, provided that i was already authenticated with my account. That’s pretty much it. It could be much simpler. For this, I miss WordPress.

    You can find the Ghost API document right here.

  • Let's start something new. Again.

    This blog is a Micro.blog hosted version of the Craft-hosted version. I’m currently in the slow process of copying my content over here.