Getting Hands-on With Pacman

Though Manjaro has a graphic utility for adding/removing software, it does ship with pacman which is the the package manager from upstream Arch Linux. On Ubuntu based systems, I was already familiar with apt-get command with its straight forward options, but pacman was little different in terms of the flags it uses to install/update packages. It would take me some time before getting used to it. And while I was still getting a hang of it I knew I would be making ample mistakes on the cli and probably mess something up. There was definitely a better way to handle this elegantly and an opportunity to use my nifty Unix scripting skills.

The official Pacman wiki is detailed enough to understand and use the different options. To use this seamlessly I thought it would be good to write a Unix script as a wrapper over these commands, which will make sure that I just provide the choice of my actions and name of the package for it to work. The script will take care of calling the right commands using sudo ( if required ). This takes away the need to figure out which flags to pass to pacman.

I added options to search for packages, install/remove package, list/remove redundant packages, upgrade system, clear cache etc. Selected menu item simply delegates to the appropriate pacman command, making it a stress-free, seamless execution. Here is the entire script.

#! /usr/bin/sh

while [ true ]
do
        clear
        echo "PACMAN Helper"
        echo "-------------"
        echo "1. Search package"
        echo "2. Install package"
	echo "3. Remove package"
        echo "4. List unused packages"
        echo "5. Remove unused packages"
	echo "6. Update and Upgrade system"
	echo "7. Clean cache"
        echo "0. Exit"
        echo
        read -p "Enter choice: " choice
		echo 

        case $choice in
                0)      clear
			exit
                        ;;
                1)      read -p "Enter package name: " pkg
			(pacman -Qs $pkg; pacman -Ss $pkg) | cat | less
                        ;;
                2)      read -p "Enter package name: " pkg
                        sudo pacman -Syu $pkg
                        ;;
                3)      read -p "Enter package name: " pkg
                        sudo pacman -R $pkg
			read -p "Press any key to continue..." continue
                        ;;
		4)	if [ `pacman -Qdt | wc -l` -gt 0 ];then
				echo -e "Listing unused packages...\n"
				pacman -Qdt
			else
				echo "No unused packages found"
			fi
			read -p "Press any key to continue..." continue
			;;
		5)	if [ `pacman -Qdt | wc -l` -gt 0 ];then
				sudo pacman -Rs $(pacman -Qdtq)
			else
				echo "No unused packages found"
			fi
			read -p "Press any key to continue..." continue
			;;
		6)	sudo pacman -Syu
			read -p "Press any key to continue..." continue
			;;
		7) 	sudo pacman -Sc
			read -p "Press any key to continue..." continue
			;;
                *)      echo "Invalid choice"
                        ;;
        esac
done

Created a ~/.local/bin folder and saved this file as “pacmanhelper”. File permission 744 makes sure no one else is able to change or execute this file. I updated the .bashrc to include this in the PATH.

Here are some screenshots of the script in action.

Pi Land Adventure 3 – Pop OS

The Pi journey continues with Pop OS. I could quickly get started by flashing the latest pi image onto the micro SD card and booting it right away. The official image is a hefty 2.2GB and does take its time to written on the SD card.

First boot was a familiar experience, since I have been using Pop OS as my daily driver for almost a year. And so I was very curious about its ARM spin. The welcome screen asks you to enter the user details, set up a password, allows some quick selection of themes, dock positions etc and you are ready to go. Pop OS has the cosmos desktop with its window tiling feature which is a breeze to use. One thing I noticed though, that the dock does not auto hide which is annoying and wastes valuable screen real estate.

The RAM usage hovers at 1.7 GB which is definitely on the heavy side and the fresh install of the image takes 7.6 GB disk space. WiFi and Bluetooth connectivity is also not an issue.

The list of applications isn’t that exhaustive, the only good thing being that it came with full Libre Office suite. Even Firefox had to be installed as a snap and not native application. It did not have a audio player either. Things weren’t looking as bright. And the biggest gripe I soon discovered was Pop OS’s inability to update/upgrade or install any more software. Repeated attempts to install unmet dependencies and then continue to install applications like gimp, vlc etc failed.

