Apply Zettelkasten to improve English with Trello

Recently, I was introduced to Zettelkasten from X-Team blog. It is a system, a method to capture and retain knowledge.

Zettelkasten suggests an approach to solve a common problem – Unless you have a super memory, you forget what you have learnt weeks ago, even days. "I remember I read it somewhere, that I know it" – I told myself many times when, for example, I saw old words. Words that I read the other days in articles, in conversions,…

Nowadays, knowledge is almost free. You can search for almost anything using a search engine such as Google, Bing, … We do not have to remember too much as far as we know what and where to find what we need.

That reasons well with some area, especially information that we do not need to access frequently. I want to turn information into my knowledge as much as possible. That is the only way for me to grow.

Being a software developer, I use English in my job, mostly in writing. I write code in English; I write/read documents in English; I communicate with my clients, coworkers in English. I am glad to have opportunities to learn new words, new expressions. Below is my flow when I meet a new word

  1. Lookup their meanings, usually via Collins Dictionary – I highly recommend it
  2. Read through the definition and guess the meanings. And to understand what the other person (or the document) was trying to say

The flow took around 1-3 minutes. And I was done. I declared the victory. I thought I got it. Until! A few days later, or weeks, I saw it again. I could not access its meaning from the memory. I knew it. I just could not access it. The knowledge about that word was not mine.

So the best thing I could do was to repeat the flow, again. It sucks! Really sucks!

When I read about Zettelkasten, an idea was flashing in my mind. Hey! I could utilize this system to capture and retain knowledge. I could improve my English situation. So I have started Zettekkasten.

Zettelkasten-English-Board
Zettelkasten English Board

Tool – Trello

Next, I need a tool to capture knowledge. Trello came to my mind immediately. I have been using it for years. I knew it was a perfect tool for this purpose. I suggest you visit Trello for a complete list of features, of what It can support your creativity.

Why Trello? Because:

  1. Access everywhere as far as you have internet access. You can use the web version, the mobile apps version (Android and iOS)
  2. There is a free version which supports basic functionalities. That is all I need for knowledge capture
  3. Organize information in lists and cards. A card is like a sticky paper note, a perfect tool to brief information
  4. Easy to use
  5. Search fast
  6. It gives me the feeling that I am working with paper and sticky note, the paper sticky note. That feeling is important because it lowers the barrier. So simply it makes me feel good

Prepare the garden

Trello is a general purpose tool. You use it with your own creativity. To use it for Zettelkasten (yes I use that term more often to remind me of capturing and retaining knowledge), I have to prepare. Turn Trello’s list and card into Zettelkasten holder.

I decided to group words by months. I wanted to see what I have learned over the time; and at what moment (at what month is good enough) in time.

  1. A list is a month
  2. A card is a word. The card title has a short description of the word. This allows me to recite them faster by glancing at the board. All the detail, example, … is in the card’s description. And usually I put a link to the Collins Dictionary. I can read them in detail by following the link. Easy and fast

I name the board: Zettelkasten – English. This reminds me of the approach I am using and what the board is having. Next year, I might need a new board with the year. But now, I do not worry that much.

It is easy like that.

So my flow has changed

  1. Look up the meaning in the Collins Dictionary
  2. Create a card in the right list. If the list (the month) does not exist, create a new one. It is important to spend a little time to write your own understanding of the word

Note: Avoid copy and paste as much as possible. Writing will help remember better.

Eat the fruit

Setting up and leaving it there will not help. I need to tweak my routine, my habit to take advantages of the Zettelkasten.

At work, I often open that Trello board in a browser tab. It allows me to add new words faster. Some minutes of reviewing the board has a tremendous impact on my memory. It will enforce my long term memory.

I also install the Trello app on my phone. I have short idled periods while waiting for my kid, before taking them to school and pick up after classes. Instead of visiting facebook, twitter, news, … open the Trello first; glance at the board, and continue my normal routine if I wish to.

The app allows me to add new words anytime, anywhere. I simply capture them first, then work on the detail later.

I utilize my time better without impacting anything.

I have had the setup for over a month (there are 2 months on the board at the time of this writing). So far it works beautiful. I still need to practice and enforce my disciplines.

Why do I limit myself only to the English? So I have applied in other knowledge areas: technology, book. They require different setups but the principles remain.

Zettelkasten with Trello sound a good couple.

2019 Road Map

2018 has almost already been in the book. I have had a wonderful year. Instead of spending time writing about it, I decide to spend time recalling it, and write a road map for 2019. The past is in a good care by the memory. The future must be written.

The road map will drive my time and energy. It also helps me make better decisions. If anything is against the road map, it is easy to say NO.

