2022.06.24.

2022.02.23.

Archive Hook bookmarks with DEVONthink

I was in a Tinderbox Meetup last week, which was more about Hook than Tinderbox. I’m not a Tinderbox user, but I’m interested in how other people use their tools.

In the middle of the call, somebody had a question about Hook bookmarks. More specifically, can Hook archive its bookmarks as archive.org does with websites in general? Well there is no feature like that in Hook, and to be honest, doesn’t even need to be, because Hook has great Apple Script integration, so we can query bookmarks from its database.

In conjunction with DEVONthink, we can archive our bookmarks from Hook and save them as Pinboard does. I made a script for this a while back and it’s really helpful. It runs once a week, archives all websites from my Hook database into DEVONthink.

Setting up the script

First, download the script from here.

The scripts collect everything into one group in DEVONthink, so you have to create one where the archive can be stored. I would advise a new database even if you don’t have something similar already.

Open the script you downloaded. You’ll see two lines at the top of the file.

set webArchiveDatabaseUUID to "databaseUUID"
set hookedWebsitesGroupUUID to "groupdUUID"

You have to replace the databaseUUID and the groupdUUID part with the UUID of the database and group from DEVONthink. To do this, open DEVONthink, ⌃click on the database in the sidebar, and pick “Copy Item Link”.

Now, replace databaseUUID, with the link you copied. You’ll see something like this.

set webArchiveDatabaseUUID to "x-devonthink-item://CA3A9072-0650-4AF3-A608-1786F9D1A98D"
set hookedWebsitesGroupUUID to "groupdUUID"

Now, remove the x-devonthink-item:// part, so the top of the script should look like this.

set webArchiveDatabaseUUID to "CA3A9072-0650-4AF3-A608-1786F9D1A98D"
set hookedWebsitesGroupUUID to "groupdUUID"

Go back to DEVONthink and copy the group’s link from the same database (it is important to keep the group in the same database) by ⌃clicking on it and picking “Copy Item Link” again.

Replace groupdUUID with the copied link in the script again.

set webArchiveDatabaseUUID to "CA3A9072-0650-4AF3-A608-1786F9D1A98D"
set hookedWebsitesGroupUUID to "x-devonthink-item://B6C2C659-5682-45B5-8D59-107A641F8C2D"

Remove the x-devonthink-item:// part and then save your changes. The top of the script should look something like this now.

set webArchiveDatabaseUUID to "CA3A9072-0650-4AF3-A608-1786F9D1A98D"
set hookedWebsitesGroupUUID to "B6C2C659-5682-45B5-8D59-107A641F8C2D"

Now comes the fun part. You can run the script and DEVONthink will start downloading your Hook bookmarks into the group you choose.

The first run can take a while depending on the size of your Hook database. Subsequent runs should be faster since the script downloads only newly added bookmarks.

It is important to know that the script doesn’t sync Hook and DEVONthink, deleted bookmarks from Hook will still be present in DEVONthink.

Also good to know, if you want to archive sites behind a login, you have to sign-in in DEVONthink before you run the script.

Triggers

I keep this script in the ~/Libary/Scripts/Applications/DEVONthink 3 folder, so it’s available from the script menu in macOS – or in my case, from FastScripts. This way, you can run the script manually from DEVONthink.

You can even make it run automatically. If you use FastScripts, you can create a new DEVONthink reminder on the group you created to store Hook’s bookmarks and set it to run an Apple Script like this every week.

on performReminder(theRecord)
	tell application "FastScripts"
		set scriptItem to first script item whose name is "Archive Hook Bookmarks"
		tell scriptItem to invoke
	end tell
end performReminder

If you want to run it outside of DEVONthink, you can use for example Lingon, which makes it possible to run any Apple Script in the background daily, weekly, monthly, or whatever interval you want.

2022.01.31.

Portable thoughts is a website built using a single HTML file.

It simply uses URL #fragments and the :target CSS selector to show and hide “pages”. The result is a self-contained website, digital book, interactive document, or whatever you want to call it.

So, you have a single HTML file that contains everything and is easily navigable without any JavaScript by just showing and hiding sections via CSS. This is smart.

I don’t know what I’m going to use this idea yet, but it will be useful one day.

2022.01.14.

Tot for iOS is on sale, so I bought it, but I’m not sure if I need it when I’m already using Drafts. Tot almost does the same thing, but I like that is very fast. I used it multiple times today to draft Slack messages, store random pieces of information, keep a bunch of temporary links around for a coding session.

It is a better version of Stickies which syncs with my iPhone and my iPad.

