Interact with this post using Mastodon or
Keep your liveS on track
Published on
Notes taking has became extremely trendy over the last few years and there’s a whole business with pseudo philosophy and theories to support it. That being said, managing both personal and professional lives is a daunting task that goes way beyond notes. With the proliferation of tools and apps designed to help us stay organized, the challenge lies not in the lack of options but in finding the right one that seamlessly integrates both aspects of our lives. I’m sharing here the tools I’ve chosen for my own needs, why I chose them, and how I use them. This will include managing entire projects, to-do lists, agendas, and schedules.
You thought you had one life… you actually have more. Let’s see how you could get the best of them.
╭── The dual nature of our lives
Our lives are a blend of personal and professional responsibilities. Personal tasks, such as doctor appointments, grocery shopping, and family events, require a different approach than professional tasks, like project deadlines, meetings, and client communications. The ideal tool for managing our lives should accommodate both types of tasks, offering flexibility and ease of use.
Despite the plethora of tools available, finding the perfect one is challenging. Many tools excel in one area but fall short in another. For instance, some are great for managing professional tasks but lack the functionality to handle personal tasks effectively. Others are user-friendly for personal tasks but lack the robust features needed for professional management.
╭── The quest for the perfect tool
As you get by now, there’s no single perfect tool and you have to build your own combination. This is my list of requirements:
- Integrate personal and professional tasks: should allow for both personal and professional tasks management in one place, without the need to switch between different apps
- Offer flexibility: tools should be adaptable, allowing for adjusting schedules and priorities on the fly
- Provide reminders
- Collaborate with others: ensure I can access share my data with other independently on their OS
What drove my choice in the first place was the ability to manage all these tools and have them interacting using a single text editor. Once I get familiar with them, I’ve also decide to write few simple homemade scripts to streamline their use.
╭── My approach
Notes
When people think about task management the first thing that comes to mind is note taking. With the current hype for Zettelkasten method, the options available are countless. I decided to based my entire life organization system around (neo)vim so I went with the obsidian.nvim plugin from epwalsh. Despite its name it’s absolutely not related nor using Obsidian.
I should write a post this plugin but to keep it short the main reasons to use it are:
- autocompletion for note references and tags
- jumping from note to note through links
- markdown syntax highlighting, concealing, and extmarks for references, tags, and check-boxes
Since notes can be handled the same way for personal and professional tasks, this was the easiest part of my organization system.
Project management, schedules, and to-do lists
For professional project management that requires a complex structure I use taskjuggler which I have already detailed here . I can manage my projects, schedules, resources, create gantt charts, and more. But who can do more, can do less and with the level of customization of taskjuggler there is almost nothing impossible with it. So, after 10 minutes of thinking, I came up with a way to manage my personal and professional to-do lists.
After creating my own data types and playing with taskjuggler functionalities, I ended up with a table with these headers: Priority, Start, To Do, In Progress, Done, Name
This table lists my tasks in a trello-fashion within a week before and after today’s date. It also highlights past tasks in green and today’s tasks in red.
To avoid having to open my to-do taskjuggler files when I need to add, remove, or edit a task I’ve decided to write a simple homemade script with the following options:
-d: set a task’s date or prepone/postpone a task by a given number of days
-D: delete a task
-N: create new task
-p: set priority (y/n)
-P: add to my personal to-do list (professional by default)
-r: rename task
-s: set status (current, done, to do)
-t: set task description
-T: set task name
This script is made for my needs so I’m not sure how much it’ll be useful to you but if people are interested I’ll share it.
On a side note, writing this script gave me the idea to write one to handle more complex project tasks as well in the future. I’ve already added this to my to-do list using the former script :P
Agendas
Managing your agenda is maybe the most common request for this topic. After trying few options, I went with khal
and never left it. I like the fact that it’s entirely usable in my terminal, I can use it to share my invites with others,it can handle complex events with attendees for example, and it can be integrated with neomutt
(my email client).
The only things I was missing to integrate it better in my workflow was streamlined commandlines and reminders.
So, with another personal script, I can now:
-
list upcoming events (ka is used to call the script):
ka X
: list events within the next X days
ka MMDDYY
: list events on a given date
ka W
: list events on a given weekday given in full/abbreviated weekday name or string (e.g. tomorrow) -
preview, edit, or delete an event:
Typingka text
will search for text in the events’ title using rga and use fzf to show the results.
Highlighting an entry shows a preview of the event.
Typing Enter open the event in (neo)vim to be edited.
Using Ctrl-d delete the entry from the calendar.
- add an event (ka is used to call the script):
ka DATE START_TIME "title" "description"
(will create a 1-hour length event)
ka DATE START_TIME END_TIME "title" "description"
ka START_DATE START_TIME END_DATE END_TIME "title" "description"
This command automatically understand date in format MMDDYY, full/abbreviated weekday name or string (e.g. tomorrow)
Finally, another script allows khal to automatically notify me about upcoming events in the next hour.
╭── Conclusion
At the end, I can manage all my personal and professional project, tasks, notes, agendas, schedules using only a simplistic commandline. This covers 90% of my usecase. If I need to go further, I can edit anything with (neo)vim. Ultimately, if I need to go crazy about a specific item I can use the dedicated tool (neovim, taskjuggler, khal).
Balancing personal and professional lives is a complex task, but with the right tools, it becomes manageable. The perfect tool for managing our lives is one that understands the unique challenges of balancing personal and professional tasks and offers a solution that is flexible, integrated, and user-friendly. As we continue to evolve in the digital age, the search for the perfect tool is ongoing, but with the right approach, we can find a solution that truly meets our needs.
Thanks for your read. Hope it's been useful to you.
✄ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈
More food for thoughts? Check other posts about: #Cli