I just felt like stopping here. What good is this OS if it wont allow to install applications esp when preinstalled list does not fully serves its purpose. I understand Pop OS for Raspberry pi is still nascent and may have a long road ahead. Maybe I will revisit this once it is more mature or at least functions better.

Seems the one Raspberry pi image that I was most excited about has fallen way short of my expectations. Partly because I have come to really like Pop OS as my Linux distro of choice for laptop, maybe it is not yet ready for the pi. I do not think I will hang around beyond this point anymore. Time to flash that micro SD card with something else.

Pi Land Adventure 2 – Manjaro Mate

The next pit stop in the Pi land journey is the Manjaro Mate ARM version which I downloaded from here and flashed onto the micro SD card using Etcher. The Manjaro Mate arm image for Raspberry Pi is 923MB. Flashing it to the micro SD card is super easy and flawless with Etcher. Once flashed, just pop that card into the pi and you are good to go.

Upon first boot, Manjaro greets with the Calamares installer which asks for user setup information and sets up other configurations for WiFi, timezone, keyboard settings etc. The setup is quick and painless. It took me just 2 mins and after a reboot I was on the Manjaro Mate desktop. The RAM usage hovered just over 780MB which is impressive. And the complete install took less then 5GB disk space.

First impressions of the Manjaro Mate desktop were really good. It feels more polished and well put together than Ubuntu Mate. The default dark theme works for me and I don’t feel the need to tweak it. No issues when connecting to my WiFi network.

The next I checked was the list of installed applications. I find this list is minimally curated. It has Firefox for internet browsing, Audacious for music and mpv for video file playback but that’s it. No photo editor like Gimp or even the Libre Office suite. Although it is not a deal breaker, I would have loved to have these installed by default. I guess these are left out to keep the install image size manageable. Media playback is flawless. Audacious does its job well when playing different audio formats. No complaints about mpv either. YouTube also works well. No lag or buffering was noticed. Bluetooth connection was not an issue but I did face some lag when listening to music via Bluetooth. Will have to check if this is a persistent issue.

Manjaro Mate doesn’t have a app launcher. So I went ahead and installed Synapse using the pacman cli. pacman is quick and simple for application installs, system updates and upgrades. I was able to upgrade the OS and find and install Gimp. All via simple cli commands using pacman. Though there is a UI to add/remove software, using pacman is simple enough and just works. I am more used to using apt-get but using pacman is just a small learning curve.

Here are some screenshots for the quick changes that I made to Manjaro post install.

I think I am getting the hang of things quickly here and find the Manjaro Mate usage even better than Ubuntu Mate. It is less resource hungry, feels more polished, has easy access to new software and in general just works. I don’t have to worry about the system being out of date or upgrades that fail. I will eventually have to curate my own list of software which are more suited to my daily needs, should I decide to stick with Manjaro Mate.

This has been a fun pit stop. Let me spend some more time with this before I move on to exploring Pop OS. The way I see it, Manjaro Mate is winning over Ubuntu Mate by a good deal and its showdown with Pop OS will be interesting to see.

Pi Land Adventure 1 – Ubuntu Mate

Ubuntu Mate is the first pitstop on this journey into Pi Land. Getting hold of the raspberry image from the website is straight forward. It is a 1.9 GB image which can be flashed onto the SD card using Etcher. Etcher has become my go to tool to flash any OS images onto pen drives or now even sd cards. The SD card in question is a SanDisk 64 GB class 10 card. I plan to keep flashing this for further test runs. Flashing the image and then verifying it does take some time but I let that be. A hasty move of skipping the verification messed up the sd card and it would not boot on my pi. Lession learnt.

Once the sd card is flashed correctly, just slide it into the Raspberry Pi and let it boot into the setup screen. It asked for user details, location, wifi etc as it continued the setup. My only complaint was that it took too long to configure the hardware. On one hand its familiarity is helpful, but then for an arm device, the configuration and setup should not really take that long. After it was done it landed on the familiar Mate desktop. I was already feeling at home.

At idle, Ubuntu Mate for RPi used about 1 GB of the 8 GB ram available, which later crept up to 1.8 GB as I started using more applications. The OS took 7GB space on the available 59GB sd card. This is leaves reasonable space for user files and additioanl software installation.

