Donovan R.

Serenity is my compass

“I cannot understand every leaf of a tree. There is just too much. But if I understand the essence of the tree, I will intuitively know what will come out and when.”

By understanding the root, the understanding of the branches arises naturally. And understanding the rest follows.

What is the root but the planted seed? The one source of truth where everything else came from.

Studying all the patterns within all leaves of a tree is a tremendous task. But one might understand more about the tree just from its seed.

Everything is connected

Often, what appears to be unrelated is but the prolongation of the same thing.

Everything seems separated—not because they objectively are, but because we are unable to see the interconnection yet.

Every aha moment is the finding of that one dot connecting two seemingly isolated points.

I keep noticing this. A real-life situation that can be resolved using a paradigm from programming. A problem in one area that mirrors a pattern from somewhere else entirely. It happens so often that I have started to expect it.

Most innovation in the world is not novelty. It is borrowed concepts from other domains. A combination of what appeared to be unrelated.

I was watching a video recently—Michael Levin on Lex Fridman’s channel—talking about how different domains seem to point to the same direction about the manifestation of “emergence.” It struck me. Isn’t that what mystic figures were talking about thousands of years ago? Scriptures from different religions already pointing to the same thing?

Different waters, same fountain.

Finding the fountain is what understanding means to me.

What is timeless must be true

What is true in one place must be true in another. What is timeless must be true. And what is fundamentally true must remain true across different domains.

This is why I am drawn to philosophy, psychology, spirituality. This interest in the meta—in understanding itself.

And somehow it led me to Clojure, LISP, Emacs, Smalltalk. To the philosophy behind FOSS. Not just because of how they work, but because of what they represent—meta-programming, self-modification, the freedom to understand all the way down.

What is even greater is that these tools attract like-minded people.

When I read articles from the LISP or Emacs community, I see it. They are not just tinkering with tools. They are building deep understanding—a meta-understanding beyond their craft.

Consciously or not, we are pursuing the same Dao, if I might say it differently. Seeking essential patterns of life.


I wonder how many fountains there are. Or if it has always been just one.

Read more »

I had a little time to actually set up a mail server during the weekend. Something I wanted to do for long already but I keep postponing because I knew it will be a little challenging.

But now that it’s done, I can finally update my info page to add a mail contact@donovan-ratefison.mg. If you’ve got thoughts on anything here, I’d genuinely love to hear them—I’m always keen to hear what people think.

And since I had my own server, it was also a good time to dive down the rabbit hole of Emacs and include mail workflow.

I’ve explored a bit Gnus before when I was searching for RSS tools, but ended up using Elfeed because I felt a bit overwhelmed by its capabilities. It was too much for my little brain.

During his presentation on EmacsConf2025, Amin Bandali gave me the inspiration to give it a honest try. And I did!

And … it wasn’t that hard to get it working.

Everything about Gnus is … a bit weird but I won’t complain. I know I will get used to it over time. Plus, like Emacs itself, its weirdness makes its charm.

I can read, reply and send mails, follow RSS feeds and that’s enough for now. I intend to go full Gnus with my mail and RSS feeds from now on and we’ll see later how it goes.

Read more »

It’s been a while since my last post about AI and writing. Back then, I was worried about how AI would dissolve the real person behind the words. I wasn’t entirely wrong to worry about that. But I think it’s fair to explore different perspectives and update my understanding more often.

Things have changed fast. The AI tools are evolving at a pace that’s honestly a bit frightening. It’s Decembre 2025, and I believe it’s a good time to make retrospection, challenge my assumptions, and adjust my knowledge. After all, humans have always survived by adapting depending on the circumstances. And I’m but a human in this era of AI.
I’ve reconsidered my perspective and gave AI a honest try with new perspectives, new lense and here are my updated thoughts regarding writing.

There are things that don’t feel quite right to outsource:

  • Emotional depth doesn’t come from a language model—it comes from feeling, from struggling, from living through moments that shape us.
  • Relational understanding requires showing up for people, being vulnerable, learning through connection what no training data can teach.
  • Intellectual development demands grappling with hard problems ourselves. If we skip the struggle, we skip the understanding.
  • Intention—our sense of direction, what we actually want—that’s ours to cultivate.

These four things are where our humanity lives, at least as far as I can tell.

I keep thinking about walking as a metaphor. We walk not just to get somewhere, but because walking builds us.
It strengthens our body, clears our mind, teaches us about the world at a human scale. It is necessary for our wellbeing.

