On Apple pundits attitude towards the iPad


Getting familiar with Emacs

  • I can safely say that Emacs (with Org mode) is my new PKM app. It is really good (and I’m telling you as someone who loves Vim).

    • I started to mess around with Org mode about a week ago.

    • Org mode is just an awesome way of organizing information and actually do something with it.

  • I added Hookmark integration for Org mode based on these scripts.

  • I’m still going to use Vim for web development, but Emacs is my thinking space now (my home-grown Roam if you will).

    • Of course I’m using Evil mode in Emacs.

    • I don’t have time to learn a new way of editing text currently.


Texting yourself for capturing ideas

  • A couple of months ago I started to use Messages for talking to myself.

  • Why do I want to do that?

    • When I want to figure something out, I noticed that the best way to do it is to start writing in freeform text.

    • It feels like talking to myself, which helps me to externalize my ideas, and find solutions quickly to problems. It’s like a pre-thinking phase for capturing ideas in a timeline format, then organizing them later in a mindmap or an outline.

    • Slack has a similar idea of why you should start to message yourself. When you open your profile and press the Direct Message button, the following message appears on the top.

      • This is your space. Draft messages, list your to-dos, or keep links and files handy. You can also talk to yourself here, but please bear in mind you’ll have to supply both sides of the conversation.

    • Others also wrote about this idea in more detail. It is the modern version of emailing ourselves.

    • Messages is actually a pretty cool candidate for this workflow. It is available on all my devices, I can pin messages for reviewing them later, and it is still the best way to share information between my devices when AirDrop and Handoff farts themselves.

  • How to set it up?

    • Texting with ourselves in Messages is a bit weird since every message will be sent back in the same thread duplicating everything. We can avoid that by registering a new iCloud account and sending messages to there.

    • I have a sparse iCloud sandbox account which I use for testing. I logged in from my old MacBook Air, then I started to write thoughts for myself over iMessage.

      • We have to log into a separate iCloud account at least once, otherwise, Messages won’t pick up the account as a proper recipient.

  • This is yet another version of the capture step in GTD

    • This idea was cool, but for me it quickly fell apart. People get the idea of writing stuff down, but they forget that it needs to be processed later.

    • When I had to pull out data from Messages, it was hard to mark my processed position in the timeline.

    • I started to use a marker message by typing 5 equal signs which is similar to how I mark my processed position in my notebook using a double line.

    • When I process, I usually reference information between apps, which means that I like to link to the source or at least copy the text out into a place that I can link to.

      • There is a hidden URL scheme in Messages, but it is really hard to link to messages.

        • sms://open?message-guid=UUID

        • If there is a data detector visible in your message (like the text of “tomorrow 9:00am”), Messages will underline it, and you can create a new event or a reminder by clicking on it. Creating a new reminder will also add the link to the message which you can copy.

    • Getting links or text out of Messages is actually bit convoluted.

  • Strflow, an actual app made for texting yourself

    • I just found a unique new app today called Strflow, which mixes note-taking with a messaging interface. It works exactly like I wanted to use Messages.

    • Why it is better than Messages?

      • There is a “Copy Note Link” command for every note.

      • Notes can be edited after they are created.

      • There is a minimal Markdown-like syntax available, which lets me have the right amount of formatting for quick notes like these.

    • I love unique apps like this one – that’s one the reasons I love the Mac, since you can always find interesting tools like this – although it still has some missing pieces.

      • iOS version (the developer mentioned that he’s working on it).

      • Spotlight integration: it just feels right to index and search snippets of information in Spotlight.

      • Better export: we get a JSON file on export, but since the app uses Markdown for formatting, why not export proper Markdown notes?

        • It would be even better if I could define a date range for exporting, so processing information can be done outside of Strflow.

      • Although there are unique links for each note, getting them is a bit hard. I have to ⌃Click and choose the “Copy Link to Note” command from the context menu which is not available in the app’s menubar.

        • strflow://show-note?id=UUID

      • Selecting notes can be done using the trackpad, but having keyboard shortcuts for navigating up and down would be useful to select one or multiple notes.

  • So what am I using Strflow for?

    • As I mentioned, I mostly use this app for talking with myself to figure out something by writing.

      • I started the draft of this post there.

      • I saved couple of links which I want to revisit later.

      • It is like a private version of Mastodon.

    • It is going to be another inbox/journal/status update tool next to my interstitial journal in TaskPaper.


