Automating the deployment of my Hugo site

Note taken on [2020-04-11 Sat 16:27] Updated post and the cron job script + notes based on an illuminating conversation with R2robot in the Hugo IRC channel ##hugo. IRC rocks.. most of the time. This website is based off Hugo. The complete source is available as a Git repo at shrysr/sr-hugo. Currently, my only actions are to make changes to an Org source file and export the same via ox-hugo.

Literate Org-mode configuration for Emacs is liberating

TLDR: Check out the Docs section for my Emacs config in Org-mode The literate programming paradigm, as conceived by Donald Knuth, represents a move away from writing programs in the manner and order imposed by the computer, and instead enables programmers to develop programs in the order demanded by the logic and flow of their thoughts. Literate programs are written as an uninterrupted exposition of logic in an ordinary human language, much like the text of an essay, in which macros are included to hide abstractions and traditional source code.

Juggling multiple projects and leveraging org-projectile

Scimax has a convenient feature of immediately creating projects (M-x nb-new). The location of the project directory is defined by the setting (setq nb-notebook-directory "~/my_projects/"), which has to be set in your Emacs config. Once the name of the project is chosen, a buffer is immediately opened and one can start right away. It is an awesome, friction-free method to get started with a project. These projects are automatically initialised as git repositories, to which it is trivial to add a new remote using Magit.

Jupyter notebooks to Org source + Tower of Babel

This post provides a simple example demonstrating how a shell script can be called with appropriate variables from any Org file in Emacs. The script essentially converts a Jupyter notebook to Org source, and Babel is leveraged to call the script with appropriate variables from any Org file. This reddit thread and blog post elucidate the advantages of using Babel and Org mode over Jupyter notebooks. Directly editing code in a Jupyter notebook in a browser is not an attractive long term option and is inconvenient even in the short term.

Incremental improvements can lead to significant gains

While reading the book Atomic Habits by James Clear, I was reflecting that my choice of embracing Emacs and progressively gaining mastery over it was intimately connected with the philosophy preached in the book. My efforts initially started out with a craving for a system to quantify and manage my tasks, habits, notes, blog writing, job applications and projects in a custom environment, and to be able to build toolkits of code to perform repetitive tasks.

Getting productive - an exploration into holistic task management

Introduction To integrate tasks, reminders, notes, coding workflow into a single framework is no easy challenge. Org mode and Emacs help you do just that. After trying out several tools, IMHO : Todoist offers the best bang for your buck, especially with it’s natural language parsing ability, smooth and reliable sync as well as its multi-platform availability. Many describe Omnifocus to be the king of task management tools, with dedicated apps for different purposes and probably well integrated.