The power of bi-directional wiki-links

Makzan’s Dispatch 2020 week 19

Hi my friend,

I hope you staying safe at home or at work.

I shared how I manage my knowledge base and information system in newsletter 2019 week 51. This week, I added bi-directional wiki-linking features to this system and it levels up immediately.

The basic requirement for wiki-link is to be able to link to [[the titled page]] that’s wrapped by brackets. But this is only one direction linking. What I learned from Roam Research and TiddlyWiki with Stroll plugin is the power of bi-directional linking. I shared how others use Roam in last week’s newsletter. It gives a detail example on how bi-directional wiki-links can achieve.

For example, in my daily log, If I mentioned “discussing [[Topic T]] with [[Friend A]] at [[Location B]]”. The system creates the Topic T, Friend A and Location B entry for me. I can add details to each entry. From time to time, I will also mention [[Friend A]] in different entries. Now when I go to Friend A’s page, I can see all the references that linked to Friend A. I can also go to Topic T page to see when and who this topic comes to my mind and what were the conclusions.

This is just one example. I can also use it as:

  • Book reviews and quotes that refer to different areas, and each area lists those books related to it.

  • Simple personal contact relationship logging: Who, When, What happened.

  • Writing teaching material that each topic connects to each others.

  • Cross-referencing my different ideas and creating creative links between them.

After upgrading this feature, my stored entries can not only by referring via dates and tags but also via cross-linking and back-tracking.

This benefits the entries that are stored in the system. Before that, there is also the thinking part, which I often do in analog way. Afterwards, I scan them and digitalize them into the system.

Why writing things down with pens and paper?

That’s because “I’m not writing it down to remember it later, I’m writing it down to remember it now.”—Fieldnotes.

Otherwise, my focus becomes:

Links worth sharing

Mobile First book is free to read online

I am always a fan of A Book Apart. Their books are authored by top professionals. Content is focus and short, easy to digest and follow.


Excalidraw is an UI sketching tool that makes use of the Rough.js library to create sketchy feel of UI.

UI sketch is often created to be too finished. The problem of being too finished is that leave no room for the design process. The purpose of UI sketch is to present what actions are going to be on the UI, ordered by importance. We don’t want to decide the position of the elements during the sketch stage. So making it look rough is essential for UI sketching.

Github Codespaces

I used to use Cloud IDE until they all shut down. I used I used Now I migrate back to local development when Cloud9 shuts down after the tool is migrated into AWS environment. But Cloud IDE may be indeed blooming at the moment. Last week Microsoft renamed the Visual Studio Online into Codespaces. Now Github has its hosted codespaces to allow directly editing repository in the online editor.

iOS sandbox escape with non-valid XML comments

XML parsing is always difficult. In their detail post, it points out:

A very interesting thing about this bug is that I couldn’t point you at any particular piece of code and say “there’s my bug”. The reason for that is that, of course, iOS doesn’t have just one, or two, or even three plist parsers, it has at least four! These are:

  • OSUnserializeXML in the kernel

  • IOCFUnserialize in IOKitUser

  • CFPropertyListCreateWithData in CoreFoundation

  • xpc_create_from_plist in libxpc (closed-source)

it’s very hard to parse XML correctly, valid XML makes all parsers return the same data, but slightly invalid XML makes them return just slightly not the same data.
In other words, any parser difference can be exploited to make different parsers see different things. This is the very heart of this bug, making it not just a logic flaw, but a system-spanning design flaw.

Scrolling isn’t consent, says EU data protection body

Apple announces WWDC will being June 22

Calendar marked. I will be late sleeping that week attending those online live talks.

Tasks Manager in web browsers

Until next week,
Thomas Mak