Stuck on an Island

There’s this saying :

If you’re stuck on an island and have the opportunity to build all of the software landscape again, the programming language you should choose is C. But the first thing you should write is a lisp interpreter.

I’m going to do that with Go.

As for the saying, I’ve heavily paraphrased (aka butchered) that and don’t quite recall the source so do excuse me for that.

A CLI Timer to save your soul

This is how I time my workblocks these days…

Prerequisites

Functions

single_beep() {
( \speaker-test --frequency $1 --test sine )&
pid=$!
\sleep  0.${2}s
\kill -9 $pid
}

morse(){
for i in {1..3};
do
        single_beep 400 $1
        \sleep 0.${2}s
done
}

sos() {
    morse 200 500
    morse 400 500
    morse 200 500
}

timer() {
    \sleep $1 && sos &
}

Usage

The above can be sourced in your shell rc.
I store it in a .bash_funcs where I have all my functions and source them in the end of my rc as source ~/.bash_funcs.

Building a Racket Based Operating System

EDIT : 0x22D2 : Fri Sep 27 03:51:30 PM IST 2024

  • I’m thinking I’ll proceed in common lisp
  • do read on for amusement though

As of 0x22CE (Mon Sep 23 06:48:40 AM IST 2024), These are the operating systems I’ve used:

  • Open Suse TumbleWeed
  • Fedora, CentOs, Rocky
  • Debian, Ubuntu, Kali
  • Arch
  • Windows XP,Vista,7,10,11

I recently moved away from Fedora 40 to Tumbleweed (I deleted some core python libraries that are essential for yum and dnf (I know, I’m an idiot))…

Temporal Specialization

If you’re new to the concept of polymathy (I personally ventured into the idea when I read Da Vinci’s biography by Walter Isaacson), a lot of counter-intuitive traps await you when trying to build competence in multiple areas.

You don’t need to be a generalist at all times during your journey into polymathy. I mentally grasped this fairly recently that you don’t need to shun specializing for smaller durations. Something like a day is obvious as a candidate but, in the past, I would shy away from even periods of a month to actually focus on a singular thing. I’m fairly comfortable doing that for upto three months now but would recommend touching a large span of domains over the span of six months for you don’t want to start losing out on the humility that interdisciplinary pursuits enforce on you.

Doom Emacs config'd for Python

Alter your doom block in init.el:

(doom! 
    ...
    :lang 
    (python +lsp +pyright +conda)
    ...)

I recommend pyright, is snappier than pyls..

you’ll also need lsp enabled in your tools, I also have +peek

(doom! 
    ...
    :tools
    (lsp +peek)
    ...)

for more info, hit <space> h d m lsp<CR>

Alter your config.el (I use miniforge to get mamba and conda):

                                        ; Conda
(use-package! conda
  :config
  (setq conda-anaconda-home (expand-file-name  "~/mambaforge"))
  (conda-env-initialize-interactive-shells)
  (conda-env-initialize-eshell)
  (conda-env-autoactivate-mode t)
  (add-hook 'find-file-hook (lambda () (when (bound-and-true-p conda-project-env-path)
                                    (conda-env-activate-for-buffer)))))

Once that’s done, hit <space> h r r and your ready to go.

I'm in the Business of Ideation

People have been responding to emacs and my beard.

comments

For a while I thought I did not have a lot to say. Turns out a lot of other humans are quite interested in the much of the same things that I’m into: my hatred for the mouse, and the consequent love for efficient workflows being some of them.

I’ll give the people what they want: I get to enjoy esoteric tech and spread the word, growing a cult, while other humans have enlightened experiences (believe me I do talk like this in person) and continue propogating the techno-propaganda about enjoying computer science.

Quick Musings

From time to time, I do encounter ideas that intrigue my intellect for quite some time.
I do maintain the ideation buffer to index these ideas into the larger context of my past musings, but I would also like a conveniently accessible chronological search available for cross-domain ideas.
I’ll hence be increasing the frequency of premature technical thoughts being packaged into a micro-blogs.

I might not elaborate a whole lot in terms of the theoretical aspects of the tooling but I’ll be conceptually outlining my current thoughts over the same.

