Emacs

Pragmatic Opacity


This video explores a productivity workflow in Emacs that leverages window opacity, moving it beyond a purely aesthetic feature. The creator demonstrates how a translucent Emacs frame can be used as an overlay to view and control background applications, improving efficiency and saving screen real estate.

OSDEV[0x1]: Studying Strategy (for Writing an Operating System)


This video is the second part (0x1) of a series on writing an operating system. The creator, Raj, details the comprehensive studying and logging strategy he has designed to tackle this long-term project. The goal is to create a structured approach that fosters deep understanding, maintains motivation, and effectively manages the vast scope of the endeavor.

OSDev[0x0]: Writing an Operating System


This video serves as an announcement and introduction to a new, long-term project: Operating System Development (OSDev). The creator, Raj, explains his motivations for taking on this formidable challenge, his plan for documenting the journey, and the tools he intends to use.

Why OSDev? The Motivation for a New Challenge

  • [00:00:15] Raj explains he’s been feeling bored with typical software engineering projects, which often feel too easy, especially with the rise of powerful LLMs.
  • [00:01:21] He was seeking a “formidable project” that would genuinely challenge him and couldn’t be easily solved by an AI tool.
  • [00:03:00] A primary driver is a personal quest to feel competent. He believes that successfully building an operating system will cement his confidence as an engineer.
  • [00:04:36] He wants to move beyond being a “hand-wavish” software engineer and gain a deep, fundamental understanding of the systems he uses daily, such as systemd.
  • [00:05:43] The project also serves as an opportunity to get back into reading textbooks and explore “old-school” computing concepts, which he enjoys.

Project Plan and Documentation

  • [00:02:40] The video series will be unstructured, presented as work logs and journals rather than polished tutorials. He compares the process to exploring an “open-world RPG.”
  • [00:02:47] His entire journey, including notes and logs, will be version-controlled and publicly available in a GitHub repository.
  • [00:10:48] He plans for a continuous, podcast-style format with at least one video per week (Saturdays), supplemented by shorter, micro-video updates for milestones to maintain a tight feedback loop with his audience.

Tooling and Workflow

  • [00:06:21] Emacs will be the central hub for the project, used for coding, note-taking, journaling, and as an LLM client.
  • [00:07:44] He will use Tmux for terminal management and work within an openSUSE Tumbleweed environment.
  • [00:10:14] The project will involve programming in C and Assembly, which he sees as a return to the fundamentals of programming.

Channel Direction and Future Goals

  • [00:09:44] Raj wants to shift his channel’s focus from showcasing tools in a “glass case” to demonstrating them in a real-world, complex application.
  • [00:13:00] OSDev provides a natural, unforced use case to explore and evaluate different tools and programming philosophies.
  • [00:11:15] He hopes the documented journey can serve as a guide for others who might want to start OSDev from scratch in the future.

Conclusion

Raj concludes by expressing his excitement for this new, challenging venture. He emphasizes that this project is as much for his personal growth and learning as it is for creating content. He plans to be much more regular with his uploads and invites viewers to follow along on this ambitious journey.

All In

  • alias vi
  • doom gcc emacsclient (no window)
  • cool retro term
  • tmux
  • conversation starter

The Home Row

Getting a little pedantic with my doom configs1 these days..

(defmacro generate-bindable-lambda (&rest body)
  `#'(lambda ()
       (interactive)
       ,@body))

;; .. the home row ..
(map! :map evil-normal-state-map
      "C-M-i p" (generate-bindable-lambda (insert "+"))
      "C-M-i n" (generate-bindable-lambda (insert "-"))
      "C-M-i u" (generate-bindable-lambda (insert "_"))
      "C-M-i e" (generate-bindable-lambda (insert "=")))

Maybe I should consider buying foot pedals.., and eye trackers (3 screens at the moment ) .., and setting up an array of interface sensors to truly begin exploiting emacs.., to the point of conducting an orchestra of text buffers.., somewhat musically (/ whimsically?)..

The Un-Unified Heterogenous Irk

I’ve lately been thinking deeply about how I interact with my computing environments; when working, I’ve a
- an unrooted snapdragon ARM Android with Termux and Tmux for ephemeral vimmin & sshing around when on the move
- an Intel x86 FreeBSD home lab for some asynchronous compute that I don’t need right away and some redundancy for my important files
- a personal ubuntu VPS with a couple of intel x86 vCPUs for my self hosting endeavours and overall context orchestration
- several compute clusters (avx enabled x86s, ARM, “the propietary GPU driver guy on the street” GPUs, “the other open source GPU driver guy on the steet” GPUs, k8s orchestrated production & development playgrounds) for work
- an AMD x86 Tumbleweed with emacs as the daily driver where I actually “work” : this is desk where I dissect, analyse, reconstruct and dispatch for usage across the above

Decommissioning Roam Builds

As of today, am decommissioning my org roam notes builds : there used to be a notes section in the banner above.

The current UI is not apt anymore for the scale of nodes accumulated - build times are high (2+ mins) and the navigation capabilities are archaic : will engineer and publish another navigation experience soon. Will continue publishing my notes to the repository as usual.

I wrote an Emacs Package

Fabric1 is a collection of crowd-sourced prompts, exposed via a CLI tool. I used it for a while some time ago but never fully exploited it because I prefer Emacs.

Eshell buffers are an option, but I am principled in my tool usage and prefer to delegate longer-running CLI tasks to a combination of Alacritty and Tmux.

Maintaining my Emacs shell usage to ephemeral popups feels natural.

Gptel2 is a versatile LLM client that integrates smoothly into my workflow (buffer/text manipulation and management) without disrupting my thought flow.