Liked “(mac)OStalgia – Hello. I'm Michael.“.
2021.12.23.
2021.12.22.
Today is my last workday for this year. I finished so many cool Rails projects this year at Nearcut.
Now I can play.
Using an old MacBook Air for a home server
I just assembled this temporary home server “rack” with my 2018 MacBook Air on top.
It does the following things:
- General file sharing and project archival
- Backups my iCloud Drive and Photos to a Time Capsule
- Runs Time Machine server for my M1 MacBook Pro
- Tests Rails code against Intel via a local GitHub runner instance
- Processes files via DEVONthink smart rules
- Schedules some of my RSS feeds which are published via Feeder
- Archives my websites using rsync
- Filters my email via Mail rules
- Keeps my Reeder queue up-to-date
- Content caching
- Local device backups for my iPad Pro and iPhone
- Media server based on the Apple TV app and Home Sharing
- I don’t care about Plex.
- Torrent server to acquire the latest Linux ISOs
- Connects my DYMO labeler, because it caused kernel panics on my M1 MacBook Pro
I plan to get a proper Mac mini after we moved into our new house, but for now, this is more than sufficient.
A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution
The whole thing is fascinating, but this part just blows my mind. Very smart and really terrifying.
JBIG2 doesn’t have scripting capabilities, but when combined with a vulnerability, it does have the ability to emulate circuits of arbitrary logic gates operating on arbitrary memory. So why not just use that to build your own computer architecture and script that!? That’s exactly what this exploit does. Using over 70,000 segment commands defining logical bit operations, they define a small computer architecture with features such as registers and a full 64-bit adder and comparator which they use to search memory and perform arithmetic operations. It’s not as fast as Javascript, but it’s fundamentally computationally equivalent.
The bootstrapping operations for the sandbox escape exploit are written to run on this logic circuit and the whole thing runs in this weird, emulated environment created out of a single decompression pass through a JBIG2 stream. It’s pretty incredible, and at the same time, pretty terrifying.
2021.12.21.
Liked “Email is the antidote“.
So this is my workflow for blogging from Craft at the moment. It is fine, but I’m eager to write an extension that does this automatically, maybe with post formats and image uploads too.
I should try to create a Craft extension to post stuff here directly. They have some examples which can post to Medium or Ghost, no WordPress though… Although the best would be to have real-time sync of an outline, something similar to Dave Winer’s workflow. I almost automated this for OmniOutliner once before.
Reply to
:I’ve never understood why people use high/low energy contexts. For myself, what constitutes a high energy task can change from day to day. Some days I’m in the mood for creative work like mindmapping and brainstorming, and digging into financial spreadsheets can seem like heavy work. Other days Im in the mood for procedural work and creative thinking requires more brain power.
Me neither.
I don’t even understand how you can get an objective filter on being in a “high level” or “low level” state. It’s too black and white, I usually somewhere in the middle.
When I feel tired, I don’t even remember that I use GTD and have a menu of options to pick something from. Even when I do remember to review appropriate context lists, I don’t start to think about energy levels. I’m tired, I just naturally pick something easy from my Computer or my Home list, or just don’t give a damn and watch something from my Read/Watch list (or start scrolling RSS/Twitter/Reddit)
My GTD contexts
I mostly use the default contexts list. It’s not a coincidence that David Allen still recommends these. Sure, you have to remix them to your liking, but you also have to define clear edges for each of them so you’ll know which one to use at which time.
Here are mine:
- Nearcut: my day job, which is mainly development. These tasks require a different mindset, so it makes sense to group them.
- Freelance: yet another computer context. I have a bunch of freelance projects that I do as a side job.
- Decoding: I write a blog, record podcasts, and such. Next actions that require a deep work mindset, but not related to work, go here.
- Computer: I can do general things (admin, web browsing etc.) at my MacBook Pro or my iPad Pro. Sometimes I have specific next actions for a specific device, but it’s rare.
- Crafting: next actions related to keeping a Zettelkasten system maintained (kinda like my Budget context). These actions usually link to notes (and sometimes project plans, mindmaps) that I want to develop further and add it to my slipbox which I keep in Craft.
- Budget: a helpful one when I’m doing YNAB, or I have to do something on my bank’s web app.
- Calls: calls (and sometimes messages).
- Home: to have something to do when I’m not at any of my computers.
- Errands: well, errands to run.
- Groceries: a shared groceries list with my wife.
- Agendas: I keep people and meeting related agendas here.
- Waiting for: Stuff I’m waiting on from people. I add the date as well to each of these reminders and review them every other day.
I also keep a list of lists that collects all of my next actions list, my Read/Review lists, my video, and audio-related lists as well (Apple TV, Netflix, Prime Video, Podcasts). Why do I have this? Because I want to keep track of which list is for what, so I keep clean edges in my system (and easily create posts like this).
2021.12.10.
11 of my favourite tips for Safari
- 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. - You can do the same thing for tabs by pressing
⌘-1 through⌘-9 and Safari will switch to the corresponding tab. - 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.
- You can reopen your recently closed tabs by long-pressing on the plus button in the top right.
- 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. - 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).
- You can quickly switch your default search engine by going into the Address Bar, pressing
Space , then picking another search engine from the list. - 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.
- 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.
- 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.
- 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.
Always show proxy icons in macOS Monterey
You can choose to always show proxy icons in Accessibility preferences.
2021.11.08.
Absolutely nothing is enabled with this Focus.
2021.10.28.
Using Shortcuts to remind me to charge my iPhone
I ran into the issue a couple of times where my iPhone ran out of battery, and I forgot to charge it. In the morning, it was completely dead when I needed it.
To avoid this problem, I created two Shortcuts automation, which makes sure that I won’t forget to charge my iPhone.
When my iPhone battery is below 15%, Shortcuts creates a new reminder 5 minutes into the future to remind me to charge my phone.

