SDS Project Configuration 3 - Setting Environments Within Notebooks

The setup shown in SDS Project Configuration 2 involved opening the org file and running the my/sds... functions. The order mattered. I frequently found myself defaulting to the wrong environment. Also operating from a different folder was causing issues. It is demanding to remember that there exists a function outside that needs to be run for the notebook to work properly. With this update, I have eliminated the need to invoke those functions. This has added some extra lines in the org file itself, but all these are in the relevant notebook files. So while this is extra work during writing, there is less to remember while executing the notebooks. ...

August 24, 2026 · 282 words

SDS Project Configuration 2 - Making Sessions Work

This is continued from SDS Project Setup. Earlier, all the three languages were working together, but the values did not transfer across code blocks. For the different blocks to be able to communicate with each other, the language needs to run in the same session. Setting this up for Python and R was straightforward, but Julia had me stuck for a long time. The dataset used below is available at Allison Horst’s page. ...

August 23, 2026 · 1337 words

SDS Project Configuration 1 - Setup

Now that I have LaTeX and computations working in Emacs Org Mode (see LaTeX with Emacs and Setting Up Computational Notebook in Emacs), it is time to create an entire Statistics and Data Science Project covering a variety of topics. This note shall document the setup process. Prerequisites Basic Emacs Configurations. Note Git (Magit), Org Mode, Org Babel, Vterm, and the programming languages are properly configured. Emacs + LaTeX Configuration. Emacs + (Python + R + Julia). Project Structure Create the essential folders and files inside the appropriate directory. ...

August 22, 2026 · 992 words

Setting Up Computational Notebook Functionality in Emacs Org Mode

In the equations rendering challenge described in LaTeX With Emacs, org-fragtog came to the rescue, finally providing something to toggle between mathematical symbols and LaTeX code. But a computational notebook needs more than just mathematical equations rendered properly. It needs to be able to display and run code. Specifically, in my case, it needs to be able to run Python, R, and Julia. Code Blocks In Org Mode, #begin_src language ..... #end_src allows for code to be written and displayed correctly. For example: ...

August 21, 2026 · 422 words

LaTeX With Emacs

After considering Quarto for a long time (using instructions for the tarball version) and failing to make it work with Emacs properly, I decided to go all in on the computational notebook features of Org Mode. It is not that Quarto (with its .qmd files) does not work with my current setup. It does, and I was able to render something basic involving R, Python, and Julia using a complex setup (with Quarto using knitr along with reticulate and JuliaCall). But working with QMD files in Emacs was ugly. Quarto is designed for VSCode, Neovim, and others; the relevant Emacs package has not been updated in several years. ...

August 19, 2026 · 628 words

More Emacs Config

Notes on My Recent Exploration of Emacs I briefly tried to use Emacs Doom, but I quickly realized that configuring it properly would take up quite a while, and would involve deleting quite a lot. So I went back to modifying my own init file to suit my writing workflow. I saw that Doom divided up the config files by functionality, and I decided to give that a try. And so now my setup looks the way described below. Also, it has a lot more functionality than it did in my earlier basic config. ...

July 22, 2026 · 870 words

A Minimal Emacs Config

All I wanted was to use magit today, but Spacemacs, which I have used for years, wouldn’t allow me. I could not figure out what the problem was—it likely had something to with dependencies that were out of sync. Failing to resolve the issue, I decided to reinstall emacs and configure it from scratch (with some great LLM help). The fruits of this tinkering are in the init.el file below. It is only about 160 lines long, but covers the vast majority of my requirements surprisingly well. This is a brief log of how this config file came about. ...

July 14, 2026 · 845 words

Using Obsidian

Background I have been using the note-taking software, Obsidian, for a little more than a year, and it has been a major quality of life upgrade for me. Prior to this, I used Evernote for several years, thanks to the recommendation of Tim Ferriss. Initially, I was a happy customer, but over the years, the subscription costs mounted and the quality of the app degraded. I tested Joplin and Notion but they proved inadequate for my needs. Finally, I landed on Obsidian, finding it through the videos of No Boilerplate. My usage pattern has settled down enough over the past year for me to be able to discuss it. ...

July 9, 2026 · 838 words

Tasks vs Calendar

Calendar A calendar is to be used for the following. Time blocking, Marking events that will occur regardless of your presence, Marking due dates. I am using the Full Calendar plugin. Every event is a separate note under a specific folder. The events appear in a calendar timeline. Task Manager A task manager is used for tracking all tasks associated with projects. Be as specific as you need to be. Tasks do not necessarily have due dates. Set scheduled dates and priority for tasks as required. ...

July 8, 2026 · 491 words

Hosting Passwords

The Three Phases of Password Hosting For the longest time, I hesitated to use a password manager. Trusting a cloud service for such an important matter did not sit well with me. For years, I kept all my passwords in a notebook. This was the pen and paper phase. It worked, but over time, the content grew too large. Changing passwords got messy. And if I lost my notebook (which, fortunately, did not happen), I would be in trouble. Maintaining a backup ultimately meant taking photos and trusting internet-touching devices and internet-based services. ...

June 11, 2026 · 583 words