Nick Ang profile picture

Nick Ang

How a Daily Note fixed my note taking process

hand-drawn illustration of a Daily Note

Since the days I was in university, I have been a notes freak. I’ve written and published numerous posts about note-taking: as a way to augment human memory, as a gadget, as an ecosystem of products, as a personal knowledge management system.

I am fascinated by digital note-taking tools because I directly feel their power. I regularly envision myself as a supervillain who, in order to reach the next level of being, must obtain the fabled artefact. To harness the power of the artefact, the villain has to not just locate the stone, he must activate it to unleash its power. Usually, he either dies trying or more likely disfigures himself while he fuses with the power of the stone, like Red Skull from Captain America.

Yeah, I’m a geek about notes.

But for me, while I possess the stone (my note-taking app), the obstacle has always remained - how do I unlock its potential?

My note-taking system often swings from having no structure to one that has too much. Neither feels right. The stone is still just a rock. No glows.

Things began to change when I started creating a Daily Note.

What is a Daily Note?

Effectively, a Daily Note is just like any other note. I believe the template should depend heavily on what you do. Here’s what mine looks like anyway:

my daily note

The power of the Daily Note lies not in the structure that it provides me within the note, but the structure it provides me for making notes as a whole.

I was inspired to do this when I tried using Roam Research, the note-taking tool with a cult status on the web among bigger note-nerds than me.

Roam auto-generates a Daily Note and makes it the default landing page when you launch the web application. The first time I experienced that, I could hear a click in my head. This makes so much sense, yet no other note-taking tool has done it yet.

I didn’t like Roam for many reasons, so I stopped using it after two weeks of experimentation. In the end I went back to my old flame, Bear app.

But it’s not the tool. The tool is the stone. It’s the process that activates the stone. Discovering this Daily Note system activated the stone for me. My note-taking app started to glow!

How using a Daily Note changed how I make notes

Before I adapted Roam’s Daily Note into my Bear workflow, every time I had an idea or wanted for any other reason to make a note, I would have to stop and think where it should belong.

For example, let’s say I just got an idea for a blog post. Where should I put it?

I’d search my notes app for “blog article ideas” and maybe I’ll find the right note after scrolling through the matching results. If I’m lucky.

Most of the time I would search and fail to find the correct note before I lose my temporary grasp on the idea for the blog post. And then I’d feel like shit, and hate my note-taking app. At this point, I might comically decide to look for a new note-taking app to solve this problem. Each time I go chase the wild goose I come back with little to show for because it’s not the tool but the process that matters.

Here’s another example with books. Whenever I come across a book I would like to jot down as a possible “to read,” I would have to go through the same process as described earlier: search by a term, hope to find the right note and insert it.

At this point, you’re probably thinking I’m stupid for not just bookmarking these few notes so that they are easier to navigate back to, right?

I’ve tried bookmarking. The problem with it is that I could only have 3-5 bookmarked notes before they become a list of things I’d need to search as well. “Blog article ideas”, “Books to read”, “Things to follow-up”, etc. Bookmarking special notes quickly becomes its own thing in need of organising, and I’ll return to square one with the problem stuck in my hand.

Perhaps now you can see what I’m alluding to.

The Daily Note serves as the default point of entry for any idea, meeting note, todo, a book to read for that day.

The first important affordance of the Daily Note is that it is the default note you engage with at any time throughout a day. If today was Thursday, 8th April 2021, then I’d have a note entitled “2021-04-08-Thu” created first thing in the morning, and for the rest of the day, I would always return to that single note.

No more trying to find the right note. The right note is always the Daily Note for that day.

The second important property of the Daily Note is, well, that it is for a specific day. I recently read Show Your Work by Austin Kleon and in the book he said something that helped me understand the power of thinking in terms of a day:

Seasons change, weeks are completely human-made, but the day has a rhythm. The sun goes up; the sun goes down. Austin Kleon

“What day is it?” is a question I know I won’t ever have difficulty answering. The answer is always there, showing up on my phone screen or plastered on some digital clock. This is powerful not just because it means I will always be able to navigate to today’s note easily (no, that part can be solved easily with either “pinning” or some scripting). This is powerful because you can navigate back in time with ease and obtain full context.

Take for example a book that I noted down before as “to read” and I wanted to recall the name of the book now because I just saw the author mentioned in another article that reminded me of her work. I’m primed for more of that person’s work and all I need is to jog my memory by reading my note somewhere…

Now, I can do a search in my notes with the author’s name and land on the specific Daily Note. And once I do, the contents of that day’s note jogs my memory of the context in which I had stumbled on this author’s work in the first place. I might perhaps recall, from reading the other parts of that day’s note, that the day I made a note of that book was also the day I talked to my friend John about it. And now I might just send that friend a text to ask if he has started reading the book.