I started looking around and checking the preinstalled apps. Mate does not dissapoint in this aspect. It has sensible defaults with Firefox, Libre Office, Rhythmbox and video player. Having a full office suite is a great plus. I could not find GIMP installed and also would have liked VLC instead of the default audio/video players. But that is a personal choice.

For multimedia support, I could take Youtube for a spin and also play some sample mp3 and mp4 files. Everything was smooth. Playback over bluetooth also worked without any hiccups. Audio playback via HDMI output was a pleasant surprise., which means I could also play audio via my monitor speakers. No need to always have a bluetooth device connected to the Pi.

Appearance wise, I cannot complain about Ubuntu Mate. It’s dark themes with accent colors are comfortable to work with. I made a few changes to the themes, set a different background image and was happy with the defaults provided. I really need not go theme hunting to make this desktop look any better. I could work with what I saw.

Software installation is also very easy using Mate’s Software Boutique. All the familiar apps are available for download and install. I tried to install and use Gimp just to get a feel of it. I will have to work on a curated list of softwares once I settle down on the correct OS for my pi. For now just testing ease of finding and installing new software was good enough for me.

Now is the time for the verdict. The first pitstop has been welcoming and I find the Ubuntu Mate for Raspberry Pi perfectly usable. It certainly feels that the 8GB pi with 4 CPUs is more than capable of running the operating system and has the potential to become a daily driver. This ofcourse is subject to how much of daily computing tasks it can carry on its shoulders. For this test run, I haven’t been pushing it. But once I decide on which OS to use and which softwares the keep, I am sure the Pi will keep its promise.

I plan to move on to the others on the list. For now Ubuntu Mate is a strong contender unless Manjaro or Pop OS! toss it out the window.

Venturing into Pi land

For some time I wanted to get my hands on the Raspberry pi and tinker with this credit-card-sized, single-board computer for its capabilities and evaluate its potential for being a Linux daily driver. It would be fun to have such a small form factor, yet powerful enough to have up to 8GB ram and a dual HDMI display. I knew I would buy one soon and start playing with it.

The only issue I could not foresee was how hard these tiny computers were to come by. Various factors have led to a dearth of Raspberry Pis in the market. Several online retailers were listing these as “Sold Out”, with very little information on how soon they could be re-stocked. The seconds market was also rife with insanely jacked prices. I decided to wait until something was available again, rather than spending a fortune on a used pi.

After keeping track of purchase kits online, I finally found the one I wanted. I didn’t waste another minute and ordered it right away. Soon enough, I got my hands on the Raspberry Pi 4 with 8 GB ram, with a starter kit that had all the bells and whistles like the 128GB SD card, power adapter with on-off switch, HDMI cables, and an aluminum case which was passively cooled. Unboxing the package and assembling it all together was a breeze.

Just connect it to a display, keyboard, and mouse and you are good to go. The SD card that came with the kit was preinstalled with NOOBS and I followed the instructions to install 64-bit Raspberry Pi OS in a short time. I played around with the OS and quickly realized that though it is optimized for the Rpi, it is not the most visually appealing. In fact, the interface really feels outdated. I spent some time trying to look around and checking different software that the OS had to offer. There was no visible lag on the 8GB model and I was comfortable using it for a while.

It was soon obvious that the UI was not as polished as some other Rpi OSes out there and so I started looking at some of the popular ones which I could take for a spin. I have cornered down Ubuntu Mate, Manjaro, and POP OS as potential candidates for installation on my Raspberry Pi. I can see myself writing another blog that would be a showdown of these three operating systems and which one can I eventually settle for as a daily driver.

More on that later. Another blog will soon follow. For now, I find myself in Pi land and can certainly see myself hopping around for exciting stuff to do on my new Pi.

The Ultimate Ebook Reader

None of us are new to eBooks. When it comes to preferring digital over paper, there are so many formats to dabble with, each one having its own purpose and working best on its dedicated device e.g. azw3 or mobi work only with kindle devices, epub work with several android apps, cbz format is for comic readers and pdf format for most of the documents and e-signing needs. So it makes sense not to be tied to a particular device type though they have their pros. E.g. reading novels on an e-ink device is much easier on the eye than your tablet screen.