Toggling Dock position via Apple Script

  • I want to toggle my Dock position between the left side and the bottom of the screen, depending on the context I’m in.

  • To do this…

  • Here’s a demo in action.


Checking the time on my Mac

  • Inspired by a recent post about keeping the menubar a bit more compact, I switched the menubar clock to the analog version.

  • Since clicking on the clock also toggles Notification Center, adding the Clock widget (with a monthly calendar) made sense, which is way more readable than the small one in the menubar.

    • I can even toggle Notification Center with the Globe-N keyboard shortcut for quick clock access.

  • On the other hand, I remembered a Mac app, called FuzzyClock. It’s an old app that shows you the time, kinda… Instead of displaying 8:23, it just says twenty past eight. Sadly, FuzzyClock doesn’t work on newer systems anymore, but I found FuzzyTime which is a modern, reimagined version of FuzzyClock.

    • What’s the point of these apps? Sometimes, maybe we’re too attached to being precise with our time, and not knowing exactly what the current time is can ease that, making us more focused.

  • Since I hid the digital clock because I wanted more space in my menubar, it’s not ideal if I see FuzzyTime running all the time. It takes up more space than the digital clock, but it would be nice to toggle it using a keyboard shortcut.

    • I used Keyboard Maestro to automate the display of FuzzyTime.

    • Pressing ⌃⌥⌘H will open FuzzyTime, and pressing the same shortcut again will just quit it, resulting an on/off toggle effect for FuzzyTime in the menubar, which is exactly what I want.

  • In essence, here’s how I check the time on my Mac now.

    • Oh, I and still have plenty of space for my app icons in the menubar.

What’s up with Twitter these days?

I read: What should I do with my Twitter:

I’ve been trying to figure out what to do with my Twitter/X account. I don’t want to leave it dormant, because the current policy is to reclaim usernames from accounts that don’t post, which creates a risk that someone will come along and claim to be me later on.

I was worried about this, but I don’t care anymore.

Then… The idle elite:

At this point, if you’re still on Twitter, it might be time to accept a hard fact about yourself: there’s not a single thing that its leadership could do that would push you off the site. Since the takeover almost a year ago they’ve fired everyone who cared, they’ve invited back 4chan, kiwifarms, and sundry other threat actors, they’ve started revenue sharing with the rape peddlers and insurrectionists, they’ve given priority lanes to every paying NFT and AI grifter, and even outright blamed the jews for their bad finances. That’s not even close to an exhaustive list!

Twitter is the worst “social media” site you can use nowadays. Look at what is happening with Threads and Mastodon over here.

I still don’t trust Meta, though.


Coloring visited links

  • One annoying thing that happened today’s “beautiful” web is that we forgot that we have this CSS selector.

    • a:visited

  • I was also sinful in this, since I just pushed a change which adds proper a:visited support to my site.

    • This is mostly annoying for me, since I see almost all links as visited, but can be helpful for readers.

  • Now you can see visited links in a different color than the default links.


Setting up Type as a quick capture interface for my TaskPaper journal


What the hell happened to messaging apps?

  • I remember when we had Adium and you could connect almost all of your chat services to one client.

    • Some features were missing, but the basic texting part usually worked.

  • We had a way to set our status to online, away, or offline. There was no need for Do Not Disturb or notification management since you just went offline and nobody could reach you.

    • Actually, you can still use Slack like this.

    • Some services even queued up your messages, so the next time you went online, new messages awaited you.

    • I could even set the currently played music as my status.

  • Almost all messaging app had some form of proper native Mac app.

    • Remember that Skype for Mac was actually a pretty decent Mac app with AppleScript support.

      • These days, it’s just an Electron app, although nobody uses Skype anymore…

    • My friends used MSN Messenger too, which was kind of a crappy client, but at least you could use it through Adium.

  • These days, I have to use Cardhop to have proper messaging integration in my contact list to have a central place to jump into the different clients.

  • Almost all clients are stupid Electron apps on the desktop.

    • Mobile clients are better: at least some of the biggest players have proper native apps on iOS.

    • Facebook Messenger for Mac is a React Native app, which is a bit better than Electron.

  • I can’t go offline anymore; instead, I have to manage my notifications and schedule them using Focus modes.

  • I kinda miss old IM apps.