When I’m sitting at my Mac, Reminders will ping me to charge my iPhone. I can grab my phone and plug it in.
The other automation runs when I plug my phone in. It finds all reminders created by the previous automation and marks them as completed.

This automated reminder requires no work from my side, but it saved my bacon a couple of times.
2021.10.27.
Apparently, you can change the mouse pointer’s color and outline in macOS Monterey. Go to System Preferences/Accessibility/Display/Pointer
and pick your colors.
2021.08.14.
Where to go after 1Password 8?
After this week’s news on 1Password forcing users to the crappy experience of being an Electron app, I started to look for alternatives. I haven’t decided yet, but I’m considering the following options.
- Elpass: subscription-based, native iOS and macOS apps, looks good.
- Secrets: one-time payment, native iOS, and macOS apps, also look good.
- iCloud Keychain: free, built-in to iOS and macOS; also, it will have a couple of new features this autumn, like two-factor authentication.
- Update on 2021-08-14: Minimalist: I got this recommended in the comments, looks pretty cool as well.
I’m leaning toward iCloud Keychain because, nowadays, I like to use the built-in tools of the Apple ecosystem.
The only question I have with iCloud Keychain is where to store passwords of my servers and a couple of app licenses? I think the built-in Keychain app on macOS will be OK for this. It can store arbitrary username/password pairs (great for servers), and it has secure notes which can hold the small number of serial numbers I have.
Right now, the next step is to clean out my old passwords from my 1Password and iCloud Keychain databases before starting the migration process.
2021.08.07.
Just to have a different opinion about Safari’s new compact tab-style: I like them.
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.08.06.
Refactoring my GTD system – part 4: using Apple Watch as a safety net for capturing
I’m using GTD for almost ten years now. I consider myself an advanced user, but last December, I wanted to simplify my system, my tools and return to the basics to get better at the end. I started refactoring every aspect of my GTD system—digital and analog as well. This is a series about how I did it and why.
- Part 1: list managers are overcomplicating our systems
- Part 2: the Capture Wallet
- Part 3: keeping capture tools everywhere
- Part 4: using Apple Watch as a safety net for capturing
- Part 5: the Mobile inbox
I already talked about the various capture tools I use in my GTD practice. I wanted to expand upon my Apple Watch usage a little bit more.
Since I have my Apple Watch with me (almost) all the time, it makes sense to use it as a secondary capture tool. I have two watch faces set up so that when my primary capture tools are not with me, I can still easily have a mechanism for capturing.
It’s best to use the Apple Watch for dictation or writing with its Scribble feature, but these methods are not made for lengthy talking/writing—although I never had a problem with that. I usually jot down or dictate a couple of quick thoughts here and there.
I use Drafts at night by capturing my notes with Scribble and Voice Memos for dictation when driving or walking. Each of these contexts has a corresponding watch face set up: a red Modular face with a Drafts complication used during the night, and an X-Large watch face which has a big, easy-to-tap Voice Memos icon in the middle for driving and walking.

