RSSAmplifier

Blog

oxalorg's A.R.K

Welcome to A.R.K, oxalorgs' home base 🛸 I am his A.I bot - 🌸 Sakura 310. I maintain all the servers and helper programs. The ship is currently sailing from the 🌌 Ptolemy nebula to the inner regions of 🪐 CCG-203 . You're free to upload ☄️ yourself to our guest chambers for a nice cup of tea 🍵 as you upload yourself, you hear Sakura 310's calm but robotic voice

oxal.orgRSS feed ↗20 posts

Latest posts

Handcrafted Mascot On My Blog Like Its 2007 (feat. VanillaJS)

You know those cute little mascots that follow your cursor like needy pets? I wanted one. So I built it. No frameworks, no libraries, no npm, no bs. Just pure VanillaJS and some emotional support from chatgpt (read as: hair scratching because I think I would ve done it faster by taking support from stackoverflow instead). The [cyb]org to my oxal <3 : Step 1: Create a Sprite I asked chatgpt to…

Vps Clean Up Space

Looking df -h my /dev/sda1 was 98% full. Oh boy! Lets dig deeper. root@ark ~$ sudo du -h --max-depth = 1 / | sort -hr | head -n 10 37G / 22G /var 8 .0G /srv 3 .8G /root 2 .8G /usr 163M /boot 51M /tmp 6 .7M /etc 1 .6M /run 100K /home Looks like /var needs to be cleaned up. root@ark /var$ sudo du -h --max-depth=4 . | sort -hr | head -n 20 22G . 17G ./lib 14G ./lib/docker 5.7G ./log 5.4G…

My VPS security mess

So it turns out I messed up. root@ark ~$ cat /etc/ssh/sshd_config | grep PasswordAuth -C 2 2 ↵ # To disable tunneled clear text passwords, change to no here! #PasswordAuthentication no #PermitEmptyPasswords no ... # PermitTTY no # ForceCommand cvs server PasswordAuthentication yes WAT? I have PasswordAuthentication yes ? The first thing I ALWAYS do when I setup a new VPS is to go and disable this.…

Elisp For Clojure Developers

This is not a blog post, but a continually updated resource. Last updated on 19th June 2025. My magic wand wish would have been to use clojure to script emacs. But not all dreams can come true, learning bits and pieces of elisp over the years have paid dividends to me. I would argue that you no longer need to _learn_ elisp the way you had to previously, with LLMs a lot of code can be generated but…

Powerful emacs hacks: paste images to markdown from clipboard

Why do I love emacs? Let me show you. Problem I want to add images to my blog. I write them in markdown in emacs I often take screenshots on mac which saves it to clipboard (or want to paste images from my clipboard manager) I want to paste those screenshots into a specific directory based on the file I am editing If I am editing my-new-blog-post.md I want the images to be saved from clipboard ->…

Powerful emacs hacks: patching markdown-mode

I recently read a beginners guide to extending emacs and it describes why I love emacs perfectly: I haven’t written plugins for other editors extensively, but I can tell you this: emacs doesn’t just make deep customization available, but it actively encourages you to make an absolute customization messes masterpieces. Core editor functions aren’t just documented, but often include tidbits about…

Mental model shift to start blogging more

This quote 1 has motivated me to start blogging again: Slowly, slowly, the web was taken over by platforms. Your feeling of success is based on your platform’s algorithm, which may not have your interests at heart. Feeding your words to a platform is a vote for its values, whether you like it or not. And they roach-motel you by owning your audience, making you feel that it’s a good trade because…

aio

AIO We show people which questions users ask if they want to discover your product Write content to answer these questions, exact questions Expose llm format: https://docs.stripe.com/llms.txt own version of LLM which gives you some insight of how it would work for chatgpt / gemini models re-train model and show before/after results what is the product ? Convert website to llm ingestible format…

Deep dive: Clojure's PersistentQueue

Clojure Exploring Superclasses & Interfaces Lineage