The road map is for my professional career. For my human career, the road map is always the same: be a good husband, a good dad, and a good self.

Project Management Professional (PMP)

I read about it 6 years ago. I did not understand a single word in the material. After spending 10+ years building software and running teams and the company, It is time to get it right again. I found it much easier this time.

Start with an PMP book from Head First, then a series of courses on the Pluralsight. I always love books from Head First.

Domain Driven Design (DDD), Refactoring, and Performance

The more I write code, the more value DDD I recognize, and the less I know about DDD. The last part, the less I know about DDD, is important. It tells me that I started to understand it.

DDD is not just about code, not just about writing code. A proper understanding of DDD will increase design skill, business analysis skill. When it combines with Event Storming, the power is unlimited.

The second edition Refactoring – Martin Fowler has come out. I read the first edition 10 years ago. It has helped me writing a better code for 10+ years. The second edition is definitely in my studying list this year.

DDD and Refactoring are universal and never obsoleted.

Building a running software is easy. Making it fast and stable is a different story. By paying attention to the performance, it drives me to study careful about threading, memory, performance pattern, scaling pattern, …

Active Sharing

Sharing is learning. Giving is receiving. I will active offer my help in LinkedIn. If I am lucky, I can help someone.

That’s it! I am ready to welcome the year 2019.

C# Sharpen Your Sword

Do you know C#? Yes. I do. How long have you been using it? 4-5 years. I am an experienced C# developer, sir.

While interviewing candidates for C# developer position, I came across many CV with saying kind of the same thing. Candidates claim that they are experienced C# developers. I am sure they are. Many of them are. But, unfortunately, there are some who misunderstood themselves.

Why was that? Regardless of C# evolution, they kept writing the same code as if it was C# 1.0. Many just use C# to write basic code such as class, if statement. They use basic data types not even care or know that there are better versions of data structures that can do a better job.

Many experienced developers have problems with writing code that access database, manipulate XML, read files, … The forever argument is they will google when they need it. Ok, that makes sense. Oh no! experienced developers ask google for basic operations?? Hmm that does not make any sense at all.

One day I realized that I am a C# developer, too (Just kidding I know I am a C# developer, writing C# code for a living). I started to ask myself

How much do I know about C#?

I know some. That’s all I can admit. With the thinking flow, I thought many C# developers have that problem; they are not aware of how much they know about C#.

I decided to compose a list of fundamental that every developer should know about C#. Not everyone uses all of them in their daily job.

There are 2 purposes when I composed the list

  1. Self-improvement: I want to improve my C# skill regardless of where I am now. I want to have a strong foundation.
  2. Help others: I have developers at my workplace. I want to help whoever accept my help. Remember that helping is growing, a perfect win-win situation.

 

Primitive Data Types and Keywords

What are differences between integer and float data types? between float and double? And when to use what?

The problem: many do not think twice before deciding a data type to use. What primitive data type do you use to hold a person’s age? Probably it is int, right?

What are checked and unchecked keywords used for?

String Manipulation and Regular Expression

Developers deal with string more often than they thought.

  1. Concatenate strings
  2. Format string with Join
  3. Format string with Format
  4. Find string with regular expression
  5. ToString(): when displaying a value (integer, date, currency, …), we convert it to a string.
  6. String and Culture

The regular expression is an exciting, sometimes headache, topic. How many ways are there to check if a string is an integer?

Protection Levels

Hey, do you remember these: Private, Protected, Internal, Protected Internal, and Public?

The problem: Do not know how to take advantages of the language to protect data correctly.

I have seen developers have a habit of using public for methods and properties, private for fields. The public modifier is used because it is the easiest, which allows a function can be consumed everywhere.

When was the last time you think of using Internal, or Protected Internal?

Collections and Concurrent Collections

How many types of collection do you know? And when to use what? List, Queue, Stack, Dictionary, Array, ArrayList, … Oh how about the readonly and concurrent versions?

The problem: Not use the right collection. Usually, developers take the easiest one instead of a proper one.

Using the right collection is very important. Because it will protect the data from unexpected access, unexpected modification.

The most common use is the List<T> class. Because it does not require any thinking process.

To use a proper collection type, at least a developer should consider these questions

  • Is it ordered?
  • Access pattern? FIFO, FILO, Random, by index, by key, …
  • Is it readonly?
  • Do we need to keep it after processing all items?
  • What are the most common operations (business operations) on that collection?

 

Threading, Task, Parallelism, Async and Await

This topic is not easy at all. It is not required that every developer has a deep understanding; however, a fundamental is crucial.

The problem: Use without a bit of understanding how it works. This causes many nasty issues in production.

XML

Sometimes, we forget how to process an XML document. That’s sad. A direct XML processing might not be popular these days. But a proper understanding is important.