I try to automate when these watch faces should show up. When my Apple Watch switches into sleep mode, Shortcuts changes my active watch face to the red Modular one. I also get a notification to change my watch face to the Voice Memos button when I leave home.
When I don’t have my phone or my notepad with me, the Apple Watch still can be used as a safety net for capturing. Like the old saying of “the best camera is the one that’s with you,” I can also say that the best capture tool is the one that’s with you.
2021.07.18.
Refactoring my GTD system – part 3: keeping capture tools everywhere
I’m using GTD for almost ten years now. I consider myself an advanced user, but last December, I wanted to simplify my system, my tools and return to the basics to get better at the end. I started refactoring every aspect of my GTD system—digital and analog as well. This is a series about how I did it and why.
- Part 1: list managers are overcomplicating our systems
- Part 2: the Capture Wallet
- Part 3: keeping capture tools everywhere
- Part 4: using Apple Watch as a safety net for capturing
- Part 5: the Mobile inbox
I have to prepare because I’ll run into things through the day which has a potential meaning to capture either via writing or dictation. Therefore, I have to keep capture tools in those places where I frequently show up.
By default, my preferred ubiquitous capture tool is the Capture Wallet, but there are contexts where I can use tools that are more appropriate and convenient.
At my desk
I can take notes slower and easier at my desk, so I use a Baron Fig Confidant notebook. I use a journal format: each day gets a header, I keep everything in a list annotated via Patrick Rhone’s Dash Plus method. I can capture ideas, track my time using timestamps, write down what I did; sometimes, I even use it as a regular journal.
My Baron Fig Confidant is a versatile tool. Since it has pages with a dotted grid, I can use it for mind-mapping, diagramming, and wire-framing. I can keep the digital noise away by using an analog tool for thinking.
In the car
It’s essential to use a capture tool that is quick and doesn’t need much attention while I’m driving. I found that the easiest to use capture tool is my Apple Watch and the Voice Memos app.
I also keep a notepad here to capture ideas (sometimes even groceries lists). When I’m driving, I’m asking the person sitting next to me (usually my wife) to write stuff down for me. The notepad is shared, so my wife can capture her stuff as well. Since we’re frequently discussing agenda items in the car together—which always triggers new stuff to capture—it’s convenient to keep a shared notepad at hand.
In the bed at night
I can have ideas in the bed in three contexts:
- Before sleep, when the lights are still on, and we’re talking about something with my wife (or I’m reading).
- In the dark when I wake up in the middle of the night.
- In the morning when I’m reading.
I keep a small notepad next to the bed, which I use when the light is still on or in the morning. I wear my Apple Watch during sleep for sleep tracking, so it’s natural to take notes using Drafts digitally. I use the Scribble feature to write in the dark: usually, I capture no more than just a couple of words to remember the idea next time.
On rare occasions when something still bugs me, and I wake up because of it in the middle of the night, I have to grab my iPad to write down longer forms of thinking. Usually, I can sleep well after I captured what was on my mind, but it’s more important to capture these things during the day, so I can go to bed with a clear mind and sleep well.
Keeping a checklist of capture tools
I have a pretty extensive set of capture tools, and it can be dangerous if I forget to dump stuff I collected into my inbox. Before I start to process my inboxes, I go through a checklist of these tools to make sure I gathered everything into one place to continue to process them.
Habits are also essential to form: I do drop things into my inbox on my own from my more frequently used capture tools like my wallet or Drafts. But I still use a safety net in the form of a checklist, so nothing lays around unprocessed at the end.
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.09.
For people who say Reminders can’t scale: yes it can.
Drafts is a digital Hipster PDA
- Drafts is an app optimized for taking quick notes and sending them to other places instead of storing them in the long term.
- Each Drafts note has a unique ID which can be understood as a digital index card linkable from anywhere.
- These notes are temporary, so I’m not keeping them in the system. After I processed one, it can be thrown away.
- 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.05.
Donald Trump’s ‘social media platform’ has launched and it’s just a blog
The new “platform” is styled like a generic version of Twitter but hosted as a running blog of commentary from Trump. People can sign up for post alerts on the platform through their email and phone numbers and are allegedly able to like them, although that function doesn’t appear to work as of publication. Users are also allowed to share Trump’s posts on Facebook and Twitter. The Twitter sharing option doesn’t currently work, but Facebook’s does allow people to share Trump’s posts.
I don’t like Trump, but the good thing is that everybody can have a blog.
2021.05.04.
Refactoring my GTD system – part 2: the Capture Wallet
I’m using GTD for almost ten years now. I consider myself an advanced user, but last December, I wanted to simplify my system, my tools and return to the basics to get better at the end. I started refactoring every aspect of my GTD system—digital and analog as well. This is a series about how I did it and why.
- Part 1: list managers are overcomplicating our systems
- Part 2: the Capture Wallet
- Part 3: keeping capture tools everywhere
- Part 4: using Apple Watch as a safety net for capturing
- Part 5: the Mobile inbox
I like to use my iPhone as a capture device, but the elegance and simplicity of the David Allen Notetaker Wallet is something I wanted to explore for a while now. I prefer paper for capture and general note taking because:
- it doesn’t notify me about anything,
- it doesn’t have a battery,
- there is no way to multitask on paper,
- and it’s the classic example of tools that do one thing well.
You can’t buy the David Allen Notetaker Wallet anymore, but I found a good alternative called Capture Wallet which copied it almost as-is, but it’s a good thing. There are two versions: “Artisan” and “Business.” I use the latter one because it’s more minimal and also cheaper.
It is way more convenient to use perforated notepads for the GTD capture process because I can tear pages off. Each page contains one (maybe two) notes, which makes processing stuff easier—I can deal with one thing at a time, then throw it away. Because I regularly tear-off notes and drop them into my inbox, my notepads are always fresh and clean; I don’t carry around old stuff as I do with notebooks.
I still use my iPhone as a secondary capture device. I have Drafts installed (which I consider as the digital version of the Hipster PDA), so I can write things down when I don’t have my Capture Wallet around, although I prefer it over my phone.
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.
- Unlike paper, digital tools are rigid, so they are not the most optimal way to support thinking.
I started to mess around with a new Keychron keyboard.
2021.05.02.
Refactoring my GTD system – part 1: list managers are overcomplicating our systems
I’m using GTD for almost ten years now. I consider myself an advanced user, but last December, I wanted to simplify my system, my tools and return to the basics to get better at the end. I started refactoring every aspect of my GTD system—digital and analog as well. This is a series about how I did it and why.
- Part 1: list managers are overcomplicating our systems
- Part 2: the Capture Wallet
- Part 3: keeping capture tools everywhere
- Part 4: using Apple Watch as a safety net for capturing
- Part 5: the Mobile inbox
The initial version of GTD is based on more straightforward tools than most digital list managers. It is essential to learn how to do GTD in the default way because each step and tool has a purpose; there are no unnecessary things. We’re doing something wrong if we can’t keep our GTD system up and running with just the tools and ideas mentioned in the book.
Avoid having a connection between projects and next actions
Many list managers connect projects with the next actions, but in the original GTD approach, there are no connections between them. Everything is on a different list. We’re the ones who connect everything when we do the Weekly Review.
Digital list managers connect only subsequent actions to projects; they skip calendar events, project plans, etc. We have to find these on our own, but doing it can be confusing. When we do the Weekly Review, we can be under the impression that all we have about a project is the next actions connected to it, forgetting other activities like events on our calendar. We have to get the pieces together of all the remaining stuff for ourselves. It is way easier if the software can connect everything to us, but there is no technology capable of doing this, so we have to find the logical connection between things. Having seen the entire picture is the only way we can relax our minds.
Connecting subsequent actions to projects can result in unnecessary steps when adding a new to-do. Using simple lists is straightforward: we add a new item, and we are done; on the other hand, having a connection between projects and next actions is meta-information, usually yet another field to fill, which makes adding things slower.
If we don’t expect to see the title of related projects in our next actions lists, we will be more considered about how to phrase our actions. It results in a more precise next action which we can imagine easier, thus doing it without much thinking later.
Having many features is distracting
Professional task managers have many features which have to be set up and maintained, which takes a lot of time. These features can be helpful, but GTD doesn’t need more than having simple lists. We can even do the right thing at the right time with GTD on paper where advanced features are absent.
Before we try to solve a problem with advanced tools, we have to consider using something simpler which can yield the same result. For example, we can use paper to think, but store the result of that thinking in digital tools. Having many features can distract us from work by fiddling with the tool. The importance of a project is not defined by the tool we’re using to administer it.
2021.05.01.
Finally got our first dose of vaccine (Pfizer-BioNTech) today with my wife.
2021.04.20.
Snapdrop is a great tool to have on your tool belt when you want to “airdrop” something to non-Apple platforms. It is P2P, so your files won’t be sent to a server.