Messing with Play and YouTube subscriptions

  • Play 2.0 just got released with a new channels feature.

    • It’s behind a subscription, but you can try it for seven days.

  • I started using Play as a replacement for YouTube’s Watch Later list (and for other sites too, like Vimeo).

    • YouTube is an attention magnet, and I want to avoid it when possible.

    • Using the Watch Later feature makes this more hard.

    • Play keeps me out of the YouTube app, mostly…

  • I also follow YouTube channels using RSS from Reeder instead of the YouTube app.

    • This way, I have an integrated workflow of browsing videos, blog posts, Mastodon posts, etc.

    • I’m also trying to give minimal data to Google through YouTube other than my watch history.

      • I have watch history turned off, but I’m sure Google still tracks it.

    • Because of this workflow, it seems redundant to use Play to subscribe to the same list of YouTube channels.

  • I added my list of channels to Play anyway to test the Channels feature.

    • It was a bit annoying since Play has no Shortcuts integration for managing channels or OPML import.

  • I don’t have a conclusion on the usefulness of this feature for me yet, but I’ll test it in the following week, and we will see if I keep the subscription or not.


Giving up the IndieWeb markup on bookmarks for now

  • I’m giving up the IndieWeb markup with bookmarks, since they kinda hard to get right.

  • All I want is a title and a blockquote, but with the IndieWeb markup I have to have a post content just to markup the link properly.

  • So, instead, I just add the “Bookmarked”, “Read”, “Liked”, etc. verbs to the title of the post and be done with it.

  • If someone has a better idea, let me know.

Publish bookmarks from DEVONthink

  • I’m messing with my bookmarks today.

  • I keep a lot of cool articles in DEVONthink as my central repository, but I also want to share some of these links here.

  • I’m testing a simple workflow for this using a DEVONthink smart group, which shows me all my bookmarks from my Decoding database that aren’t published yet.

  • This workflow desperately needs automation, but I want to start as simple as possible and see how it works in practice.

  • Here’s a demo video.

Adding Safari selection to my “Respond on Decoding” shortcut

  • It is actually occured to me that I can get the current Safari selection in Shortcuts, convert it to Markdown from Rich Text, then Markdown to HTML, then I end up with a blockquote.

    • You need Drafts for the Markdown to HTML action.

  • Since all my respond type posts are created using one shortcut which decorates them with microformats, this makes me able to select text, and append it to the post.

  • On the long run, this will give me context on why I saved something to my bookmarks.

  • Here’s a demo video in action.


Interesting blogs

  • I think I’m going to start a new post series called interesting blogs.

  • I just want to save sites that I find on the web into a nice journal format.

  • It doesn’t necessary mean that I’ll subscribe to them using RSS, but can be a cool new tag in my bookmarks.


Advanced outline post format

  • I created a more advanced outline post format for my Bike based posts.

  • New entries will use a new bike-outline Stimulius controller which I originally created for my Zettelkasten, so I can have basic outline capabilities for Markdown lists.

  • It gets the post content and adds toggles to each outline row, so I can open and close them.

  • It also uses block IDs as row links, so each outline row can be linked independently.

    • I don’t use Bike outline IDs, but generate them on-the-fly using checksums instead.

    • This will change as I update the content, but it’s fine.


  • I don’t really care about the outline display now, because I exported it into Bike.

  • I can collapse, expand, and format it anyway I want.

  • Also, adding new rows/zettels is way easier this way, so I’ll create an export shortcut to Markdown and leave it like that for now.

  • Follow-up on 09:58.

  • Also, what if I migrate my outlining workflow to Bike and generate the outline from that file?

    • It is already an HTML structure and the workflow of linking zettels and inserting them into the outline is easier on my Mac than the iPad, because it has a bigger display.

  • This would mean that the outline can link to the actual file in The Archive locally, which can be replaced with a [[wikilink]] when generating the outline from the Bike HTML.

    • I can even do this using Shortcuts, there is no need for Ruby scripting.

  • Today’s project is to write a script which generates the Zettelkasten Outline page automatically, since I have zettel IDs present with the structure in note slugs.

  • I also want to make everything collapsed under level 3.