File and I/O

The problem: We do not know what we are doing.

When there is a need to read a file, developers use the first API available File.Open with just enough required parameters. Many times, they fail to ask

  1. What is the file encoding?
  2. What if a file is being opened by another process?
  3. What if a file does not exist?
  4. What if a file is too big?
  5. Do we need to load its content at once? or should we process line by line?

Have you ever wondered those questions?

ADO.NET

The rise of ORM tools (EF, NHibernate, …) makes developers’ life easier when dealing with databases. That comes at a cost. Developers seem to forget how to interact with databases.

The problem: Do not know how to work with databases.

When doing interviews, I asked candidates about the SQL transaction in an EF application. They said EF does it all for us. Yes. It does. The next question, when does it commit a transaction? Answer: Oh, EF does it for us. Period.

Lacking the database fundamental is such a bad excuse.

LINQ

It is hard to say whether it is a fundamental thing. It came out with C# 3.0. Before, you can write code with for loop. Proper use of LINQ will improve the readability of your code.

Covariance and Contravariance

Same as LINQ. If you understand them, you are rock.

Dynamic

Not used often, but listed here for reference.

 

Having the list is a first step to sharpen my C# sword. The list works as an agenda, a guiding star. Some of the items I am good at, others I am a beginner.

Stay calm, sit down, put hands on the sword, move it slowly. That’s good! Let’s the game on.

2017 Retrospective

2017 was finished. It is worth to spend some hours looking back on how I spent the year. The main objectives are what I have done well, what improvements I should do in 2018. I will not look at the past to judge whether it is good or bad. There is no value in that judgment thinking.

First, let’s start with what I started at the beginning of 2017. This facebook timeline reminded me

2017 Keyword: SOW
2017 Keyword: SOW

Back in time, I had no idea what I should sow whatsoever. I just knew that I had to start somewhere. The SOW has been the main theme in my direction so far. I am a strong believer in

You reap what you sow

Right after that, I wrote a post to set my mind clear, so I would not fall into a wish trap. And I started this blog again in 2017.

Let’s start with the blog review.

The Blog

To sow, I need to do things that will benefit others. Blogging is the easiest way to accomplish that. When started, I had all the fear that many have had when writing a blog

  • Fear of bad writing
  • Fear of no reader
  • Fear of someone laughing

Hell! you either step back or move forward. I chose the later.

2017 statistic

  1. 50 posts
  2. 1680 views
  3. Various topics: technical, personal development, leadership, …

I still remember the feeling when I looked at the page views every day, then every week. Not because I wanted to be popular, but because it gave me a special feeling. And that feeling brought me the courage to write more. It is a good loop.

The sowing process in blogging is good. I will keep going. By writing, it both helps me and others, a perfect win-win scenario.

The Mind

I have read 11 books completely, and 7 in progress.

2017 Reading on Goodreads
2017 Reading on Goodreads

Many of them are in English. A few are in Vietnamese. At home, I have my bookshelves. Which allows me to read a couple of books.

Reading is a way of improving my mind, my understanding of life, my understanding of how things work.

On December, I managed to get my PSM 1 Certification.

The Body

I started to play badminton again, not frequently. At the same time, I practice Tai Chi in the morning. I just started on the Tai Chi with a desire to improve my health.

However, I have not fixed my health problems:

  1. My stomach
  2. The endurance

They are the main improvements I will take seriously in 2018. I will write about them soon when the time comes. I have started that process and I am pretty sure that I have found a good solution. I just need the willpower and discipline.

The Work and Accomplishments

2016, I worked 2284 hours. 2017, I worked 2093 hours. I do not aim at working as many hours as possible. Rather, I want to focus on the value per hours. So the reduced amount is a good process. Of course, I have to make sure my income at an acceptable level. Sorry I cannot tell about income in a public blog post.

Accomplishments? There are some. Unfortunately, they are private. I want to keep them for myself.

 

Those are quick reviews of my 2017. By reviewing it this way, I am fully aware of how I spent a year. There is one very important pattern here.

  1. I start something at the beginning of the year
  2. I review at the end
  3. I see the progress

Of course, there are many unexpected things. There are bad things happened. Just accept them. That is how the life runs.

2018 has started. I have my own goals of what I want in this year, of how I want to spend the year.

Officially farewell 2017 from Thai Anh Duc. Thank you for your coming Mr. 2017.

Time Management Decode

In a meeting, my team brought up the subject Time Management. People have been talking about time management for years. It is so easy to search on the internet. There are millions of articles. Sometimes many people look for answers, but they tend to forget to ask the right questions. What do you want to manage regarding time? Why do you need to do that?