AI is like a car.
Once you’ve walked long enough to build real strength, taking a vehicle for long distances makes sense.
You still walk to the corner store. You still use your legs. You understand what they can do because you’ve used them. But for vast distances, taking a vehicle just make sense.

Some people have walked long enough to develop strong foundations. Years of intentional effort, struggle, showing up. They are way ahead of anybody who’ve just started the walk. They’ve built strength for years, and still continue to do so that any new challenger can’t ever hope to catch up.
AI won’t build that strength for us. That part is completely up to the individual. But it gives us an opportunity, a chance to close the gap in distance.

AI can be the amplifier:

  • After you’ve felt something deeply, AI can help you convey it.
  • After you’ve built relational wisdom through genuine connection, AI can help you articulate it.
  • After you’ve struggled with an idea and wrestled with it, AI can help you refine your thinking.
  • After you’ve decided where you want to go and why, AI can help you execute it.

But the struggle has to happen first.

AI often will mislead us into the convenience of skipping steps. It’s easy to be tempted. The tool is seductive precisely because it works, because it’s fast, because it removes friction. And it’s up to each of us to resist the temptations, to adjust our relationship with it, to notice when we’re letting convenience become the decision-maker.
AI has the power to carry us further, and at the same time, the power to dissolve us to nothingness and strip away our will. We have to retain the ability to decide where to go.
The way we are should remain. Our authenticity should not be dissolved.

We are the idea bringer and the decision maker. The AI should assist us in conveying the idea, not replace us in our decision-making. That boundary matters.
We need to engage AI after we are clear on what we want.

So maybe it’s worth giving AI a chance for the long distances, for the mechanical work, for amplification. But the work that shapes who we are—the emotional work, the relationships that require our presence, the ideas we need to struggle with to understand them—these feel worth protecting.

Fun fact: This article was originally written using AI assistant. It took me so much back and forth, so much editing to get it to reflect what I’m trying to convey and the way I want to convey the idea. It makes me wonder whether I could have saved a great deal of time by doing it myself.

Read more »

We are like dice thrown onto the ground. Each lands in a different place, showing a different face.
Humans are the same. We are cast into this world that seems alike for everyone, yet within our minds, it’s never the same.

The path we must walk as individuals is, and must always be, different from one another.
The destination may be shared, but the journey toward it can never be identical.
One must begin from where one stands, using what is near and familiar.

Do not be distracted by what others are doing, nor try to walk their path.
The book you choose to read should not come from recommendation, but from your own deep curiosity.

When you feel thirsty, do not rush to drink from another’s cup. They may have mixed in their own ingredients.
The only drink that can truly satisfy your thirst is the one that springs from within yourself.

We often think that precision defines progress.
Numbers, clocks, and calendars give us control — or at least the illusion of it.
But lately, I’ve started to see how our ancestors’ way of measuring time might have been far wiser than I first imagined.

In Malagasy culture, time dances with imagery rather than digits.
Each phrase paints a moment that you can see and feel.
For example:

  • mangiran-dratsy (4 AM): to depict the first light of dawn,
  • maizim-bava vilany (around 6:30 PM): when cooking, the pot’s mouth darkens as dusk falls,
  • maneno sahona (2 AM): the frogs’ call…

