2023.08.09.

2023.04.07.

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.

2023.02.01.

2023.01.31.

Replacing Craft with Bike as a thinking tool

2023.01.30.

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

2023.01.25.

2022.12.26.

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.

Tweaking workflows

  • I constantly tweak my workflows this time of the year. I usually provide tools for others—that’s what I do for a living—but I also have to keep my knives sharp.

  • This year I’m tweaking two things.

  • Take better notes while watching a video.

  • Moving my Zettelkasten over to Bike.

    • I like to think about my Zettelkasten being a large outline. Keeping it inside Bike could be beneficial.

      • I’m trying to mimic the analog Zettelkasten (or Antinet).

        • I won’t use an analog one since I like the digital one’s benefits better, but I also want ideas from the analog one.

        • I’m a programmer and I use my Zettelkasten to understand coding concepts. I have some code snippets stored in SnippetsLab, so it’s easier to link to those from my Zettelkasten outline than keeping them on paper.

      • I can use the classical Luhmann IDs to add an ID each note.

      • I can nest notes under each other.

        • I can easily link notes together thanks to the Bike and Hook integration.

    • Disadvantages

      • I don’t have backlinks, but I’m not sure I need that inside a Zettelkasten.

2022.12.23.

  • I added ActivityPub integration to the blog, so you can follow me via Mastodon (or any other similar application that uses ActivityPub) by searching for my profile (zsbenke@decoding.io) from your instance.

Blogging with Bike

  • I had this short post from a couple of years ago, where Dave Winer showed how he could blog from an outliner in a video. Basically, he edits an OPML file that gets synced to his blog—the website also looks like an outline.

  • I still like this outline-based blogging approach. It is so easy to change and publish. I wanted to have this for myself too.

  • Jesse Grosjean (the guy who did TaskPaper) recently released an outliner app called Bike, which I often use. Since Bike is just using HTML behind the scenes, it occurred to me that if I feed that into a Ruby script, I could create something similar to what Dave has.

  • So, I created two scripts.

    • One is called publish_from_bike.rb, which accepts a Bike file and pushes changes to my blog.

    • The other is a simple AppleScript which starts the Ruby part, saves post permalinks into the Bike outline, and does some general housekeeping.

  • I have a small system to publish from my blogging outline. I use the following format.

    • 2022-12-23

      • 10:40

        • Posts with a timestamp are a published.

      • DRAFT

        • I can create drafts by marking them as DRAFT (or IDEA).

      • SKIP

        • I can also add notes or just bullets which will be skipped with the publishing script.

  • Here’s a video in action.

  • Plans

    • I want to have a proper toggles for these outline type posts, like Bike does.

    • It would be nice to mark them with a custom icon, like my other post formats has.

    • I may release these scripts if there is a need and they are well tested.

2022.01.31.

I collected my reading notes and highlights from “Digital Zettelkasten: Principles, Methods, & Examples” by David Kadavy.


daunting projects to compete with little dopamine hits

How can I increase the dopamine hit of completing a project?

When you have a digital Zettelkasten, there’s a third option: do small things with small notes, straight from your phone.

When we have a small amount of time, we can do small things with our notes, even on our phone.

A lot of small steps can take us very far.

Yet instead of these tiny actions adding up to essentially nothing, they feed your curiosity in a productive way and drive your projects forward.

GTD takes us closer to our goals with small steps.

We have to set up small next actions when we are tired, so we can do a lot of small things which gives us some form of baseline success.

Instead of using my brain power to try to remember things, I’m using it to write better articles, newsletters, and books. I finally found a bicycle for my mind.

We have to use the brain for doing creative stuff, not remembering things.

Yes, we should rethink educational curricula centered around memorization, but looking things up is at some point a waste of working memory. That’s brain power that could be used to think creatively, rather than to try to grasp a bunch of facts just retrieved.

Instead of looking up information that we have to understand, we can use the energy of the brain for creative things.

Sometimes ignorance is more comfortable than learning, because learning means we have to go through the work of changing.

Learning is harder than ignoring facts.

