Computational Notebooks Are For Teaching, Not For Learning

Pretty much everything I have to say on the topic is encapsulated in the title. Whether it be through Quarto + .qmd or Emacs + org-mode, the overhead is significant. Many of your experiments do not need to persist. Also, when programming, the ratio of code to the “literate components” is high enough to justify the exclusive use of comments for such components. Learn using scripts, running those through your preferred IDE. Only at the point of publishing (and possibly subsequent teaching through live demonstrations) should you consider using computational notebooks. By the time you use such a notebook, you must already have a good idea of the outcome.

August 29, 2026 · 109 words

SDS Project Configuration 5 - Images and HTML Export

Placing Images I could not find a way to automatically display the images. The best way seems to be to manually write the following. Replace image.png with the full path if the file is not in the immediate location as the org file. [[file: image.png]] With this, images can be toggled on and off with iimage-mode. You can make use of more options in the following manner. #+CAPTION: Penguin body mass #+ATTR_HTML: :width 600 [[./image.png]] Exporting to HTML I installed the package nice-org-html for exporting org files to html. Then the exporting is simply a matter of M-x nice-org-html-export-to-html followed by accepting the offered defaults. ...

August 26, 2026 · 901 words

SDS Project Configuration 4 - DuckDB

Needed Some SQL Ran into a minor hiccup while performing some exploratory data analysis. The type of my columns was wrong. This is the kind of thing I want fixed before Python, R, or Julia touch the dataset. This is the kind of thing that would be suited for SQL. I have used MySQL for a different task that involves frequent updating. DuckDB is more suited for static data analysis. That ended up driving the choice of DuckDB. The CLI outputs are excellent. There are integrations available for Python, R, and Julia. ...

August 25, 2026 · 321 words

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