I cannot overstate the power of context, but I’ll try to throw a few more points on why it matters to me. With context:

  • I can retrace what other resources on the web link to this book as I first discovered it
  • I can correctly attribute and give credit to the person who helped me first discover a person’s work
  • I can experience the headspace that I had at the time that I originally made a note to read that book, which could colour my experience and what I learn when I start reading the book

If you care about taking your note-taking system to the next level to make it work for you, I recommend using a Daily Note as the default entry point. Your mileage may vary, but start driving.


What is a callback? An analogy with tea

Me pulling out an overly steeped teabag with a phone timer showing 7 minutes and 17 seconds

Imagine you’re trying to make tea. It’s your favourite green tea, which needs three minutes of infusion. You put the teabag into 95 degrees water and the steeping begins.

Now you have 2 options:

  1. Start a stopwatch, stand around and wait for the stopwatch to show 3 minutes have passed;
  2. or, start a timer, do something else while the 3 minutes pass and wait for the timer to tell you it’s done

And you pull out the tea bag and enjoy your tea.

Those are the two ways a disciplined tea drinker could get the perfect brew, but one of them — using a timer — also perfectly illustrates the point of a callback in programming.

In JavaScript code, using a timer to steep tea would look something like this:

const steep = 1000 * 60 * 3
let teabagInCup = false

function addTeabag() {
	teabagInCup = true
}

function removeTeabag() {
	teabagInCup = false	
}

addTeabag()
setTimeout(removeTeabag, steep)

The callback function is removeTeabag, which will be called once 3 minutes (defined as steep in milliseconds) is up.

To complete this analogy, let’s see how we can do something else while the tea is steeping:

addTeabag()
setTimeout(removeTeabag, steep)

// the timer is running, so we're free to do other things
textMum()
toggleTv('on')
relax()

This is the beauty of asynchronous programming. You get to tell the program to do X, and when X is done, do Y; meanwhile, after setting the timer, go right ahead to do A, B, and C while X is being done.

A callback is a programming concept for achieving the “when X is done, do Y” part and the callback function is the “Y.”

Could you steep tea without a timer? Of course. But you’d be using a stopwatch and all you could do is look up and back at the stopwatch counting 2:30… 2:35… 2:45… that’s time you’ll never get back, wasted staring at a stopwatch.

And if you somehow get distracted and forget that it’s still steeping, like I did in just yesterday (seen in picture)… well, you get astringent tea that will make you wish you used a timer that would have called you back.


Raising a newborn in Berlin vs Singapore

All of this is speculative.

My wife and I will soon have a newborn, and I will manage to look after my wife and child without help from family or friends in Berlin, while others in Singapore struggle even though they have help.

Why do I believe that?

In Germany, paternity leave can be up to 12 months if your partner does not take maternity leave. In fact, in Germany, the concept of paternity and maternity leave is better understood generally as parental leave (already its name is more inclusive). It’s designed with one thing in mind: to help parents spend more time together as a family, especially in the first 3 years.

My wife is not working at the moment, so that means I can be on government-assisted parental leave for up to 12 months in Germany.

And in Singapore? I’d get only two weeks of paternity leave.

12 months versus 2 weeks.

In which place should we expect a tight-knit family to form? One where both parents chip in equal amounts of time and energy into raising a newborn and creating a family, or one where it is disproportionately weighing on the mother?

In Singapore it is common at least in the Chinese community to employ a confinement nanny who stays a month with you, postpartum, to help cook nutritious food for the recovering mother and help with baby duties. Then, after that month is up, many choose to employ a domestic helper — almost always a woman from Indonesia or the Philippines — to continue helping generally at home as a live-in butler. They’d usually stay for many years.

These things cost money and thinking about how to make more money leads to stress. Understandably, since money is time. Stress, if applied to a lob-sided marriage, leads to strain. And strain leads to negative effects that spill over onto the child.

So, the Singapore story for raising a child goes like this: the husband gets only two weeks paid paternity leave, and the couple soon employs outside help for the mother to cope with raising the child in the reduced presence of the father.

A man is ironically painted into the corner of needing to pour time into his work as soon as possible to support his family. Support of course is not just about money, but you already know that.

And to be honest, a man has it easier than a woman in this scenario. Her aspirations are sometimes completely ignored while she is obliged to care for their child with little help from her husband and some help from a domestic helper.