I own a Kindle Paperwhite and have definitely enjoyed reading novels on it, but it falls severely short when it comes to reading pdfs or even some comic books. Who would like to read a grayscale comic strip and not be able to marvel its colorful art. Likewise when reading technical books, I have a habit of marking, highlighting imp stuff so that it is easy to get back to notes that matter. How do I do anything remotely similar on a Kindle!

So I set out to find an answer in a tablet which will bring the best of all worlds and yet serve as a distraction free device to continue with e-reading. And I found one in the latest Amazon Fire Tablet HD 10 Plus. I got it at an unbelievably discounted price and could not resist the purchase. It comes with Fire OS which is a locked down version of Android and has several of the Amazon apps pre-installed. It is obvious that this device is for someone who is deeply invested in the Amazon ecosystem. It comes with the Kindle app which would be good for mobi as well as pdf files, but I had to find ways to make it more useful for my e-reading needs.

A quick Youtube search helped me get information on how to install Google services on the fire tablet and get rid of unnecessary Amazon apps which I wouldn’t be using anyway. The instructions were simple enough and when followed to the cue, I had with me a tablet free of most pre-installed stuff and with Google Play installed. That was the clean slate I was looking for.

Next steps were to install stuff that I think would make this tablet an ultimate eBook reader. I went ahead and downloaded the following apps:

  1. PocketBook – This all-in-one reader is my go-to app now. It supports pdf, mobi, epub, cbz, docx. This is where I can read my technical documents as well as ebooks and comics.
  2. Sketch on PDF – This is for pdf annotations and marking important things on the document. It has a variety of tools to highlight, underline or doodle over the pdf content. Basic stylus works great with the Fire tablet and makes pdf annotation very convenient. Changes can be exported to new pdf file or you can choose to overwrite original file. Either way works for me.
  3. CX File Explorer – An upgrade over the default file manager, this has additional functionality for ftp file transfers and Dropbox integration.
  4. Simplenote – For quick notes using markdown. I can also publish the notes and makes them accessible via public urls. I also use Keep to have sync of notes between my phone and the fire tablet.
  5. Brave browser – Another upgrade over the default Silk browser. Brave does a good job of blocking ads and give a very good online browsing experience.
  6. Pocket – For stuff that I read online, I can add that to Pocket for reading later. Pocket is a good place to organize my bookmarked content. An excellent feature that I like is Pocket can read out webpages. So it makes it convenient to listen to something while casually browsing it as well. Good for technical blogs.
  7. Musicolet – And finally something to play music in the background while I read all the stuff. I have some tracks for ambient sound, music for focus and study etc which I can play in loop and get into my zone for reading.

With these apps in my arsenal, I am all set to ride off into the world of e-reading. Since Fire OS is essentially a toned down android tablet with no Google apps, I am blissfully happy to use it without Gmail or even Youtube which makes it easy to stay focused and not get distracted by pop-ups and notifications or even the temptation to go on watching videos mindlessly. I don’t use it for games and haven’t installed any of the video streaming apps, since that is not what I intend to use this device for. I simply go offline, put on some soothing music and continue with my reading on what I consider an ultimate ebook reader after making all the tweaks and installs for my specific needs.

Ultimate Cord Cutting Revelation With Castnow

I have long relied on the HDMI cable to play any video content off my Linux laptop onto an external monitor. But recent purchase of a device with in-built Chromecast has given me a completely different outlook towards consuming local media. Ability to “cast” content onto the Chromecast device was known to me but it is only now that I have discovered a way to play local media files to the device. You can stream videos to the Chromecast on Linux via command line. This will help me let go of the HDMI cable for good. Read on to find out more about my ultimate code cutting revelation.

The software in question is castnow which works with NodeJS and npm. Once NodeJS and npm are installed on the distro, installing castnow is just a simple command.

$ sudo npm install castnow -g

Once installed, you can start casting local as well as remote content onto the chromecast device. If you have just one chromecast device, it is automatically detected and used by castnow. For multiple devices the device name can be provided using flag –device [name of device].

Remote Streaming

$ castnow https://onlinecontent.com/video.mp4

Video format mp4 works best with castnow, but I have seen it work well with mkv and mov formats also. This has been tested with file samples available at https://filesamples.com/categories/video

Local Streaming