Follow-up on “Publish daily notes to my Zettelkasten from Bike”

  • Previously

  • I created a shortcut which can export the current Bike selection to a new Markdown file in my Zettelkasten.

  • It doesn’t sync like my publish script does with WordPress, but it was easier to implement, since copy and paste between Drafts and Bike works pretty well.

    • The shortcut just cleans up the text and sets the title if it’s needed.

    • Otherwise it will create a headless zettel.

  • At the end it opens the note in The Archive app where I can edit it, or publish it using Git.

    • This shortcut actually uses the following apps.

      • Keyboard Maestro to copy and paste the text from Bike to Drafts.

      • Shortcuts to clean-up the Markdown output.

      • Then Drafts to create a new Markdown file in my Zettelkasten.

  • Here’s a demo video

    • In the video Archive complains about the “writing test”.

    • It’s not related to the shortcut.

Shortcut: Open Mastodon Posts on Micro.blog

Publish daily notes to my Zettelkasten from Bike

  • I’m tinkering with the idea of using my Bike journal to publish to my Zettelkasten directly.

    • Blogging with Bike

    • I don’t use month based files anymore in Bike, I create a new outline for each day.

  • My Zettelkasten is a Jekyll based site, so I have to work with Markdown content.

  • In theory, I would use my publish script to manage the Zettelkasten daily notes in the same pipeline as my WordPress posts.

    • Publish from Bike to Decoding

    • Daily notes would be pre-filtered though.

      • I just export notes with the ZETTEL marker only.

      • I have to create a new Bike document for each entry before converting it to Markdown because I want to have separate notes for each entry, not just one big daily note.

  • I could use a daily Markdown file and keep that open in The Archive app, but I want to use Bike for this, because it is the best thinking and outliner tool.

    • Also I’m already writing my journal in Bike. I don’t want to have another app.

  • As an interim solution, I created a Keyboard Maestro macro which copies and pastes the current entry into Drafts (and also converts it to Markdown), where I can post it manually.



Adding Bike Shortcuts integration to my publishing setup

  • Previously…

  • I created two new shortcuts which are helping me to start to write a new post from Bike.

    • The first one called “Open Decoding File”, which opens (and optionally creates) the current month’s file.

      • I have monthly files, because of how my publishing script works.

      • It publishes every post from the currently opened Bike file, so I don’t want to keep the same long outline around for blogging.

        • It regenerates each post every time I’m adding a new one.

        • If there is a breaking change in the system, I can archive old files and just start a new one.

    • The second one just inserts today’s date into the top, with an “DRAFT” block which can be used to start writing a new post.

      • I added a Keyboard Maestro macro to run this one from Bike.

      • I can press ⇧⌥⌘T to add a new date block on the top.

  • These shortcuts are using the Shortcuts integration which is available in the preview version.

  • Here’s a demo video.



Replacing Craft with Bike as a thinking tool


Posting digital garden seedlings from Bike

  • I added a way to post digital garden seedlings to the blog.

  • What are seedlings?

    • Seedlings are half-done articles/notes kept in a digital garden.

    • They are like drafts, but we keep them public because not every one of them will be finalized.

    • I can also use seedlings to privately reply to people using my blog and send them the link.

    • Seedlings are entirely hidden, but you can find them if you know their URL.

  • The goal

  • Posting seedlings from Bike

    • There are note branches in my Zettelkasten, which can be migrated to a seedling, so I can start working on it.

    • I extract these notes into separate files, naming them using their number from my Zettelkasten.

    • I can invoke a simple Ruby script, which is going to prepare and post to my blog.

    • The script also links them using Hookmark, so I can switch back and forth between writing the post and previewing it.

  • Demo

  • Previously



Downloading YouTube videos with DEVONthink

  • How I download YouTube videos into DEVONthink automatically.

    • 1. While browsing YouTube or checking my subscriptions from Reeder, I can save videos to my Decoding playlist.

    • 2. By subscribing to the channel using its hidden RSS feed from DEVONthink, I can get saved videos into my Decoding database.

    • 3. DEVONthink watches this RSS feed via a smart rule and downloads videos using yt-dlp.

    • 4. The script saves videos into my inbox folder at ~/Library/Application Support/DEVONthink 3/Inbox, which automatically gets imported by DEVONthink.

    • 5. From here, I can organize downloaded videos, start watching them and take notes.