Bits of Learning

Learning sometimes happens in big jumps, but mostly in little tiny steps. I share my baby steps of learning here, mostly on topics around programming, programming languages, software engineering, and computing in general. But occasionally, even on other disciplines of engineering or even science. I mostly learn through examples and doing. And this place is a logbook of my experiences in learning something. You may find several things interesting here: little cute snippets of (hopefully useful) code, a bit of backing theory, and a lot of gyan on how learning can be so much fun.

Wednesday, November 18, 2020

The Fascinating Art of Making Notes

Note-taking is a regular activity anyone wanting to record his reading, thoughts, ideas, etc. does on a regular basis. It could be a student, a teacher, or any expert. Note-taking happens in a variety of situations. One of the most prevalent is the classroom, lectures or meetings. For me, I make notes mostly in the following situations:

  • Thinking, e.g. for my research
  • Reading
  • Preparing for lectures

In this article, I wish to share some of my own methods, practices and observations about making notes. My thoughts around this topic are focused around drawing figures. Most if not all of my understanding must be translated into some visual language (which broadly includes mathematical notations and program code too) to be checked off as per my personal QA standards. This mayn't be a universal method as different people have different styles of comprehending their thoughts. I am a visual thinker. No surprise, I draw lots of pictures to express my thoughts, and to test their clarity.

While we all try to represent our abstract thoughts as viewable artifacts, I am sure most of us pretty much muddle through the process without fully understanding what's going on. One objective of writing this piece is also to unpack this mental process, as I understand it. No rocket science here. But, there's always merit in sharing.

All visualisation of our thoughts has two main purposes. One is to help us think, and the other is as a communication tool.

Note-making as a Thinking Tool

When we are using writing/drawing as a tool for understanding, flexibility is important. What you write or draw should be malleable enough to move in step with your thoughts. When the artifact you are thinking about appears like a rectangle, an ellipse or a blob with some text in it, you want to go ahead and put that out on paper. It doesn't help searching for an appropriate shape or object in the shapes library of your favourite editor. Doing so has at least the following disadvantages:

  1. It comes in the way of your thoughts, slowing you down
  2. It increases the cognitive load further impending thoughts
  3. It tends to influence the way you want to show your thoughts. This may hamper the freedom with which you think.

With the current state-of-the-art, computing devices are yet to become portable and lightweight enough to be readily available everywhere.

Hence, I personally prefer handwriting/hand-drawing as the preferred tool for this. I feel that nothing can match a notebook and a pen/pencil when it comes to providing that flexibility.

Traditional -- Pen/pencil + Notebook

Handwritten characters and shapes are closest to our thoughts


Pens are more beautiful and comfortable writing devices. Output, if got right, is of course superior to that of a pencil. Pencils (coupled with erasers) are more forgiving of mistakes as you can correct them.

Advantages of Traditional:  
  1. Flexible
  2. Handy and available
  3. Inexpensive
  4. No learning required


Disadvantages of Traditional:  
  1. All manual
  2. Limited
  3. Messy
  4. Paper based



 

Digital tablets

The state-of-the-art has now come close to the point where the best of both the worlds -- digital and traditional -- are now available in digital. You can handwrite, hand-draw to your heart's content if you have a stylus enabled device like a tablet computer or a Wacom tablet like device. There are further advantages which make digital handwriting a very compelling choice for making your first handwritten notes. The most important is flexibility. When it comes to correcting mistakes, even a pencil and an eraser have their limits; while in a digital writing pad, mistakes are easily forgiven and forgotten. You can correct and tweak to an almost infinite extent, preventing the write-ups or figures from getting messy with more edits. The richness and variety of tools that you get in the digital medium can't easily be matched by traditional medium. Pen colours, thickness, shapes, backgrounds, templates ... If all these blend seamlessly with handwriting/drawing, then the flexibility of the digital medium is just irresistible.

While traditional is incomparable in its experience, correcting mistakes gets harder as you go.

 
The richness of tools, variety, flexibility of digital medium is incomparable