$ castnow /path/to/video.mp4

Local streaming also worked well for mkv and mov formats. castnow does have a flag to convert the video to mp4 as it plays. This is a also a handy thing.

$ castnow /path/to/video.avi 
Error: Load failed
$ castnow /path/to/video.avi --tomp4
State : Playing...

Streaming Music

This again is as simple as issuing the same command but for an mp3 file instead.

$> castnow https://hostedsongs.com/onlinesong.mp3
$> castnow /path/to/localsong.mp3

The help for castnow provides some more useful details and flags. Listing a few important ones here.

--address <ip>           The IP address or hostname of your Chromecast device
--subtitles <path/url>   Path or URL to an SRT or VTT file
--type <type>            Explicitly set the mime-type (e.g. "video/mp4")
--loop                   Loop over playlist, or file, forever
--shuffle                Play in random order
--recursive              List all files in directories recursively

That’s all there is to have a quick and easy “cast” option to be able to cast local as well as remote media to a chromecast device. Castnow is a nifty and an ultimate cord cutting tool. I am definitely digging it.

Simple way to host files

Many a times I have felt the need to quickly transfer files from my Linux laptop to a windows machine or an android phone. I did have android apps like Portal or Sweech to handle wireless file transfers to my phone, but file movement between windows machine was largely at the mercy of USB transfers. I wanted some quick solution for this and surprisingly the solution was already with me all along.

Most Linux installation come with Python3 installed. A quick check will tell you whether you have it on your machine.

$ which python3
/usr/bin/python3

Simple HTTP server is a built-in python module that can be used to launch a lightweight server suitable for running basic web applications and lightweight file server. Simple HTTP server serves all the files located in the folder it is run from.

$ cd ~/Downloads
$ python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

This runs an HTTP server on the default port 8000. To run on a different port provide a new port number as an argument.

$ python3 -m http.server 8080
Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...

The files can then be accessed via any browser by accessing the location. For other devices in the network, the ip address of the machine can be used to access the files. eg http://192.168.0.10:8080/

Accessing hosted files via browser

I ran these commands on a sample directory on my laptop and was able to access the files via browser. This is a quick and painless solution to sharing files on a home network. Of course it lacks any security features so it is best not to use it for any critical application, but definitely works as a simple hack to be able share files. Imagine this running on a Raspberry Pi and voila you have a simple file server for your home network. The only limitation being you can access the files hosted but wont be able to upload any.

A simple hack for a simple use case. Works for me as I do not intend to implement solutions with any more complexity. I tested it and sure enough it does what it says.

EDIT: I wanted to see if I could add a html form which will allow me to upload file to the hosted server and write some code around this to get it working. Turns out this has already been implemented and I found a working code on github

https://gist.github.com/touilleMan/eb02ea40b93e52604938 has the complete working python script which adds a file upload html and also additional code to process the file upload as a post call. The script starts the simple http server on port 8000.

I wanted this to run on 9999 as I was doing before. And also thought of enhancing the functionality so that a firefox instance is also started which loads the list of files hosted on the http server. I ended up tweaking the above source code to following. It starts a firefox instance with the url of the http server that gets started.

def test(HandlerClass = SimpleHTTPRequestHandler,
         ServerClass = http.server.HTTPServer):
    hostname = socket.gethostname()
    local_ip = socket.gethostbyname(hostname)
    os.system("firefox http://"+local_ip+":9999 &")
    http.server.test(HandlerClass, ServerClass, port=9999, bind='0.0.0.0')

Tweaked the code to identify the IP address of the machine, start a firefox instance in background which opens the url.

Following images will demonstrate how this script works. It allows to choose a file for uploaded, shows success message after upload and on returning back to the file list, the recently uploaded file is visible.

I was able to test this via mobile browser as well. Works great for home network.

My Bullet Journal In The Cloud

I have been trying to practise bullet journalling since quite some time and as life makes its way into 2021, it has given me the much needed push to do something about it. I have been following many youtube videos about bullet journalling and how to get started with it. Too many videos focus on the creative side of bullet journalling with the different stationary items to use, the fancy calligraphy, the color coding, the doodles, the washi tapes and the stickers. All this makes it overwhelming and I get lost in the chaos with very little clarity on what exactly needs to be done to get a grip on things.