The sad thing is, I’ve grown up in Singapore and I can tell you that I’ve seen many fathers having acclimated and who have justified this as the “right way” to be a father. To work and work and work, so that the paychecks continue to come and the bills, including the employed helper’s salary, continue to be paid. That’s their definition of a rightful contribution as a parent. But it’s 2021. Get your head out of your ass, man.

My definition of parenthood is that it is a shared journey between mother and father and child. A healthy family requires some money and a lot of attention, not a lot of money and some attention.

Here’s the thing: attention and money both consume time. Since how we spend our time is one of the rare things that is actually within our control, if we were to have a good family life, we ought to apportion it wisely.

In the end, I know it will be easier to live away from family and friends in Singapore to raise our child alone in Berlin. We will manage better and we will be happier in a place like Germany during this period of raising a newborn, and perhaps longer.

Why? Because we will both have more time to be parents in the crucial first years of a newborn’s life.


How to compress PDFs for free using Ghostscript

I recently had to submit an online government form that limited file size uploads of supporting documents to 3 MB. By the time I was done compiling my documents, it was 12 MB, well over that limit.

Naturally, looked for solutions to compress the documents! But I didn’t want to use an online tool for privacy and security reasons. I was trying to upload sensitive medical documents to the government.

With some googling, I found the solution that involved running two Terminal commands to compress a file. I followed a simple tutorial by Greg Pittman:

pdf2ps -dLanguageLevel=3 viral_test_results.pdf

ps2pdf -dPDFSETTINGS=/ebook viral_test_results.ps

With these settings, I managed to reduce my PDF by around 30-50% without a visible drop in quality.

Those commands — pdf2ps and ps2pdf — are part of Ghostscript. What is Ghostscript, though, and how do you get it? Greg’s tutorial hadn’t mentioned that.

To get Ghostscript for your computer, if you are using macOS, you can use homebrew. I learned that from VikingOSX’s answer on the Apple forums:

brew update
brew upgrade
brew install ghostscript
brew cleanup

If you are using Windows, you can download the program directly from Ghostscript’s downloads page. The command line commands may differ from the above.

Careful: The command may overwrite files. Consider making a copy of your file before running commands on it just in case something goes wrong!


Hard work is hard work

Most people want to live in a nice house, eat good food, go to the theatre, drive a nice car (or a few). But most people also want to not work too hard at the same time. If I could, I certainly want both at the same time.

But the truth that I often catch myself forgetting is that hard work pays well but is, well, hard work.

Hard work doesn’t just mean that the work itself is challenging or tough (which is a good thing in moderate doses), but hard work is often also hard in terms of sacrifices.

Since I learned to code from a programming bootcamp, I’ve dreamt of working as a software engineer earning big bucks at one of the big tech companies like Google, Apple, or Microsoft. And you know what? I’d be cocky for a second to say this: I know I have it in me to land those jobs if I tried hard.

But I’ve never formally applied to those jobs because I know it will take sacrifices and I wasn’t willing to make them.

Specifically, the first thing I knew was that I would have to sacrifice my time. Knowing myself, I would need to block time away from my wife to study and prepare for their notoriously difficult interviews. I’ll need time to study, do trial interviews, and code a few projects to thicken my portfolio.

The second sacrifice is money, which is tied with time. To prepare, I might have to quit my job and be unemployed for a few months. Seeking a new job is sometimes a full-time job. I’d lose income for a while, with no guaranteed returns. As confident as I am to be able to land the job if I tried hard enough, I know there are still many ways I could fail to get the job offer.

And finally, there is the sacrifice of energy - mental and physical energy. I know that preparing to interview at these big companies will be draining and wear me down. During those months, I would probably be less attentive and less able to enjoy my time with my wife and friends.

Those are the sacrifices I’d have to make just to get the job.

Then there’s doing the job. The work on the job is probably going to be more stressful than any other job in the same field. Why else would these businesses pay extra? This additional stress translates to even more sacrifices that I’d have to make compared to working at a smaller, less-known company that pays me just enough.

The point is this: hard work pays well, and less hard work pays less well. This may not be true when you compare across fields, but I’ve found that it is mostly true if you compare within the same field, like say, software engineering.

I think the reason I tend to forget this truth — and start envying some of my friends and strangers on internet articles for their jobs that pay five times more — is that I don’t know how to value the joy I get having time to spend with my family. But I do know that it is something high. It’s just difficult to compare “something high” against a salary.

Cliché as it sounds, at the end of the day, we must find our balance between striving and living. To that end, I find that it helps to remember that hard work pays well, and less hard work pays less well. Or as they say, you reap what you sow.


In Swissotel The Stamford, serving day 7 of my 21-day Stay Home Notice (SHN) as part of the pandemic control mechanism by the Singapore government.