For me, first cut digital notes are nearly undistisguishable from their traditional counterpart


And to top it all, copy-paste often comes as a boon for re-using your earlier efforts and in maintaining a uniform look and feel. While, this part mayn't be terribly important when you are making personal notes, it's important when you have drawn something very complicated, or when you want your personal notes to evolve into fair notes for sharing with others.

 

Advantages of Digital Handwriting/drawing: 
  1. Flexible
  2. Versatile
  3. Integrates seamlessly with completely digital tools


Disadvantages of Digital Handwriting/drawing: 
  1. Expensive
  2. May involve learning
  3. Not as portable and available as traditional medium

Note-making as a Communication Tool

Once your thoughts are clear enough and the visualisation thereof have attained a respectable look, you may or mayn't be interested to turn them into a fair material. In case you are looking for further enhancement of quality, this is a good point to go completely digital. This part is nothing enigmatic. Here, it's not so much about thinking, but about leveraging the digital tools at hand to achieve the best result. This article is not about that, nor do I profess to be an expert in that topic. Hence, I will be brief here.


Stepwise Transformation

As mentioned earlier, it would be great if the hand-drawn figures can be evolved into digital figures. This would primarily mean replacing wobbly lines and irregular shapes with smooth and regular digitally created lines and shapes. If your handwriting is not good, that can be replaced by digital text. Also, reshaping, resizing and relocating components of your drawing would give satisfying results.

Once the basic idea is put down, gradual transformation to a more digital look begins

 

Of course, that's possible only when the first drawings are made digitally using an appropriate tool. Otherwise, you would have to put in the effort of creating the first digital equivalent of your hand-drawn figure in a traditional medium. In my understanding, that's a very small part of the overall effort.

My knowledge of Windows and Mac world is limited and dated, as it's been years since I last used them in any significant measure. But, I am very sure that there must be very powerful and flexible tools out there which allow you to gradually and stepwise turn your hand-drawn sketches into digitally rendered ones. May be even Microsoft Word and Powerpoint have these features. In Linux, I have recently been using Openboard and Xournal++ for this. Both are extremely stable, user friendly systems with very little learning curve involved. Again, it's not about the tools, but about a bit of ingenuity.

Nearly completely Digitised Figure; notice the seamless intermixing of handwritten characters with digitally drawn shapes


LaTeX and TikZ

TikZ typesetting is famously LaTeX Quality -- Unmatchable!

 

As for my personal taste, I do most (probably all) of my documentation in LaTeX. Hence, translating things into that environment works best for me. TikZ is a LaTeX based drawing tool. The advantage of using TikZ is that your drawings are a part of your LaTeX document. This helps their maintenance. The output quality is one of the best in my opinion. The figure is really drawn logically using a programming language of sorts, and not visually. This makes the whole thing very robust. Moving and resizing never messes up your figures. And staying within the LaTeX ecosystem has plenty of advantages which any seasoned LaTeX user will swear by. Some of them are as follows:

  1. Powerful. Almost anything can be drawn.
  2. Logically/mathematically defined structure which doesn't go wrong easily
  3. Vector graphics rendering. So no pixellation of figures when zooming in or printing out
  4. Powerful packages for virtually any kind of drawing use case
  5. Extremely active online community. So, nearly all questions get readily answered with a single Google search.

The only disadvantage of using this tool is the learning curve, which is quite formidable. In fact, without assuming a fair degree of familiarity with LaTeX as a prerequisite, it can be a difficult proposition to opt for TikZ as preferred drawing tool.


Conclusion

Writing mainly serves two purposes: as a thinking tool and as a communication/documentation/recording/archival tool. The former asks for flexibility. Handwriting is best for this. The latter asks for quality. Digital helps there. In this article, we have presented a process of documentation that begins with predominantly handwriting, and gradually transforming into digital depending on the specific quality requirements and resources available. We have also shared information about some tools which can be used to implement this process.