I do not have neither questions nor answers. I do have my opinions in the topic instead. Hope they will give you some ideas to ponder.

You Cannot Manage Time

Everyone has exactly 24h a day. You cannot ask for more and accept less. No matter what you do, how you do, at the midnight, your day is over. It is just that simple. Time is up, over. You are done with your day.

I wish I had more time” Good luck! It is called naive. The universe laws say that

  1. The day ends at the midnight
  2. The week ends at the Sunday midnight
  3. The month ends when the last day finishes
  4. The life ends at the last breath.

There is nothing we can do. We should, well, just accept and embrace the facts. Once I realized that I stopped fighting internally about my lack of time. Instead, I focus my energy to find better ways of using time. Time is my own asset. Here they are, my views in the time topic.

Awareness

I spent a day without a single thought. Sometimes when it was over, I said “Thanks God! It is over.” I spent my most invaluable asset and I wished It was over. That was so stupid.

For the last couple of years, I have changed my mindset. Everyday I wake up, usually at 5:00 except I am hung over, the first thing I do is saying “Thank you, I have another day to spend. I will make the most out of it“. However, It was not easy, but I managed to follow. The more I speak to myself, the more awareness of the time I enforce.

We all have good days and bad days. When we have a bad day, we wish it is over. Please stop wishing that. We all have bad days. Some have more. Other have less. Raising the awareness will give us a better look at your day. You might look at your bad days differently. Why? Because you know that you have spent your most valuable asset. Therefore it is a good idea to reflect the result.

Respect

Respect time means a minute is valuable as a hour or a day. I often heard people saying

  • Let’s wait for 15 minutes. I will do it after 15 minutes.
  • Just 10 minutes left, I cannot do anything. Usually, it is 8:50 and you have to go out or do other task at 9:00. You have 10 minutes in between. And you just wish it slice.

During a day, there are so many time blocks, they can be 5 minutes, 10 minutes, even 30 minutes. Have we ever paid attention to them? Have we ever wondered how to use them, how to utilize them? No. Many people might not even know they exist. Tim Urban has excellent post about time block. You can define your own block in the way that makes sense to you.

Thinking in term of time block, we can explain why people feel lacking of time and struggle to find ways to manage it. The feel of lacking time comes from the fact that end the end of a day, you feel that nothing has been done. You accomplish nothing. And that when you blame for the lack of time.

When I asked someone what they have accomplished in the last 6 months. They said they wanted to learn/do many things. But they have not had enough time. That excuse has been used by millions of people over centuries. Please stop using it. Let’s someone else use it but not you.

Everyday we are often interrupted by unplanned things, by unexpected people. It is the reality. Let’s face it. Which means there are many small time blocks created. Look another way, that also means that you have many time blocks available at your disposal. On this view, you have more power on your time. Instead of struggling with time, you simply look for ways to make the best out of your available time blocks.

 

What should one do with their time blocks? I do not know. It depends on their interests, their purposes. But I can tell you what I have done with my available time blocks. I am writing this post in my available time blocks. I do not have a full block of hours to write the post. But I do have many small blocks of 10 or 20 minutes.

Here are things I usually do with my time blocks

Reading

I have work, have family. I cannot request a full day just to read books. I do not have any planned time to read books. Instead, I buy a Kindle, paper books. I always bring my Kindle, sometimes including some paper books. I read them when I am waiting in the car, when I am on taxi, when I am on Uber. I read whenever I have a block of 10 minutes. If I do not know how long I have to wait, I just read.

Learning

I prepared for PSM1 exam mostly in those time blocks. I made sure the materials are ready and easy to reach. Within 10 minutes you have learned a lot. It is much harder to learn in hours, but it is rather easy to learn something in 10 or 30 minutes.

I wrote this post in many small time blocks. Writing and blogging are good ways to learn.

Meditation

This subject is rather new to me. Sometimes, I spend 5-minute block to breath, or simply a quite moment to think.

The other time, I do yoga or Tai-Chi. I just need to learn some movements that allow me to perform within 5 to 10 minutes.

 

There are hundreds of things we can do with our time blocks. What you will do with your time is more important than how much time you have. Instead of waiting for the right time, or asking for more time, try to look at time in this way

  1. Time is your most valuable asset.
  2. View a day as blocks of minutes. Either 5, 10 or 30 minutes is up to you.
  3. Be aware that you have those blocks available at your disposal. No one can take it from you.
  4. Respect those time blocks.
  5. And design a plan to use them best.

So, instead of asking how to manage time, maybe better to ask what do I want to do in a block of 10 minutes? Or what can I do in a block of 10 minutes? By the end of the day, you realize that you have done many things. And you will feel good.

Have a good weekend!