I headed to Bullet Journal page to learn more about this method. The idea is to to be able to note down and organize your things so that you have a clear picture about what you are going to do today, this week, this month, next month and so on. This gives a blank canvas to plan out things that you want to do, assign them reasonable timelines and keep track of your progress. This applies to your work, any side project that you are under taking, personal chores and goals that you want to achieve. Writing it down on paper makes the task tangible and motivates you to work towards it. You may move it to the next day, but you will eventually complete it since you always have it on your horizon.

I have seen folks make fancy task list, calendar entries, habit trackers and each video tries to one-up the last one in its creativity. Personally I feel the simplicity of the idea gets lost in all this “art”. Also I am not that artistic or patient to write down and decorate an entire calendar for the month or the year. I wanted something which will be “painless” yet fulfilling in its purpose. I tried several smart phone apps for bullet journalling but nothing was appealing enough for me.

For lack of options I started looking at acheiving bullet journalling using tools or apps I was already familiar with. Come to think of it, I was already using a todo list to get by my day to day tasks, I was also using a calendar app to mark some appointments and utility bill reminders. What I wasn’t looking at was a dedicated space for gathering my thoughts or keeping track of some new habits that I want to pick up or even maintaining a note of key events happening in my life. I looked up a list of things which people put in their bullet journals and things like keeping track of medical history, habits, inspirational thoughts, movies to watch or books to read etc caught my attention. I could definitely benefit from a look at my day to day life from these aspects. It could make me get a better grip on my life.

I was already managing a list of my to do things in Google Tasks. The things I added had a completion date to remind me that the task’s deadline is approaching. I could quickly add another list here for the books I want to read or movies that I want to watch. I installed a chrome extension called TasksBoard which gave me a dashboard view to manage all my lists in my browser. I could still use the mobile app to add tasks but this extension gives a broader perspective for the things that I plan to do. And I can live with a simple list of tasks and rather not get into the hassle of daily logs, weekly logs or future logs as the bullet journalling method suggests. Whatever I want to get done exists on my tasks list with appropriate end date assigned.

TaskBoard to see and manage all Google Tasks

Rest of the suggested bullet journalling entries are just notes. Medical notes, inspirational thoughts, bill reminder list etc. What better way to manage them than in Google Keep. I have been using this for years now to manage shopping lists, keep urls handy, note down some email or phone number etc. For Keep to work as a bullet journal I just needed a way to organize my notes.

I decided to make separate Keep notes for all that I am trying to track. One Keep note each for utility bill list, Medical notes, Inspirational quotes, Gratitude notes. I could use one for Monthly/Daily Log if I feel the need. For Daily logs I plan to use simple text based symbols to keep track of tasks. Something like

[ ] Task (not yet started)
[/] Task in progress
[X] Task Complete
[>] Task Carried Forward
[-] Task Cancelled

* Important Task
- Task notes

All these notes that I made were labelled “Bujo 2021”. So as soon as I select this label in Google Keep, I am presented with my curated bullet journal notes which have everything that I plan to keep track of.

What was still missing was a way to make some important calendar entries and have a habit tracker of some sort. This is where the lazy person within me just refuses to spend time writing dates and days of the week on paper and then mark them for tracking birthdays and appointments. But the solution was with me all along. I decided to use Google Drive and Google Sheets to my advantage. I simply created a new folder “Bujo” on my Google Drive. Created “2021” within that for this years calendar entries. Inside this I created a new Google Spreadsheet from a 2021 Calendar template. This is the bullet journal calendar for me. No I did not painstakingly create it, but it affords me the same functionality and I can start keeping track of important dates, appointments etc. Similarly I created one more Google Spreadsheet from a habit tracker template I found online. I tweaked it to my liking, simplified a few things and now I can track my habits too. All I needed now was to have links to these spreadsheets from my Google Keep Note.

Bullet Journal Calendar created from Google Spreadsheets template
Habit Tracker created from Google Spreadsheets Template

