DEV Community

Shreyas Ragavan
Shreyas Ragavan

Posted on • Originally published at on

Incremental improvements can lead to significant gains

While reading the book Atomic Habits by James Clear, I was reflecting that my choice of embracing Emacs and progressively gaining mastery over it was intimately connected with the philosophy preached in the book.

My efforts initially started out with a craving for a system to quantify and manage my tasks, habits, notes, blog writing, job applications and projects in a custom environment, and to be able to build toolkits of code to perform repetitive tasks. As mentioned in an earlier blog post, I tried several approaches before settling on Emacs. The idea was to find or create a single system to track everything of importance in my life (with ease and efficiency). This was instead of a fragmented approach of using multiple tools and techniques, for example, Sublime Text / Atom as a text editor and Todoist as a task management tool.

I started with a vanilla configuration of Emacs and painstakingly borrowed (and eventually) modified lisp snippets to implement desired ‘features’ or behaviors. It was a just a couple of features every week, initially focused on Org mode’s behavior alone. That was nearly 3 years ago. As of now, I am able to manage my blog [hugo], view my email [mu4e], browse the web [w3m], seamlessly capture notes / ideas / tasks from (almost) anywhere [Org mode], chat on IRC, build multi-language code notebooks with ease [Org babel]. All the above provide me significant advantages in speed and efficiency which still have plenty of potential to improve.

Sure, I certainly appear closer to my goal today.. however, I did not know if it was a pipe dream when I started out. It was often extremely frustrating, right from memorizing the ‘crazy’ keybindings in Emacs, to struggling with getting a lisp snippet to work as expected.

Choosing Emacs had unexpected rewards as well. For example, the need of synchronizing my notes and Emacs configuration with multiple machines led me to Git. Magit’s easily accessible commands and relatively visual interface has been a massive help in getting things done with Git, despite not having any deep technical knowledge of how Git works.

My journey with Emacs is testament that an incremental, compounding improvement over time can ultimately result in significant gains. It is also important to acknowledge that I am standing on the shoulder of giants and the awesome Scimax is a cornerstone in my toolkit.

Top comments (2)

dianacoman profile image
Diana Coman

Tools that can be made and shaped to fit your needs precisely are the best sort of tools. That being said though, there is at times the danger of the tool that supports you while also making you effectively dependent on it - and in my books that's precisely what Emacs is and the reason why I dropped it at some point: while it can give you a significant boost, it does so by locking you into it and that's something I won't stand. Then again, that's just me.

At any rate, talking of incremental improvement and tools that support you rather than hold you back, TMSR has already quite the history in building precisely those. There certainly are some Emacs users around too for that matter but some paradigm shifts such as the V versioning system strike even deeper really.

shrysr profile image
Shreyas Ragavan

Thanks for the insight. I have to agree that I am very dependent on Emacs and this makes things difficult sometimes. It also makes it harder to 'sync' with others who are typically not using Emacs. However, I've usually been able to find acceptable workarounds within Emacs.

While I'd be open to explore shifting to a tool that gives me all I want and yet does not foster any crippling dependence whatsoever - I've not found such a tool.

I was also thinking that the more you are able to customize every single thing in the tool, and if you do almost everything with that tool - then dependence is inevitable. I guess it's not a critical problem, as long as the job gets done, and it helps that I enjoy tinkering :D

I'm not aware of TMSR, and could not find anything useful on the web. Could you please share a link / reference ?