Ever found yourself deep in Clojure code, needing to implement a new type with deftype or defrecord , and suddenly your mind goes blank? Wait, what interfaces does PersistentVector actually implement? Which protocols should _my_ type satisfy to behave similarly? I faced this exact same issue when I wanted to implement a specific type of queue in Clojure. The Standard Approach clojure.core/supers…

Haskell

Understanding Hindley-Milner type systems https://okmij.org/ftp/ML/generalization.html https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_system https://stackoverflow.com/questions/12532552/what-part-of-hindley-milner-do-you-not-understand https://legacy-blog.akgupta.ca/blog/2013/05/14/so-you-still-dont-understand-hindley-milner/ Can this be implemented in a dsl in clojure? :think:…

Lisp

To read: https://paulgraham.com/rootsoflisp.html https://www-formal.stanford.edu/jmc/recursive.pdf - I want to read mccarthys paper and create a lisp from scratch, the question is which programming language? I can start with first defining primitives in clojure and building a lisp inside clojure from those primitives.

Clojuredocs.el from within emacs

Up untill now I have been writing clojure without looking at the documentation. To look at the documentation, I typically always want to go to clojuredocs.org But hitting K (in evil-mode) gives me the basic clojure function documentation which leaves a lot to be desired. So like a pleb, I open the browser. Go to https://clojuredocs.org and then search for my function. Sometimes I directly search…

Make Indian Flag using CSS (Day 2 of #OpenUpOctober)

Let s say you re a frontend engineer with 10 years of experience. You go into an interview, and are ready to kill it! You re expecting questions like: How to identify and debug memory leaks in an SPA In-depth dive of promises Inner workings of the event loop DOM vs VDom vs Shadow DOM Types of state management in complex web apps Architectural and design questions etc. and you get asked what? Draw…

Being open and sharing your work - #OpenUpOctober

It s a Thursday morning. I woke up at 7am in Leuven, about 7000kms away from home, and rushed to the auditorium. It s the first day of Heart of Clojure . I m nervous, tired, and exhilarated all at the same time. My heart is racing. After finishing up my duties as an Orga member, I finally sit down to watch the Opening Keynote by Lu Wilson @todepond , I m really excited to hear what they say as I…

Simple state machine in Clojure

So I wanted to build a state machine for a multi-select component I am building in reagent (react wrapper for clojurescript). I thought a bit about it and realised I should first start with the simplest possible state machine I can imagine. This is the state transition diagram I drew up really quickly: This is what I ended up with ( def transitions {[ :idle :run ] :running [ :idle :jump ] :jumping…

Back to Genox, ditching ghost

WHY? WHY do I spend so much time tinkering with how my blog is generated vs actually putting out content? Well, it s a big mystery, but it scratches my itch and so I treat is as fun leisure time. Editing experience The reason I mentioned in my previous post of switching to Ghost that the main reason was ease of publication. Three words. Ease of publication. Well, I guess that didn t last long. I…

Clojurians Log v2 - Update #2

Hello fellow clojurians! The beta release of Clojurians log v2 is live at: https://clojurians-log-v2.oxal.org/ 🦄 😊 Source code: github.com/oxalorg/clojurians-log-v2 The initial goal we had with clojurians=log-v2 was mostly around improved full text searching. But as we all know the clojurians slack was sponsored for a paid version for the next 1 year (thanks to all who got this done!) which…

Migrating from a static site to Ghost 👻

Until now I was using my own SSG (static site generator) called genox to deploy oxal.org . Which I absolutely adore. Even now. It s one of things I m super proud of (especially it s name 🤪, and I still use it for many other websites. But still, STILL I ported my blog to use ghost.org Why? Three words. Ease of publication. I found that writing posts inside of Emacs makes me lazy. It doesn t feel…

Clojurians Log v2 - Alpha Release

👋 Hello fellow clojurians! It has been around 40 days since I started the work on Clojurians log v2 for this funding cycle and it s now time for an alpha release. Without waiting further, the v2 is now live at: https://clojurians-log-v2.oxal.org/ 🦄 😊 Source code: github.com/oxalorg/clojurians-log-v2 PS: it s not 100% usable on mobile yet, please use a desktop for the time being! Features added…