What I Learned Today (10th of February, 2023)
Decided to play hooky today, because I got up reallly late and then I got stuff at home to do. Emacs Since I was playing hooky with my time and attention anyway, I decided to see, if I could tackle this little thing, I wanted to happen with my Org Mode. Everytime I move my TODO status for a task to IN_PROGRESS, I want Org to automatically clock in for me. And everytime I move out of the IN_PROGRESS state, I wanted it to clock out. This is because I want a one step process. I don’t want to change state and then clock in too. And I want it this way, because changing states and telling my program, that I’m going to work on this, here, task now is more natural to me, than clocking in and out. A whole day of reading and searching later, I stumbled across this gem on the Emacs StackExchange site which did exactly what I was looking to do. I stole it, twiddled a bit with the variable and function names and added it to the file that handles my Org config. This is it, in its entirety (add-hook 'org-after-todo-state-change-hook 'mjb/org-clock-todo-change) (defun mjb/org-clock-todo-change () (if (string= org-state "IN_PROGRESS") (org-clock-in) (org-clock-out-if-current))) And this works! For now. If something comes up, I’ll figure it out. Which brings me to the figuring out part. Doing this today has left me conflicted. In the old life, this is exactly how I’d do it. But ever since I’ve been learning to write code, I feel like this is something I should be able to do. But there’s only so much life and so much I want. I want the results today, and learning and writing Lisp is not going to happen in a jiffy. Right now my priorities are Devops related tasks. So I’ve just taken the pragmatic way out for now, and used code I found. Urdu Learnt about the “suaad” group. And also learnt that Urdu is just as crazy as English. There are three, count ’em, three ways of making the S sound and no particular rhyme or reason to them, save history :) ...