It’s not so easy it’s boring, and it’s not so hard it’s a slog.

We can create new permanent notes with Craft inline of another note, which can be extracted out into a new note.

Some examples of fleeting notes, from my own Zettelkasten:

Uses of fleeting notes:

  • highlights from books
  • highlights from articles, blog posts
  • our ideas

Yes, Henry Ford’s assembly line went quickly by eliminating waste, but the cars had to be designed first – a process that wasn’t so easy to speed up.

It’s easier to automate a system than invent it. That’s a long and hard process.

As you read, make fleeting notes.

Once you’ve exported your highlights, review them and highlight, once again, the parts of those highlights that are the most interesting.

Look at the highlights of your highlights and re-write the interesting ones in your own words.

I’m taking notes as I read, I don’t rewrite them afterward.

Associative thinking promotes a positive mood, so it shouldn’t be a surprise how fun this task is.

It feels good when we find a connection between two Zettelkasten notes.

Now take only the most interesting ideas from the literature notes, and turn each into individual permanent notes.

Next, I have a link back to the literature note from which I wrote this permanent note. That looks like this:

We can link permanent notes from literature notes, so we can see in backlinks where it’s coming from.

If you try this process and it feels boring to you, it may be because the material you’re reviewing doesn’t feel relevant, doesn’t interest you

It is a warning sign if we are bored while writing our Zettelkasten. It means that we don’t care about the topic, or we know it well already.

The main con of Folgezettel is it’s unnecessary in a digital Zettelkasten. Folgezettel is most advantageous in a paper-based Zettelkasten, because it allows you to easily arrange paper based upon how a sequence of notes follow one another.

Having a series of notes (or outline of notes) can be helpful in a digital Zettelkasten too because we are forced to stop and think about where a new note should fit in the outline.

create keywords based upon patterns you see, which inform theories you’re working on.

Having an index is the same as having “Table of Contents” notes.

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.12.22.

Using an old MacBook Air for a home server

I just assembled this temporary home server “rack” with my 2018 MacBook Air on top.

MacBook Air server on a self

It does the following things:

I plan to get a proper Mac mini after we moved into our new house, but for now, this is more than sufficient.

2021.12.10.

11 of my favourite tips for Safari

  1. If you have bookmarks on the Favourites Bar, you can quickly open one by pressing ⌥⌘-1 through ⌥⌘-9 where the number corresponds to the number of the bookmark.
  2. You can do the same thing for tabs by pressing ⌘-1 through ⌘-9 and Safari will switch to the corresponding tab.
  3. If you do a Google search and go deep into a result, you can pick Search Results SnapBack from the History menu which instatly goes back to your Google results.
  4. You can reopen your recently closed tabs by long-pressing on the plus button in the top right.
  5. If you quickly want to switch to a different tab from your keyboard, you can go into the Address Bar with ⌘L and then type the title of the desired tab. Safari will show you search results in the Switch to Tab section. This even works across tab groups and iCloud Tabs.
  6. If you search for a video on YouTube, Safari will remember that. Next time you can type “youtube whatever you want to search for” into the Address Bar, and Safari will give you an option to search YouTube directly. This works with a bunch of websites, like Amazon, Wikipedia (with autocomplete) DuckDuckGo (with autocomplete).
  7. You can quickly switch your default search engine by going into the Address Bar, pressing Space, then picking another search engine from the list.
  8. If you want to keep and eye on a long-running download, open the Downloads popover from the toolbar, then detach it by dragging the popover off the main window. This will keep the Downloads window open until you close it or quit Safari.
  9. To disable auto-play on a website (like YouTube), go to the site, Control-click on the Address Bar and pick “Settings for website.com”. This will bring up a popover, where you can disable auto-play for videos.
  10. In the same popover, you can turn on “Use Reader when Available”, which will automatically bring up the Reader view on the website when you open an article. Useful for cluttered news sites.
  11. If you regularly want to quickly open the current tab in Chrome or Firefox, you can enable the Develop menu in the Advanced preferences, which will give you an option to “Open Page With” any browser installed on your Mac.

2021.11.16.

2021.05.09.

