2022.06.14.

2022.06.07.

2022.05.05.

Can paper still be a storage format?

I watched a video from Patrick Rhone where he mentioned that paper is still the best medium to store text-based information in the long run. We have books from thousands of years ago still available. Nobody knows how long the best digital medium will last, but we have already seen how durable paper can be.

Classics are survived hundreds of years. Of course, it was reprinted and stored in multiple places, but digital information nowadays is too tied to its format. For example, what will this blog look like in 20-30-40 years?

I try to use open standards when it comes to archive things, but still, sometimes it’s not enough. I lost the early music I made, photos, and blog posts (although I found some on archive.org) because I wasn’t paying attention to back them up, or it was easy to delete them accidentally.

Meanwhile, stuff I printed years ago is still okay. My parents even have old family photos, which are existing since at least I was born 35 years ago.

Paper can be a long-standing format to store information (or at least be a tertiary backup) if we don’t use it actively. Almost all digital storage formats are rotting away quickly (except some forms of optical media and tape), which means that we, a computer, or time will corrupt them. On top of that, we can accidentally delete anything from it, or ransomware could encrypt it, so we have to back them up. I use optical disks (more precisely 25 GB archival grade BD-R discs) to archive information because it’s made for cold storage. However, I still have to keep a reader around, which is an already a fading technology.

On the other hand, paper is a simple, free-form medium that can store limited types of information. I can print text and photos on it, and that’s it. If I want to keep it long-term, I can store it inside hanging folders or simple boxes which protect and organize it.

Sure, it can be damaged, but any other digital storage can be. If we take good care of it, it can give us a nice warm feeling when we stumble into an old notebook or a photo.

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.

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.

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.

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.

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.

Reply to hheJhsbjkJb8hhsj:

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)

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

Screen Shot 2021 10 27 at 14 47 45

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.

  1. Elpass: subscription-based, native iOS and macOS apps, looks good.
  2. Secrets: one-time payment, native iOS, and macOS apps, also look good.
  3. iCloud Keychain: free, built-in to iOS and macOS; also, it will have a couple of new features this autumn, like two-factor authentication.
  4. 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.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.

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

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

Finally got our first dose of vaccine (Pfizer-BioNTech) today with my wife.

2021.04.13.

Posting status updates from Craft

I’m tinkering with Craft, using it as a daily running journal. The outline-like logging format grouped by dates feels natural because I can write things out without much organization. The freeform nature of Craft makes this process relatively quick and easy.

It just occurred to me that I could also publish posts started as a block in my journal. I started writing this post’s idea, then turned it into a subpage inline and fleshed out more; finally, it was published via Ulysses.

Having this freeform block-level editing in Craft makes it an all-in-one tool for drafting out ideas into whatever I want.

2021.03.16.

Sequential projects

Here’s a couple of things regarding sequential projects:

  • Keep future actions in your project support. You don’t want to keep them in your head. It feels nice when you can open an outline or a mindmap (or whatever), and you can effortlessly add the next action on the project.
  • Get into the habit of capturing. When you complete one next action, you should grab the next one into your inbox since some part of your world changed. You have new information that you should pay attention to.
  • Weekly reviews are the safety net for still need to capture things.

I know some apps like OmniFocus let you add future actions that magically pop up in your next actions lists when you complete a previous one, but they do more harm than help. Almost every time, the next step needs processing anyway, so these subsequent half-baked actions that you add in advance are going to create less trust in your next actions lists.

2021.02.26.

The readability of GTD list managers

Three was a topic 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.25.

Remote work is not local work at a distance

Jason Fried wrote a post about doing remote work, with the expectations of local employment. This post resonated with me very well since I had a couple of weird interviews lately. Just a side note: yes, I quit my current job as a Ruby backend developer at TerraCycle about three weeks ago, and I’ll start working as a frontend developer/product designer at Nearcut on March 10th.

There are still companies that refuse to accept that remote work is a viable alternative. They want you to be in the office because “this is what we did before the pandemic, and everything should be back to normal soon.” No, nothing will be like before, and companies should embrace that, not deny it.

Not everyone’s like that. Even big ones consider remote work a viable alternative but don’t have the hiring process and experience to work like that, so they’re relying on old habits.

The enlightened companies coming out of this pandemic will be the ones that figured out the right way to work remotely. They’ll have stopped trying to make remote look like local. They’ll have discovered that remote work means more autonomy, more trust, more uninterrupted stretches of time, smaller teams, more independent, concurrent work (and less dependent, sequenced work).

I’m interested in what COVID-19 will do to remote work because, seriously considering remote work is one of the positive changes of the pandemic that happened in many workplaces. People were forced to work from home. Many companies figured out how to do this successfully, and they don’t want to throw out this knowledge because “everything will be back to normal.”


Jason also writes about native platforms:

Porting things between platforms is common, especially when the new thing is truly brand new (or trying to gain traction). As the Mac gained steam in the late 80s and early 90s, and Windows 3 came out in 1990, a large numbers of Windows/PC developers began to port their software to the Mac. They didn’t write Mac software, they ported Windows software. And you could tell – it was pretty shit. It was nice to have at a time when the Mac wasn’t widely developed, but, it was clearly ported.

When something’s ported, it’s obvious. Obviously not right.

Stuff that’s ported lacks the native sensibilities of the receiving platform. It doesn’t celebrate the advantages, it only meets the lowest possible bar. Everyone knows it. Sometimes we’re simply glad to have it because it’s either that or nothing, but there’s rarely a ringing endorsement of something that’s so obviously moved from A to B without consideration for what makes B, B.

Maybe Basecamp should create a Catalyst version of HEY for Mac from their iOS app, which is quite nice, instead of having a cross-platform Electron thing on the desktop called a “native Mac app.”