So now to get to my “2021 Bullet journal”, all I need to do is open my Google Keep and select the “Bujo 2021” label and I am ready to start bullet journalling. I can even bookmark it for quick access. If I pay a bill, I can mark it as complete on the “Monthly Bills” note. At the end of the month, I can simply uncheck all boxes and keep it ready for reuse for next month. If I read something interesting I can note it down in the “Inspirations from Reading” note. Same for Gratitude Journalling and Medical notes. For any appointments or tracking my daily habits, I follow the links to the spreadsheets on my drive and update information there. For all the tasks I have to do, I follow the link to the TasksBoard where I manage them. This is where I keep track of Books and Movies as well.

My Bullet Journal on Google Keep with links to Calendar and Habit tracker

With this setup I hope to start bullet journalling in the cloud with tools that I am familiar with. I don’t have to carry a small notebook with me anywhere and neither am I tied to a laptop to keep my bullet journal updated. All the Google apps are available on my smartphone. Tasks, Keep, Drive and Sheets can help me carry on my work while I am on the go. When a new year arrives, I will make another folder on my drive with new spreadsheets created from templates and start labeling the new Keep notes as “Bujo 2022”. Then on it will be business as usual. Hope this gives me a new perspective towards things in life and the zeal to have a grip on them.

Befriending Mind Maps

I have been wanting to jump onto the mind mapping bandwagon since quite some time. I have known about it but never really got started with it. I am used to taking notes, but the habit of jotting down everything resulted in copious notes which was an absolute information overload. This sometimes made it difficult to go back and cross refer topics. What I really needed was a way to gather enough bits and pieces of information which was easy to recollect and easy to correlate.

Mind maps offer a method for learning, organizing, relating and reviewing information. It is a tool for the brain that captures the thinking that goes on inside. Unlike notes which are linear in structure, the brain may keep switching between thoughts and each idea grows organically as one spends more and more time on it. Not all information is gathered right away, but one can always go back and expand on the map by adding newer pieces of information. This organic growth of thoughts can be captured visually, allowing a person to connect related topics and be creative in the way the information is organized for easy recollection.

A mind map involves writing down a central theme and thinking of new and related ideas which radiate out from the center. The central idea could be as simple as a shopping list or as complex as “purpose of life”. By focusing on key ideas written down in your own words and looking for connections between them, you can map knowledge in a way that will help you to better understand and retain information. A visual representation of the brain’s activity allows for better brain storming, analysis of gathered information and generation of new ideas. Effectively the map is summarizing information and so it is ideal to use keywords rather than complete sentences to capture the essence of the thought. This gives more clarity and is easy to recollect. Use of colors and images to associate the concepts make the map more engaging and cant be forgotten easily.

So is it just a glorified way to take notes? Not at all. Mind maps are more than a note taking approach. It allows for thinking to be as free flowing as imaginable, brain storm enough on the topic at hand and any digression can still be catered to by mapping it appropriately. One can always come back to topics and expand further if that’s how the brain is diverging and new chain of thoughts ensue. Putting things in a visual manner helps with planning, problem solving, putting together information from multiple sources or even understanding complex ideas. It helps to get the bigger picture and broaden the understanding of the topic. It allows to focus on exploring one sub topic or idea and dig into sufficient details before moving onto next sub topic or idea. This approach reduces the mental clutter since you focus only on one thing at a time. This makes you less overwhelmed with the amount of information and helps you cope.

To gauge the benefits of mind mapping, one has to get started and inculcate this as a habit. As most things, this too needs practice. Start with basic tools i.e. a pen and paper and draw out the thoughts, add clumsy doodles, be creative, gather all there is to the topic. Few scribbles and corrections are still okay. A better understanding develops over time and creating, storing and recollecting information becomes more effective. Using mind mapping software is the next logical step. This has distinct advantages when making changes to the maps for reorganizing information, changing related topics, adding hyper links for internet reference etc. Regardless of the medium, what a mind map achieves is a holistic view of the topic at hand, by accumulating enough information in sufficient depth and charting out its inter connections. The visualization of the entire topic accommodates all possible chains of thoughts, shows how they can be inter-related and grants it clarity for the reader, who is easily able to recall all the information that was organized, reviewed, learned and stored.

The power of mind maps lies in their simplicity. They can be creative and fun and offer loads of benefits to get a better understanding of any topic, no matter how complex.

EDIT: Attempted to make a mind map for the contents of this blog post.