Drafts is a digital Hipster PDA

  1. Drafts is an app optimized for taking quick notes and sending them to other places instead of storing them in the long term.
  2. Each Drafts note has a unique ID which can be understood as a digital index card linkable from anywhere.
  3. These notes are temporary, so I’m not keeping them in the system. After I processed one, it can be thrown away.
  4. Notes in Drafts don’t need much organization; everything is on a simple list. When I’m done with a note, it can be trashed or archived.

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.

zsoltbenke.me

As I refresh my online presence with a new avatar and a new Dribbble profile, it occurred to me that I don’t have a page, which I can hand to somebody, and he/she can see what my work is all about. Not a portfolio, but a more superior page than a simple “About Me” in WordPress.

So I built one, featuring some of my work I did lately and, more importantly, the first web development tutorial I promised a couple of months ago. I plan to extract this article into a separate mini-site just for these tutorials, but for now, it nicely complements my “About” page.

Anyway, check out my work!

Screen Shot 2020 11 04 at 21 39 07

2020.10.31.

I’m on Dribbble (again)

It was a long time since I posted anything on Dribbble. In the last couple of years, I did so many exciting things, but I haven’t shown them anywhere; I did show some bits and blobs on Twitter.

Since I like to think about UI interactions and building tools, I should have a platform to show the results. And Dribbble is excellent for that. So from now on, I try to post new stuff I’m working on.

Checkout my Dribbble profile →

(Feedback is always welcome.)

Screen Shot 2020 10 31 at 14 11 37

2020.09.09.

2020.08.24.

2020.05.26.

Olvasói jegyzetek a “How to Read a Book: The Ultimate Guide by Mortimer Adler” című bejegyzésből.


Az olvasásnak két célja létezik: amikor azért olvasunk, hogy megértsünk valamit, vagy azért hogy információt szerezzünk. Az első nehéz, a második könnyű.


Mortimer Adler négyféle olvasási módot különböztet meg.

  1. Általános iskolai olvasás: amikor különösebb erőkifejtés nélkül olvasunk úgy, ahogy azt az iskolában tanultuk.
  2. Áttekintő olvasás: gyorsan átszaladunk a szövegen. Hasznos lehet arra, hogy eldöntsük el akarjuk-e olvasni az adott szöveget, vagy mielőtt azt újra elolvasva elmélyülnénk benne.
  3. Analitikus olvasás: az olvasás olyan módja, amikor elmélyülünk egy szövegben és kiszedjük belőle a számunkra érdekes tudásanyagot. Ha az áttekintő olvasás esetében fel kell gyorsítani, akkor itt pont, hogy le kell lassítani és alaposan átrágni a szöveget.
  4. Összehasonlító olvasás: az olvasás legnehezebb szintje. Itt már több szöveget is elolvasunk ugyanarról a témáról, hogy lehetőségünk legyen különböző nézőpontok összehasonlítására. Az egész témakör megértéséről szól, fő célja, hogy kitöltsük az ismerethiányainkat.

Az összehasonlító olvasás öt támpontja:

  1. Megtalálni azokat a könyveket, amik segítenek kitölteni az ismeretanyagunk üres részeit.
  2. Kifejezések megállapítása: Amikor már több könyvet is olvastunk ugyanarról a témakörről, akkor az analitikus olvasással meg kell találnunk a különböző kulcsszavakat, szakkifejezéseket.
  3. Kérdéseink tisztázása: ahelyett hogy a szerző által megfogalmazott problémákra fókuszálnánk, arra kell figyelnünk, hogy milyen kérdéseink vannak és ezekre a szerző tud-e választ adni.
  4. Problémák definíciója: azzal, hogy kialakítottuk a saját kifejezéseinket és megfogalmaztuk a kérdéseinket, látni fogjuk, hogy különböző válaszok állnak egymással szemben. Ezeket rendszereznünk kell. Ahhoz, hogy véleményt tudjunk formálni, fontos, hogy ismerjünk több nézőpontot is az adott problémára.
  5. Az információcsere vizsgálata: nincs egy jó válasz semmilyen kérdésre sem. A mi válaszunk az egyéb szembenálló válaszok konfliktusában rejlik.