(More about it: https://www.youtube.com/watch?v=_1943D4py94)
It’s not just about when things happen but how they happen. Time becomes memory, not mathematics.

Compare these two sentences:

  • Vao mangiran-dratsy dia niala tao an-tranony izy (He left his home at the first sparkle of light when darkness begin to fade).
  • He left his home at 4 AM.

The second one is clear, exact, and practical. Yet the first one lingers.
It carries the air, the light, and the texture of early morning. It belongs to memory because it belongs to life.

Numbers are our own invention — useful, but detached from the natural rhythm around us.
They serve us in planning the future or describing the present. But for remembering, they fade quickly.
It’s almost as if the past doesn’t want numbers; it wants stories.

When I think of it this way, I realize how naturally our ancestors lived.
They didn’t ignore writing or counting because they lacked intelligence — they simply didn’t need them in the same way.
Their systems were complete: time was felt, cattle and chickens had names (such as Ilemasira, a named chicken), numbers were linked to trees (Isa ny Amontana, roa ny Aviavy).
Everything resembled life itself. It flowed within the limits of what could be remembered and shared.

It’s easy to mistake simplicity for ignorance. But now I see: their world worked beautifully. It was coherent, alive, and effortless.
Their time was not something to be managed but something to be lived.

Why carry books when the knowledge can live in your mind?

Read more »

My Emacs Journey

I try to keep my Emacs setup as minimal as possible so I don’t repeat the mistakes I made when I first started.
That means avoiding unnecessary packages and complex workflows that are easy to forget.
Still, from time to time, I enjoy experimenting with new features just for the adventure, even if I don’t necessarily want to integrate them into my workflow.
The discovery of lesser-known, weird-yet-amazing features in Emacs is always refreshing.
Most people have heard about M-x tetris, M-x zone or M-x butterfly. But there are other fascinating modes that don’t get as much attention.
Here are some of my favorites:

svg-clock

A month ago, I considered buying an analog clock.
I’ve realized that working with shapes like circle, half-circle or quarter-circle feels less mentally taxing to me than reading precise numbers on a digital clock.
Out of curiosity, I searched for an analog clock in Emacs and sure enough, I found one: a minimal and beautifully designed SVG clock.
It’s perfect for my use case: a vertically splitted window with my task tracker on the left and the SVG-clock on the right.
Here is how it looks:

My Emacs Journey

Sometimes I do think Emacs is like a modern “Magic Lamp”: just scratch the surface and it fulfills your wishes!

artist-mode

I stumbled upon artist-mode a few weeks ago while reading Emacs blogs and I was stunned by what it could do.
It never occured to me that Emacs can be used as a canvas for ASCII Art. And yet it does, surprisingly well.
I can draw diagrams, use any character to paint. I can even use a spray-can tool for graffiti!
Had I discovered it earlier,I would’ve used it for many of my diagrams that are actually in Excalidraw.
SVGs are nice, but plain text is far more Git-friendly.

follow-mode

I first learned about follow-mode years ago from a Reddit post, and it quickly became an incredibly handy tool when working with codes.
Normal split windows are useful, but sometimes it’s more convenient to have a book-like view when reading long files.
Follow-mode does exactly that: when you scroll in one split, the other updates accordingly.
It’s especially convenient for working with large code sections or documents that can’t fit on a single screen.

Read more »

There is this word, “Fanabeazana” in my mother tongue that people often translate as “education.”
It is often misused and confused with other words like schooling or teaching. But if we translate its original definition it carries a very deep and heavy meaning. It means: Raising the child to give him/her good character so that he/she will grow up to be a better person.

The concept of education is also misinterpreted nowadays. Many people confuse education with schooling. They think education is just about attending lessons, gaining skills, or passing exams. Sometimes it’s reduced to simply following training programs. Teaching is often seen as “I talk, you listen.” But education is not just that.

Real education is about sharing life experience and insight. It is supposed to help a person grow in a way that makes taking responsibility feel natural. This should be the job of parents first and foremost, but often this important task is overlooked.

Today, we see many adults with little mental or personal growth. Social media shows how common it is to be “uneducated” in a deeper sense. Sadly, being uneducated now seems almost normal. Many people choose money over growth and maturity. Sometimes, people are even paid to behave immaturely which is very sad.

People still go to church, which shows they believe in something greater than what can be seen or touched. Yet, despite that belief, the world is filled with too many grown-ups who lacks true maturity.

It is frightening to think of a future where children grow up without learning responsibility. But today, that seems to be happening. Society is producing people who are often naive and immature. Many believe the comforts and systems around them just appeared out of nowhere, without effort.

People often forget that responsibility is not just a burden or obligation but is deeply connected to a person’s overall wellbeing. When individuals embrace responsibility, it brings a sense of purpose, self-respect, and empowerment —a cure to depression, a problem that, unfortunately, is becoming more and more common nowadays.
Rather than being merely a duty, responsibility is a vital part of living a meaningful and fulfilling life.

Read more »

Today, let’s talk a bit about text selection.

One of the greatest decisions I’ve ever made in my digital life a few years ago was to invest more time in Vim.
Editing, especially when working with code, just becomes so much smoother—almost addictive. The VIM-COMBO really does feel like some divine superpower bestowed upon the worthy!
And now, with Emacs and its arsenal of tools, my digital life has never been better.

Once you get a real taste of what it’s like to use powerful text editors, going back is just torture.
To give you an idea, every time I see someone struggling with the aim-and-shoot method to select text, I just want to hang myself.
It’s even worse when the person is a developer editing code. I just can’t stand it—my anxiety goes through the roof.

For anyone who’s curious, here is my own ranking of text selection methods along with some descriptions:

Level 1: Aim and shoot (for mortals)

This is where everyone starts: you point your mouse, click down, and drag to highlight your text.
If you want to get fancier, you can hold Shift and click at the end of your target area.
The drawback is, of course, you have to be better at aiming and not have shaky hands.
If you miss your aim, you have to restart the entire process.

Level 2: Ctrl Shift Arrow (superman)

This technique is used by seasoned computer users.
Park the cursor, hold down Shift and use the arrow keys to expand or reduce the selection.
Use Ctrl to select word by word instead of character by character to speed things up.
This method is good for working on short paragraphs, but it’s still painful when dealing with selections larger than your screen.
Combining this with the previous method (Shift+click) offers a better experience.

Level 3: Vim-way (God Level)

Hit v in Normal Mode to enter the Visual Mode, which starts the selection from where the cursor is.
From Visual Mode, a sea of possibilities for selection opens up before your eyes.

  • Movement: Pair Visual Mode with arrow keys or with powerful motion commands ($, 0, ^, …)
    Examples: v$ for selecting ‘til the end of the line, or v^ for the beginning.
    You can also combine this with search (/, * command) for even greater efficiency.
  • Context: describe to Vim what you want.
    Example: vi(, you are telling Vim to “select (v) inside (i) the brackets (()“. Or vi" to select inside double quote, and so on.
    The precision is just unreal! Imagine selecting everything inside curly braces across thousands of lines of code using just vi{—with 100% accuracy.

If you are interested, resources for learning Vim are available everywhere on the internet. You can pick any format you want—whether it’s articles, videos, ebooks, or even mobile applications!

Level 4: Emacs-way (Evil)

You can do everything you would normally do in Vim: set a mark and then expand your selection using search, movement,or context.
There are also some methods unique to Emacs that are sometimes even faster and more convenient than those in Vim.
For example, M-h quickly select up to the top level, like the paragraph you are in; and M-@ to select the next word.
Both can be repeatedly executed to expand your selection further.
And there is so much more Emacs can offer.

Why did I rank the Emacs-way above Vim?
That’s because the Evil-mode brings everything Vim can do—right inside of Emacs.
You have the combined arsenal of Vim and the endless toolbox of Emacs at your fingertips!

If you are interested, why don’t you grab Emacs now! 😁
https://www.gnu.org/software/emacs/

Read more »

Life is like a game—a serious one, but a game nonetheless.
If you ever played any game, you know there are exceptional players out there who’ve somehow figured things out. They move differently and play like magicians.
These are the elite players, the GOATs.
In real life, we have an equivalent: the gurus.
They come in many forms, from the spiritual to the material, and everything in the between: life coaches, self-help authorities, mentors and thought leaders…
They are often venerated like saints. Their words carry immense weight, shaping thoughts and choices. They have deep influence in people’s lives.

One might assume that gurus always have good intentions. But that’s a baseless expectation.
Just like in games, they’re under no obligation to share the knowledge or wisdom they’ve gained -if they possess any at all.
They are free agents, just like you and me. Some might even troll the game itself, playing unpredictably, less seriously, purely for their own amusement, leaving others confused in the process.
They owe no one guidance through the maze of life. And even if they do help, the walk is still ours to make. They cannot do the work for us.

Alongside the gurus, there are also the fake ones: scammers and shapeshifters. Tricksters who study the game just well enough to exploit it.
They’ve discovered a wicked way to grow richer, coming down from a higher level in the game just to farm the unaware and unlucky ones.
They may not know everything… but know enough to manipulate. Enough to extract wealth and worship from the naive and desperates. And tragically, that includes the majority.
They would use any means to gain influence: charisma, power, emotional hooks, even blackmail in some cases.
They are often gifted speakers and masters at hiding the truth in plain sight.
They use the same strategy as rodent traps: 99% food with less than 1% toxin.
The food is what people crave: promise, hope, clarity, motivation,…
The poison is the subtle manipulation, psychological trap designed to keep the victim dependent and easy to control.

Life is both amusing and challenging!
On one hand, we have gurus who might deceive, intentionally or not. On the other, we face deliberate predators who play a malicious game for personal profit.
They seem to have their own agenda, entirely disconnected from ours.
In the end, we are on our own, left to navigate this world with instinct, experience and the hard-earned fragments of knowledge we collect along the way.
Baits are everywhere, and if we don’t develop our own immune system—the power of discernment—then we walk straight into the traps.
Naivety and ignorance invite predators. They make us the most vulnerable.
As a rule of thumb: good and free food is too good to be true. If you didn’t pay a dime to earn it,… it’s probably a trap.

Seek knowledge. Seek wisdom.
More than anything, seek Understanding!

Read more »

My Emacs Journey

What if you want an agenda to keep track of TODOs and scheduled tasks, but you only have Emacs at your disposal?
You might find yourself in a situation where you don’t have access to the internet, Outlook, a smartphone or a physical planner.
Or, like me, you might simply prefer to keep your agenda in a straightforward plain text file.
It’s not a common problem, but I found it intriguing enough to write this little Emacs survival guide for anyone interested.

If you know nothing about Emacs, don’t worry. This guide is completely beginner-friendly.
I wrote the initial notes while I was still learning how to use the agenda in Emacs myself, so you’ll be just fine, even if it’s your first time running Emacs.

Before anything else, how to Execute command in Emacs

To run a command in Emacs, press M-x or Alt+x.
This open the prompt in the mini-buffer (at the bottom of Emacs) where you can type and execute commands.

Open the agenda view

To access the agenda menu, run M-x org-agenda RET (Alt+x, org-agenda, <Enter>).
Next, press a to open to the agenda view.
You’ll see an empty agenda first, and that’s no surprise since we haven’t added any tasks yet.

Schedule a task with org-capture

Creating a capture

To create a new task, invoke org-capture with M-x org-capture RET.
A menu will appear for you to select a capture template.
Press t to create new task.
A buffer will open where you can enter your TODO item

Scheduling a date

To add a scheduled date to your task:

  • Run M-x org-schedule RET to bring up the calendar.
  • A calendar view will appear below. You can pick a date using Shift + <Arrow Keys>, or simply input the date and time you want.
    Example: 1 nov 9am, saturday 8pm, +2sun 6pm (meaning 2 Sundays from now at 6pm).
  • Once you’ve chosen the date, press <enter>.

Tip :

  • The shortcut C-c C-s also run org-schedule.

Your TODO item will now have a SCHEDULED: line with the date you chose.

You can repeat this process anytime to reschedule your task.

Saving the task

There are two main ways to save your task:

  • Use save-buffer with C-x C-s or M-x save-buffer RET to save and keep the buffer open for further editing.
  • Use save-buffer-kill-terminal with C-c C-c or M-x save-buffer-kill-terminal RET to save and close the capture buffer.

By default, tasks are saved into a file named .notes in your home directory.
To check this, run M-x describe-variable RET org-default-notes-file RET.

Viewing the scheduled task in the agenda

If you return to the agenda view (M-x org-agenda RET a) now, it will still be empty.
That’s because Org-agenda needs to know which files to scan for tasks.
To fix this:

  • Open your task file with M-x find-file RET or C-x C-f, then entering ~/.notes.
  • Add it to the agenda files by running M-x org-agenda-file-to-front RET or C-c [.

Now, when you reopen the agenda view (C-c a a), your scheduled task should appear!

How to use the agenda

  • To refresh the view, press g.
  • To see more days, add a prefix argument like C-u 14 before running M-x org-agenda RET a. This shows 14 days in the agenda.
  • To jump to the task in its file, navigate to it in the agenda and then press <Enter>.

Re-schedule a date

You can reschedule tasks right from the agenda using Shift + <Arrow Keys> or M-x org-schedule RET to pick a new date.
Refresh the view with g to see your changes.

Change state (TODO, DONE)

When you complete a task, change its state by using M-x org-agenda-todo RET or C-c C-t.
This cycle the task between TODO and DONE.

And that’s it folks!

What else can be said?

I’ve covered just a bit of Org-agenda in here, but the Org-mode ecosystem is truly a beast when it comes to personal organization and note taking.
There is so much you can do with it. It’s a real rabbit hole!
Org-mode can be your agenda, notebook, time tracker, habit tracker, and more. You can even use it as a full-fledged spreadsheet, much like Excel.

With so many features, it’s really easy to get overwhelmed.
Personally, I like to explore how other people use Org-mode and then pick only the ideas that fit my own workflow. I leave the rest for later discoveries.
It’s a sane way to learn step by step without getting lost in the endless possibilities of Org-mode and Emacs.

What I’ve shown above is a very simple workflow. It is very easy to adopt, and it’s more than enough for effective day-to-day usage.
I hope this proves useful to someone out there. And if not, it might come in handy for me later.

Read more »
0%