I assigned ⌃⇧T as a global keyboard shortcut for Tot, which opens it from my menubar. Speaking of keyboard shortcuts, I like that I can open each slot via ⌘ paired with its corresponding number key; ⌘1 opens the first slot, ⌘2 opens the second one, etcetera.

Right now, I’m tinkering with Tot. I have Drafts running next to it, and I feel like they overlap too much, but Tot is just better for storing random pieces of bits and blobs.

Maybe at the end each of them will have its place in my tool chain.

2021.08.07.

Testing app subscriptions on the long-term

Many people don’t like app subscriptions, but it provides a way to test these apps long-term.

When I see a potential tool that I’ll likely use long-term, after the initial trial, I subscribe to its monthly plan, and I keep testing it for 2-4 months. While the initial testing phase is happening, I create a new category in my budget and save money for the yearly subscription plan. Usually, annual subscriptions are cheaper than paying every month for a year, so it makes sense to subscribe to them with an app that I will use for a long time.

When I conclude my testing and decide that I’m going to use the app, I’ll have the yearly subscription price already collected in my budget. This way, I can switch my monthly subscription to the annual plan without any problem. I also keep saving money each month for next year’s payment. I use YNAB for keeping a budget which makes this process easier with its Targets feature.

If I decide that I’m not going to use the app, I cancel my monthly subscription, and I move the money I saved for the yearly plan into a different budget category.

By using this system, although I’m going to pay more for the subscription in the first 2-4 months during the testing phase, in the long-term, I’ll save money because I’ll subscribe to apps and services that I actually use.

2021.05.10.

Weirdly, I do this “interstitial journaling” for years now, without calling it anything. Although I don’t track tasks in it, just for the current session; those get captured in my GTD system.

What I don’t do habitually yet is the mindfulness journaling aspect, which could be another excellent use for Craft in an outline format. I like how Roam formats daily notes, which can be reproduced in Craft as well, but Day One and Drafts are so much quicker for capturing quick posts. I could look into how Craft can be automated, but I kinda like that Day One stores the location, weather, and so much more enhancing my journal.


Seems like this a recurring idea of mine.

2021.05.04.

Think with paper and store conclusions digitally

  • There is quite a big difference between paper and digital tools, but they can complement each other nicely.
    • You can use paper to get an order in random ideas by doing doodles, wireframes, mindmaps, diagrams, or what have you. Because of its tactile feel and freeform nature, paper is a better tool for organizing your thoughts.
    • Digital tools make information easier to search, so they are great to store the results of your thinking that you unraveled using paper.
      • Unlike paper, digital tools are rigid, so they are not the most optimal way to support thinking.

2021.04.13.

2021.02.26.

The readability of GTD list managers

There was a subreddit I saw a couple of days ago on /gtd, where Redditors discussed which GTD app is the most good looking. It reminded me of a problem I wanted to write about for a while now: their list design’s readability. I know OmniFocus, Things, and Reminders well, so I concluded my experience about their typography below:

A lot of people would say it’s Things. It has a friendly UI, but from a readability point of view, it is one of the worst.

In my daily work, I have two problems with Things:

  • It only displays one line per task, which means, if you have longer task titles, you’ll end with a bunch of text clipped out, which is annoying on an iPhone. You have to open each task to see the full title, which is no fun when you quickly want to review your errands list.
  • Things displays every task list grouped by project. If you like me, you’ll usually have one next action per project, so having each project being this prominent is making your lists very noisy.

I stopped using Things because of these issues, and I switched back to OmniFocus, which displays full task titles, and has nicer list readability overall. Apple Reminder is also good at showing lists, which matters the most at the end, so I would go with OmniFocus and Reminders.

Let’s see these apps next to each other. From left to right are OmniFocus, Reminders, and Things.

As you can see, Things overflows the text and group actions by projects which makes the readability of a typical next actions list much worse. It was the main reason I left Things after using it for two years and switched back to OmniFocus.


I also made a switch from OmniFocus to Reminders in December, but that’s a topic of another post.

2021.02.23.

2020.05.10.

Gyors tipp: sok webes alkalmazás billentyűzettel is irányítható.

Ha kiváncsi vagy ezekre a parancsokra, akkor nyomd meg a kérdőjelet. Az esetek 90%-ban meg fog jelenni egy panel, ami listázza az adott alkalmazásban elérhető billentyűparancsokat.

2020.04.28.

I just grabbed out two old friend from the bottom of the drawer. I have a couple of projects running parallel, so it could be helpful to schedule which client I’m dealing with on which day.

Also capturing notes using analog tools is still the best (I love the smell of that pencil).