2020.05.24.

Befejeztem a napokban Sönke Ahrens – How to Take Smart Notes c. könyvét, ami legalább annyira fontos a mentális munkával foglalkozó emberek számára, mint a Getting Things Done könyv David Allentől.

A lényege számomra az volt, hogy felismertem mennyire fontos a külső eszközök használata a gondolkodásunk támogatásához, felszabadítva az agyunk kreatív kapacitásait. A másik big takeaway pedig, hogy mennyire fontos definiálni, szeparálni, majd rutinként beilleszteni egy munkafolyamat különböző lépéseit. Így kézzelfoghatóbbá válik minden bonyolult dolog.

Két jegyzet a könyvből:


Elkezdtem összegyűjteni és kiválogatni a jegyzeteimet a külső eszközök és a gondolkodás kapcsolatára. A későbbiekben ebből tervezek majd kitenni ide is egy hosszabb blogposztot.

Screen Shot 2020 05 24 at 14 29 21

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.

2019.12.06.

While almost everybody is moving mindlessly into the cloud, I try to move out of it more and more and store a lot of my stuff locally (some of it are not even synced). I’m very conservative about my privacy lately. Although I use iCloud when I can, for 3rd-party syncing services, I prefer the ones where I can host them on my own server. I still use some services which store my data on their own servers (like YNAB), but I’m trying to get rid of them quickly.

One week ago I started running my own WebDAV server for OmniFocus and DEVONthink. There is an easy-to-follow tutorial from Bytemark that explains how to set up a couple of Docker containers with an automatic reverse proxy and SSL renewal service using Traefik.

I bought a cheap $5 server on Digital Ocean which is located in Frankfurt, that’s way closer to me (I live in Hungary) than OmniGroup’s sync service which is located in the US, I assume in Seattle.

When I switched to OmniFocus from Things, one thing I missed from Things was the instant and invisible syncing that they offer. Cultured Code really nailed that one: you can change anything in your Things database and it instantly shows up on your other devices, even in the background. OmniFocus’s sync was always slower for me, but shortening the distance between the server and the client looks like boosts the performance in a very big way. Using my own sync server located in the EU, I’m getting almost the same speed in OmniFocus as Things has. The good thing is that my data is now hosted on my own server.


DEVONthink also getting some speed increase compared to iCloud, but it’s not that big of a difference as with OmniFocus.

2019.06.02.

Okay, I had enough with that bullshit that Google does with AMP. I can’t even find the link to the original site anymore, it just loads this dumbed down version and that’s it. It feels like using WAP again…

No, you can’t tap on that macworld.com domain in the middle. It just text, it does nothing.

I’m switching to DuckDuckGo everywhere. At least they don’t fuck around with the open web (and have a dark theme). I’ll use LaunchBar or bangs when I need to search something on quickly Google.

2018.10.20.

Now that I have Jekyll in place, I had to come up with a way to upload images to the server. Sometimes I still can’t wrap my head around how capable Shortcuts is. This ~~workflow~~ shortcut uses TinyJPG to compress, then Transmit to upload compressed images to the server.

Here’s a video about this process:

  1. I run the image through the CropSize app which optimizes it’s size and removes metadata.
  2. After this, I share the image to Shortcuts which compresses the image using TinyJPG, generates a unique name using MD5 on Unix epoch, then uploads the file to the server.
  3. At the and of this shortcut, I get a URL to the image, which I can paste into iA Writer (which I’m testing at the moment).

2018.10.09.

I’m turning off crossposting my blog to Twitter via Micro.blog. It was a drag when I posted something here since I had to think about all the “others” who can’t pull out their heads from a social network’s ass. I don’t want to think about that anymore.

Twitter is its own thing, it’s weird when I post something on my blog, but I have to check reactions separately on a closed social network. At least I get a webmention from Micro.blog, but nothing from Twitter. Fuck that, my content is here and not over there. If my stats get lower, because of that, well fuck that too… I don’t have stats turned on anyway.