It’s been over two years since the inception of Org-roam, and with the year coming to an end I think a review is timely. The Org-roam Rewrite In the earlier half of the year, I’d worked on and released version 2 of Org-roam. I’d touted it to be more performant, easier to understand and tweak from a power-user’s perspective. I think the feedback for version 2 was mixed with…
6 months and over 200 commits later, I’m finally releasing Org-roam v2! Org-roam v2 is an overhaul of Org-roam. It is slimmer and more performant, and has first-class support for linking to headlines. It also features a revamped side-buffer, a rich completion interface and a clean public interface for community extensions to work with. Org-roam in 2021? Over the course of the year, new…
Spaced Repetition? As a maintainer of a project within the personal knowledge management space, spaced repetition is something I get asked about a lot. Do I use spaced repetition? How do I implement it within my workflows? To be honest I could never get spaced repetition systems to stick. I’d already streamlined the process of creating cards for Anki, but it still required so much effort,…
Suppose we have designed a mount for a camera to be placed on the robot. We likely need to obtain the transform between the camera and the robot, so images obtained from the camera can be transformed into information the robot can act upon. One method is to use the mount design, to compute the translation and rotation of the camera. However, 3D printing is often imperfect, and can result in…
I recently decided to start doing more self-tracking. In my Org-mode workflow series, I gave a brief overview of how I did task management, but what I failed to mention then was that Org provides clocking capabilities, so I sort-of knew where I was spending my time. However, I wanted to track things that are unrelated to tasks. For instance, I wanted to track my mood at different times of the day,…
It’s been a long 4 years, but I’ve finally completed my undergraduate education in Computer Science at the National University of Singapore. It’s a wild time to graduate: Covid-19 has certainly brought about its fair share of woes (such as being harder to find jobs), but it has also given me time to think about how I spent my time in university, and about what’s next. In…
Yesterday, I spent some time migrating my vanilla Emacs configuration to Doom Emacs. The whole process took me about 2 hours, and then today I spent another hour or so figuring out why my original configurations felt different, and tweaked it back to my liking. For reference, here is my original .emacs.d (now archived), and my current configuration lives in my home git repository. Why Doom Emacs?…
While writing the documentation for Org-roam, it occurred to me that I have things to say that do not belong in the documentation. I wrote Org-roam because Org-mode simply didn’t have the utilities to enable the kind of note-taking workflow I wanted. I don’t want to be prescriptive about how note-taking should be done, but Org-roam is open enough to enable many note-taking styles, some…
In a previous post, I described my note-taking workflow with zettelkasten and org. I extracted some of that logic out into a Github repository, and it sort of took a life of its own. Now that it’s gaining a bit of popularity and usage, I thought I’d do a more formal introduction to the package, and how I use it. It is not published on MELPA, and likely won’t be for a while, but…
Recently someone brought the concept of Remembrance Agents to my attention. Remembrance Agents are programs which augment the human memory by displaying documents, such as notes and emails, that are potentially relevant to the current context. This fascinated me, and I thought I could potentially incorporate something similar into my braindump workflow, so I set aside some hours to see how I could…
Since I’ve been writing on the topic of workflows and tooling, I thought I’d give one of my favourite packages, Guild AI, a shout-out, and well-deserved exposure. Guild AI is designed for managing machine learning experiments. It provides ways to track experiment runs, make runs reproducible, and compare runs with different hyperparameters, all in ways that are non-intrusive. Those who…
(Previous Post: Org-mode Workflow Part 2: Processing the Inbox) Many of my tasks are articles, and online lectures that I need to go through for independent research. When going through these material, I like to record down notes for later reference. Background I’m going to provide some history at how I arrived here, feel free to skip ahead if you’re not interested. I’ve had a…
Some were curious about how I was automatically publishing my Org files, so I thought I’d try to give some insight into the process. You can find the Github repo here. I prefer my tools to be as simple as possible, but I’m also somewhat lazy, so I tend to use whatever was easiest. Previously, I’d be using Org’s in-built HTML export, but it was missing a bunch of niceties…
(Previous Post: Org-mode Workflow Part 1: Capturing in the Inbox) There are many to-do lists that don’t include processing as part of the workflow. These workflows use a simple checklist, and one would check off items as they do them. Why would David Allen (and I) recommend having processing as a separate step? Why process the inbox? When you’ve taken every open loop, and dump it onto…
(Previous Post: Org-mode Workflow: A Preview) Have you ever sat down with nothing but a pen and a piece of paper, writing down everything you need to do? Recall how you felt right after. Did you feel more in control? Isn’t it strange that you feel better looking at the long list of work, knowing that your little exercise accomplished nothing on the list? What pushed you to do this little…
This is going to be a multi-part series on Emacs and org-mode. This is also going to be a really long series, so before we begin I want to give you an idea of what to expect. What I’m about to present is a workflow I’ve tweaked over several years. It is a workflow that has constantly evolved to adapt to my varying needs. At the time of writing, I have completed 3478 todo items, and…
I do a lot of note-taking in Emacs, and have recently started using org-babel within my notes. Being on NixOS, this proved to be slightly problematic: org-babel requires the executables to be in PATH. In NixOS this is concerning: we don’t want the executables to be available globally. My traditional approach would be to use the direnv integration in Emacs, populating my path in a certain…
I’m learning OCaml via Real World OCaml, and getting a isolated OCaml development environment working with NixOS proved to be quite a struggle. This is a tutorial that describes my way of getting OCaml set up. Obtaining the OCaml Libraries OCaml and the more popular libraries are available in Nixpkgs, so one can write a simple shell.nix file to make them available in a nix shell: with import…