ADHD and hacking an ever growing todo list

Are you familiar with FOMO? Surely.

After using TickTick for long enough and judging my stats, I've noticed I was efficient at solving tasks I focused on, even if I was not always focusing on the most important ones. Yet I have this feeling of being overwhelmed by my self imposed todo list. Whatever I do and it doesn't matter how long I work on my todos, the list keeps growing and distracts me from living my life far from screens. There must be rationale explanations and a solutions, right?

I've revisited my backlog hundred times without allowing me to delete those items nor finding the motivation to tackle enough of them. Occasionally I would do some triage, e.g I bump the priority on some favorite tasks by adding custom tags like "x2", x3" etc. It allow me to find such favorite items later and sort them by priority/urgency.

Yet I still had around 400+ tasks, far from my Inbox Zero principle. How to solve that? I did managed to be efficient at email triage, and at automation, coding, problem solving, I could likely win in any board game, I'm a debrouillard, I know. So how do I solve my tiny issue with my todos without depraving myself of sleep, and without recycling my todo items into the thrash?

The key is most of those todos are not urgent and will be solved in the long term, without specific date. They ressemble more the concept of an idea or an inspiration, or motivation, rather than a problem to be solved.

And that's for now my trick to tackle those needed-for-later items in TickTick -> Tag them as "💡ideas" and convert into Note.


Slice the backlog

Je souffre de TDAH et c'est bien galère de prioriser des tâches plutôt que d'autres, tant la passion de tout faire est présente. Parfois pourtant on se retrouve submergé.

Après avoir lu les 4 premiers tomes de la BD Samurai, le cycle de l'empereur et du treisième phophète donc, je me suis remis à gribouiller, un Samurai bien entendu, devant mon fils admiratif (il a quatre ans, évidemment que tout ce que je dessine lui paraît bien ;-p). Bref j'ai eu envie de m'appliquer à la même discipline, à défaut de lames j'opte pour le dégraissage de ma liste de tâches sur TickTick.

Et ça tombe bien, je suis en train de lire La semaine de 4 heures de Tim Ferris, il y a un passage qui m'a fortement marqué, pour aider à faire le tri entre les envies et les choses qu'on doit absolument faire. Je n'ai pu m'empêcher de penser à Steve Jobs qui avait pour réputation d'associer le moins à la perfection et le surplus à une absence de vision.

Bref, j'ai une liste TickTick de plus de 500 tâches, dont certaines reviennent chaque semaine, et chaque jour mon lecteur de flux RSS récupère de nouvelles entrées passionnantes. J'ai également une famille avec laquelle j'essaie de passer du temps de qualité, plein de projets, de livres, séries TV, films dans mes envies. On n'a pas forcément de contrôle sur le temps qui passe, et l'argent va et vient, mais ne résoud pas tout. Par contre je peux choisir où mettre mon énergie.

En conscience de tous les travaux de rénovation qui m'attendent, de la famille qui va s'agrandir d'ici septembre, de mon travail accaparrant en tant qu'indépendant, il me faut vraiment tailler dans le lard.

J'ai donc ajouté une tâche récurrente dans TickTick pour éliminer une dizaine de tâches au quotidien, toute chose qui me prendra du temps et qui n'est qu'une idée/envie, finira sans doute à la poubelle ou devra aller ailleurs que dans TickTick.


redacted.sh: share your logs, not your secrets

Quick post. Sometimes it is necessary to share logs on public issue trackers, forums... and wanting to protect secrets, tokens, IPs is normal.

I've cooked my own minimal bash script for this quest, which I've just added to my public shared snippets : https://gitea.zoemp.be/sansguidon/snippets/raw/branch/main/redacted.sh

#!/usr/bin/env bash

default_rules=(
  's/[0-9]\{1,3\}\(\.[0-9]\{1,3\}\)\{3\}/<REDACTED_IP>/g'
  's/\b[a-zA-Z0-9._-]\+\.[a-zA-Z]\{2,\}\b/<REDACTED_DOMAIN>/g'
  's/\b[A-Za-z0-9+\/=]\{20,\}\b/<REDACTED_TOKEN>/g'
  's/\(password=\)\S\+/\1<REDACTED_PASS>/g'
)

rules=()
while [[ $1 =~ ^s/ ]]; do
  rules+=("$1")
  shift
done
[[ ${#rules[@]} -eq 0 ]] && rules=("${default_rules[@]}")

sed_expr=()
for r in "${rules[@]}"; do
  sed_expr+=( -e "$r" )
done

# If files are passed, process them to stdout.
# If none, read from stdin to stdout.
if [[ $# -gt 0 ]]; then
  sed "${sed_expr[@]}" "$@"
else
  sed "${sed_expr[@]}"
fi

Feel free to reuse, copy, extend, contact me to give feedback! 💚

💌 The best way to get in touch is via my email morgan at zoemp dot be. You can also follow me on the Fediverse / Mastodon at @sansguidon@mamot.fr. I speak (a lot) French, English and a bit of Dutch.


Productivity monk

I have taken a few habits recently:

  • Inbox zero by bedtime. Unhandled mails go to TickTick.
  • Tasks default to next week. If they matter, they’ll wait.
  • One work task per day. If it drags, I commit or kill it.
  • Articles get bookmarked. Read later—or never. Doesn’t matter.
  • Tasks get automated. Or ignored.
  • Midnight is my hard stop. Usually...
  • Everything goes in TickTick.
  • No date = no task. No surprises.
  • Task and blog ideas are dumped into TickTick as notes, voice or text.
  • LLMs get a few hours. That’s it. And only for automation.
  • LinkedIn runs on auto-reply.
  • Same rules at home and work. One brain. Scripts everywhere.
  • I keep folders of tabs—Wednesday, Friday, Daily. I open them when it’s time. Not before.
  • I use browser userscripts to bend websites to my will. UX included.
  • Family runs on self-service. Automation takes care of the rest.
  • And a few things don’t change—only improve: Backups and monitoring for everything. Unit tests for all my scripts. And pipelines. Obviously.

This isn’t a system. It’s survival. Simplicity is the only thing that scales, especially with kids and ADHD.


Prompting tips for maintenance tasks – Part 2

This blog is also a living document for myself so I can improve and reference this working pattern in the future.

Model selection

If using ChatGPT for coding tasks, especially maintenance tasks, opt for o1, other models are crap and will hallucinate or forget more of the original code.

Avoiding regressions

If the goal is to alter existing code, ChatGPT risks breaking existing code by removing as part of the end result, a good prompt is something like below, to reduce the amount of feedback loop and future debugging. This is the prompt I use when I want to optimize for retro-compatibility and avoid too much diff between old and new code.


[SPEC, aka insert-here your own description of your problem to be solved by ChatGPT/LLM, with instructions, followed by the text below]

Here is the code to be modified. I want the complete code as the final result, with the same number of functions as in the original.

Show me the final file with the modifications
.
Do not omit code for brevity, keep untouched code same as before, with no new comments and no change to existing code styling, syntax, indentation and comments.

[CODE, aka Insert here the original code to be maintained/modified/debugged by the LLM]

When ChatGPT is done with the code generation, I output the original and newer versions of the code in something like my favorite diff viewer for code changes, or something like https://www.diffchecker.com/text-compare/, and I review the differences. When it seems good, I test, then I commit.

See also


Mastodon