My Emacs Journey

Emacs has been a trustworthy companion of mine for around 4+ years now. We’ve shared some highs and lows. I owe a major fraction of whatever conceptual depth I maintain in computer science to messing around with my tools.

Emacs is also the core of my first major youtube breakthrough.

I haven’t yet explored the emacs niche completely and will be investing more time into honing my repertoire and understanding what sort of mindset the tooling expects from you rather than just fitting emacs into my thoughts.

Thinkpad X13 Gen 4 AMD Ryzen Pro 7840U & Workflow Review

I recently shifted my operations to a thinkpad x13g4amd (Ryzen 7840U + 780M Radeon) and am using this transfer as an opportunity to realize and improve my work related habits.

GNU/Linux

All of my pipelines are based around Linux and the core GNU utils. I had to use windows for a while due to org-wide constraints but I’ve recently been given the signal to shift to linux.

I rarely used any windows native tools for my workflows and there was always a layer of linux emulation/virtualization (wsl, scoop, and the likes) upon which I conducted my usual operations. Given I use Debian at home, a non native linux experience was frustrating at best and depressing at worst. No more, do I have to confine myself.

IKN0X224C: Epistemological Polyglotism

check out what an IKN0x means here

Understanding different languages can open up one’s mind towards different cultures.

The evolution of languages over centuries and common ancestors there-of over millenia indicates the evolution of cultural complexity.

The Conventional Take

I grew up actively conversing in 4 languages: English, Hindi, Marathi and Gujrati. French was my first romance language I was exposed to for over 8 years (I say exposed as was learning this academically as a third language and didn’t use this as a “natural” language as much as the others).

Talking About What You Do

I haven’t been writing quite as much as I’d like to lately and have been considering how I approach the whole thing.

Instead of talking about what I’m thinking in the moment (pretty fleeting), I’m ……

This is exactly the point where I’ll go “I’m planning on …” : I do not wish like doing that anymore. Talking about my momentary plans for a while has been quite the distraction that I occasionally enjoy.

Adventures in Advanced Symbolic Programming : MIT-OCW - 6.945

I finished my first pass of SICP (structure and interpretation of computer programs) around 3 years ago. Since, I’ve realized the elegantly implicit existence of symbolic algebra in several domains that I personally explore on a regular basis.

That initial infatuation with Lisp ( and consequently symbolic computation ) has simmered and fermented enough in my mind to be realised as a potent generic thinking device. To cement my commitment to the same, I’ll regularly dive deeper into relevant academia so I don’t lose out on the joys of thinking for the sake of itself.

IKN0X2223: Epistemological Cartography

check out what an IKN0x means here

Snap-shotting projections of the mind over time is a good habit that you should practice.

I will try my best to persuade you of that…

An over-powered upside to pursuing multiple interests over the span of your life is to have the ability to compare and contrast multiple domains, akin to having multiple hill forts over your territory than only establishing a centralized castle.

I turned 0x2222 today

Currently, I prefer tracking the temporal increments of my existence (“age” is what normal humans would say this means) via hex timestamps.

Years ago, I kept track of my age in years and months like normal humans do.

I maintain the habit of analysing my mindset every major temporal mileston in my life - when I turned 10 (I don’t quite remember exactly how I felt then) or 20, for instance, in accordance with the widely accepted gregorian calendar.

IKN0x221F : Pragmatic Polymathy

Checkout the previous polymathy musings

Context

I intend to formalize my plans of getting good at multiple domains not for the reputation that follows but for the generic insight about the world that you may harness as a result.

This is the second refactor of the way I approach this subject and this time around I will be pushing for practical indicators that allow me to gauge my progress over time.

Teh worth of a workd

Writing is an involved process. A rough overview is as follows:

  • you think of an idea
  • you build upon that idea with what you already know
  • you structure out some initial drafts
  • you run it under a careful eye to scrape out the loopholes
  • you edit it, to the point of satisfaction

The problem with that process is the last bullet right there. It makes the worth of a word in the moment diminish than the act of etching something down in stone.