25 January 2026
Revamped the graph system so its simpler to make new nodes and manage them. Still contemplating the validation system I have... that might need some clean up.
Also contemplating adding reverse flow. So basically the circle that gets outputted on canvas could be overlaid with a bounding box that I could drag.
See more22 January 2026
Changes color based on active link!
Makes it easier to follow relationships :)
See more
18 January 2026
The idea is to take the interface of are.na canvas, so positioning, zooming, draggin etc and then combine it with the engine of the publication tool, essentially giving me a node based procedural publication design tool.
Essentially will have views for drawable tings, so here is a circle for example.
See more17 January 2026
Day 1: Basic Whittling...
Also taking a screen printing class... so expect to see more of this stuff!
See more17 January 2026
I've been using Emacs for the past 6-8 months and I've grown to like it quite a lot. I shifted to it when I was doing C programming and eventually wanted to do some Lisp.
I moved with ideas of extreme configurability and the awesomeness of Org mode. But I never got into Org mode (because of inferior portability compared to markdown) and I didn't get that into configuring emacs. I did some playing around, wrote some Elisp functions and had a nice workflow going, but I think its been pretty clunky. Things work but they're not as lighweight as nvim I'd say. And I don't think thats what emacs is, 'Emacs is an OS'.
So yeah, I think for now, I want something lighter. But I've learned a lot of things from emacs in terms of interaction possibilities. How you navigate through your system, how to spawn and keep servers running etc.
I think I wanna bring those things back and use TMUX + Nvim combo to sort of rebuild that. Keeping focus on simplicity so things are easy to change.
See more7 January 2026
Update Number #2 (JAN 17): since having started this post, I began a refactor and now the refactor is done... Fully rewrote the repo to make it more easier to work with and better organised and performance wise much better + added undo redo by using a reversible store object.
Whatup gang! Some updates on the Are.na Canvas.
I'm making this entry on the canvas itself, I've been using it daily over the past few days and its been pretty great.
Everything works and feels smooth!
See more1 January 2026
I'm updating this post from the canvas :) I think the canvas itself is almost ready and excited to share it online. There was some weird bug where when I saved the .canvas file to are.na channel and loaded it back in there was a JSON parsing error. Although it happened only for a specific block and hasn't happened since... so I dunno. Will see if this comes back later.
I still need to implement groups, and making new blocks. Maybe make the canvas infinite, like it can start of at a certain size and grow based on farthest away block or something.
See more
30 December 2025
Working on Are.na canvas to refresh my brain on concepts on how to make a draggable + canvas based tools. Going to make the interface for the publication tool a node based interface. So this is sort of the first draft/testing space for that.
I do wanna do a writeup for this... we'll see how that goes based on how much time I have in the coming days.
I need to add a search for channels, authentication and saving canvas data to channel to finish and publish this. Maybe clean up the UI and add some info too.
See more28 December 2025
As this year is coming to an end, I'm sowing seeds for the next year. I started writing.a-p.space, this is mostly going to be a space akin to this feed where I can document, and formulate ideas. So I can look back on these, reflect and iterate.
Found this excerpt from Tom Macwright's recent blog post
28 December 2025
Will make use of the open file format spec'd by Obsidian. This should potentially have interoperability with obsidian.
Making a post about this also over at research.if-m
See more16 December 2025
Some way to know when people visit this page. I don't want to do tracking of any kind, just some kind of acknowledgement or something that there is a presence in this space. Maybe its a button that viewers can click to be like, "Yo"
A comment system of some kind perhaps?
Link to other posts on the feed as references. This should be easy to implement as all the images and videos are already block references. For here I could link another block that probably talks about how this feed works on are.na or smth
Also wanna do a recap of this year. Things from this feed, things not on this feed, general reflection of tying things up and where to go as the new year approaches.
A tangential blog for longer form writing and project tracking/ case study kind of thingies. Where there's evergreen notes and maybe tutorials, WIP thoughts, drafts, essays, etc. I think this feed has been a really nice space for me to put stuff on that motivates and even structures my making. I want to have such a journal for long form projects now.
also wanna implement something like this: liqvid.js so I can have like tutorials, or showcase something or present something without actually making a video but writing it in sort of an essay but it turns into a video. I could probably narrate it and use the transcript... smth smth.
16 December 2025
I've been working on this for a month. but essentially this was the problem:
It took me quite some time to figure this out. I had to go back to high school math, and re-learn all the stuff I slept through. Revised on how to find perpendicular lines, what the slope/gradient of a line is. The constructing triangles using perpendicular line, using triangles soh cah toa properties to calculate the reflected points, etc...

27 November 2025
Added project pages, you can probably see this on the right here ->
There's also some new view options. There's a list option which will display only the first line of each block. And if you click it you can visit the block as a page. The block pages don't have any css as of yet but will add these soon.
Hopefully this will be useful if I wanna link specific posts...
Something I wanna add here is a way for people to let me know they were here :)
I don't wanna add tracking of any sort cuz that suckssss. But I wanna add like a hi - five emoji or smth where people can click it which would log a visit of some kind...
27 November 2025
As you may or may not know, this feed runs on are.na ... another thing you may or may not know is that I have a self imposed constraint to have no javascript on this feed. So how do I add categories?
So they're going to be implemented as channels. I will connect blocks from the main channel into these category channels. So blocks can appear in multiple categories. And for the rendering of this there's two options.
The easiest way would be to just create pages for categories/tags/projects. So each channel would just turn into a file, and then on the main feed I can visit these pages.
The other... actually I'm just going to stick to the easiest way. I have too much other stuff to do :)
See more21 November 2025
About 8000+ words incoming and some images.
Thinking names for the tool.
Pagemaker (already taken,,, adobe will sue)
Bookmaker
20 November 2025
I've been off instagram for almost the past 3 years. And I'm extremely happy with that decision and it has brought nothing but joy to me. However I think I need to interact with it for professional reasons.
So I've been thinking of alternative ways I could use it. One approach was Amir mentioning how he would have a system to only check and update it on one day in a month. So all stuff would get posted then. That I thought was interesting.
The one I just thought of was maybe, all the content and posts point outside of instagram. So for instance all of them are screenshots of my feed.a-p.space or website sketches. Or links to other peoples websites, etc. The whole point would be that these would all point outside of instagram. A link in bio interface that could open like instagram feed view and have links mentioned in each of the posts for easy access, so it is easy to get out of instagram as you enter it instead of being trapped in it.
This is an idea for an experiment. Perhaps I'll try it out.
See more20 November 2025
Presented a breakdown of the parts that constitute this publication tool I've been working on. So presented it as a library of functions written down as an interrogation of a typographic vocabulary.
It was super fun. Made some new friends who I'm hoping to work with and excited to talk to :)
The presentation site is visible here:
Home : Doesn't make a lot of sense without me talking over it and interacting with it though..
CCTO Nov '25: publication design tool (the parts) by Aaryan
10 November 2025
A scratch or fructure type software.
Will have a definition tree that can manage scopes, variables and views for certain symbols. And will try to see whats possible with this stuff.
See more
3 August 2025
Was working on this tool last semester, and recently need it for another project where I need to make a publication (a menu) where pages are offset vertically and horizontally.
Finally got it all to work together nicely and have a live feedback/ui to change these offsets and quickly test out different possible layouts.
See more
29 May 2025
Essentially the website is static site generated, same as jekyll or something. There is three parts to this process. HTML is written in input.html, the HTML in that file is embeded with javascript. Essentially this file is parsed and generates an output.js file that generates the index.html.
The syntax of input.html is as such:
%%+bar%%
29 May 2025
Playing around with static site generation. Here is a basic draft I made for a static site generator which basically compiles to a js file.
Trying out a programming paradigm where I try to think of the most simple raw solutions, like just putting js inside html, that makes a js file that accumalates a string and performs conditionals and for loops. The cool part is I don't have to implement any of that, I can leverage javascript as it is into this. So I get functions, loops, conditionals, all of it for free!
+-> Templating also allows to template over js code :)
Also trying to do more things with css rather than js... here is a toggle that changes grid size based on html attribute, the js code here only toggles the attribute, everything else is css... Thought this was cool :)
See more23 May 2025
Playing around with emacs in preparation; planning to do the SICP course in summer.
See more14 May 2025
So here is what I came up with in the last 24 hours...
Pretty neat right?
See more
13 May 2025
The eventual goal is also to write a CMS + Static site generator in C that will be the backend for this feed.
Will be adding tags and stuff to organize it better.
And perhaps if it goes well will fork it to make a blog for myself!
See more13 May 2025
2 weeks later, I have more free time now, so will be doing some stuff to learn how these computer thingies work.
Hoping to learn more about computers by playing with low-level languages (C for now).
Today's challenge is to make a snake game using ncurses (c library that lets you work with the terminal).
So essentially you have a Col(x)Row space and a concept of windows. And then you draw to this virtual window and call refresh to draw on the screen. So yeah, will be using ncurses and try make a snake game in a day? maybe 2... Lets see. Will update here on the progress.
See more23 April 2024
ok back at it. let see what I can finish in the next 3 hours. Crit in 12 hours.
See more22 April 2025
I was supposed to make a series of these, to explain the grid-structure, hyphenation, drawing line, overflow, imposition, etc but its 1am and I'm only 3 pages into the first one :)
I guess it's not gonna work out...
See more
21 April 2025
The typsetter now export imposed spreads (print booklet). If I know which page will be on which sheet, I can consider alt bindings, for instance printing one of the sheets on blue paper and stitching it with an offset of an inch.
I introduced a viewport into the program so it can render this offset page. It handles coloring it and offsetting it while designing. When exported to print, the printer will switch out paper color for the given sheet.
Here is an example comparison of digital view and the printed counterpart.
11 April 2025
As book spreads in the typesetting tool I've been working on. The text and title is derived from are.na blocks and I have a function that turns the blocks into book spreads.
I update the current index and refresh to go next or prev.
Live edit mode:
See more22 March 2025
Wondering if I could implement a paragraph styles, text overflow etc stuff and make a basic indesign clone...
See more
10th March-ish 2025
Some color changes
A components that takes the top level function and treats it like a render function for a render div in the component.
See more5 March 2025
Until now if you wanted to load a file in the editor, you used the loader-object. Where you would enter the file path and press enter.
I added url based file loading today. It would have been super easy if the editor had a base url. Currently I have multiple versions of the editor as files that I can open and run them through /fs-run/* endpoint.
Anyways, so if I want to run editor five I go to: (url)/fs-run/editor/five.json
See more3 March 2025
The feed is also a workshop.
If I port the feed to the editor, I can workshop blog pages. For instance I can start with combining feed posts, or writing one long feed post and exporting it as a webpage. And I can edit and refine the blocks on feed.a-p.space. Sanchari used a term called "soft-studio" I'm wondering if I can think of Feed as a "soft-studio".
See moreNotes.
what kind of things do you notice making your own tools. When you're building entireity of functionality and tweaking each single detail, what kind of thoughts cross by:
Eg. Oh I really wanna be able to click this block to be active
which would be a note on me expecting -> (mouse and keyboard to work in coherence)
The thing come out of this would be 1. just an archive of ui/ux research kind of notes, but framed as my personal inclinations and how I incorporate them + 2.it would also be documentation for anyone else to learn and lastly the presentation of this documentation would be awesome to do in the editor, as -> editor views.
State -> which also includes the display (panzoom position included) + movement locked or something.
^
|
_____ As files/websites.
1 March 2025
This is any interesting pattern:
setContext and getContext • Svelte Tutorial
I wonder if I can implement something like JSX now that I have a render list. Also need to see if I can write a Lezer grammar for that.
I also need to make a trello board for these tasks. I think I should do color library and this trello board thing next in my editor.
See more1 March 2025
Also would like to implement something like this in the editor.
Theatre.js - animation toolbox for the web
I thinking looking into the architecture of theatre.js would be really nice because it seems to have very similar workflows as I have been working with the editor, namely these:
Editor edits state
State can be used independently
making editors for state, and letting them interoperate
live edit data and see output
While this is three.js specific I can use these qualities to just use in anything js essentially with the editor.
See more1 March 2025
##########################
## drafting/inprogress
##########################
So I got the editor to work on a canvas and its been fun using it since then. I was busy playing around and working with the editor so haven't spent much time working on the editor. Anyways, just some stuff I've recorded over the past week.
The whole idea that made me make this editor was having the editor be able to edit itself at multiple levels. Partly goes back to ideas in this video, titled: "programming should eat itself"
See more28 February 2025
I love this guy's editor (towards the end)
TypeScript Theatre: Coding Art Performances with Algorithms, AI and Assembly by Phoomparin Mano
Basically made his own touch designer but writes assembly + gui components? Pretty rad. Also references Uxn and the 100 rabbits stack. Dance stuff in the beginning was interesting too, how he thinks of composing through directed graph functions .
See more13 February 2025
"CSS Algorithms" by Lara Schenck
This was nice to see, she talks about masculinity in the tech... Made me rethink some ways I have been thinking about programming.
See more12 February 2025
The goal today was to get LSP/intellisense/autcomplete working. So I can get tooling over the code. Tsserver is a package maintained by microsoft that lets you create a virtual filesystem in the browser and get diagnostics, completions, linting, refernce trees and basically tooling over your code. I had seen this was possible before but it is a whole task to set this up. So I started by getting this tsserver connected to the editor. This took much longer than I would have wanted it to.
The main issue with connecting the tsserver to the editor was reconciling the splitting of the file. The main function of the editor is to give you components that add up to the file. So a file is split up into smaller self contained chunks. This works all and good till the tsserver returns a {from, to} position for the diagnostics.
See more12 February 2025
(B)it
^
|
-- basically Git
I wanna implement something like this for my workflow.
The way I'm thinking is it would be a ui where I can see the screenshots (or can custom generate covers based on params) and those would be the branches of the code. Git branches sound very interesting in concept, but anytime I think of using them and consider merging and all of that stuff, I feel like its going to be not worth using because it will just escalate complexity and things are prone to go wrong. So if I could implement something based on git branches, I'll figure out how it works and then maybe I can use it... and maybe think of how I can engage in process differently using this branching sort of structure to iterate in different directions....
Like there can be multiple ways of implementing something... and whatever seems promising you work on it in parallel.
See more9 February 2025
I implemented saving and outputing html files and a mechanism to traverse levels. Just have to make it a little smoother to work. Right now its very jaggedy, mostly because I don't know how it should work.
The current implementation outputs the html file with a SOURCE_PATH variable which can be used to navigate back to the source files. I think this is the way to do it.
Also re-watched Nada Amin's Programming should eat itself talk which I think got the cogs turning for me about metaprogramming. Though the talk mostly goes over my head.
See more8 February 2025
This was already in theory possible, but rewrote the editor for it to be a much simpler implementation and then ran the editor in the editor
Have a way to output a new editor from the editor
Be able to go back to the source editor and make changes
Making this traversal between levels smooth essentially
Define a std-library (saving, updating, deleting, etc)
Implement Tsserver LSP (intellisense)
31 January 2025
Last Slider impl was a little loose, so I got the gears to be tighter together. They're still a little loose than what I would have wanted it to be but they work pretty well.
using one hand for one direction, and vice versa — if for instance this was controlling animation, one hand would be reverse and the other would be forward...
Thinking about creating extension control gears to control speed...
See more3 February 2025
I started the crafting interpreters book yesterday. It takes you through writing a compiler+interpreter in first Java and then C. I'm going to be following the book with Typescript and Zig.
Wrote the implementation of a REPL and a Lexer yesterday that reads through the text and produces a Token stream:
28 January 2025
Yesterday I fell into a rabbit hole. I was going through permacomputing writings and there was a section on programming which linked to a this blog and Zig was second to Assembly in terms of Syscalls and size. If yousee the benchmarks:
Zig seems to have a very close mapping to Assembly, that means very little abstraction. But it seems (from a general scan of people writing and talking about it (blogs, youtube)) that it is a very enjoyable writing experience. Of course, it is a low level language, so that means you have to do manual memory allocation and such. I've always wanted to try making a project where I need to do manual memory allocation, just to learn about it so I was intrigued at this point.
Also the minimal abstraction thing reminded me of Devin from 100rabbits' talk:
See more25 January 2025
As some of you may know I have been working on an Editor. I won't go in depth to explain exactly what it is, but essentially its a code editor that outputs to an iframe, and the idea is to be able to make it modular and interoperable and be able to edit the editor itself as you work in it.
I've been struggling to figure out what to name it, but after careful consideration, I have decided to name it editor.
I think the non specificity of what kind of editor it is, is interesting. It can be a code editor, but it can also be a photo editor or a vector editor or a json editor or a pdf editor, etc etc.
Also thinking, as a designer I think it would be cool if we could have a basic engine kind of thing for graphics and then we could just design our own tools. For instance game (engines) design tools are just gui based programming that make it super easy to make a game. So what if we had software that were graphic engines in this sense and you tinker it to fit your needs project to project and have some barebones versions for getting started as well.
See more25 January 2025
Calendar systems are so intriguing and complicated. I've been researching these different systems with all these different variations and the crux of most of them have been:
Using celestial bodies (Sun, Moon and Constellations) as markers of time
In order to anticipate and predict seasons for festivals and agriculture (festivals heavily linked to agriculture).
Reconciling the inconsistencies between orbitting of moon around earth and earth around sun. (Leap years and such)
Its also really cool to see how advanced these time keeping technologies were so early on (2000 years ago they had an accurate estimate of earths orbit time down to seconds).
Anyways working on a publication + poster + (maybe an animation) with omama putting together all of these ideas.
25 January 2025
This is fuckin cool
How I built a Mechanical Calculator
2 things
it is a mechanical-digital calculator
yes, mechanical and digital. Digital being all computation is binary, the values in the gears cannot be between 1 and 2 or 7 and 8 etc, it can only be 1 or 2. The discrete nature makes it digital. He talks about certainty mechanisms like using ball bearings and springs to make sure there are no middle values, etc.
24 January 2025
I've been intrigued by gears and other forms of tangible mechanics and I'm hoping to start exploring these for my Independent study this semester.
Laser cutting at the Xfab studio is super cheap so I'm thinking just finding wooden scraps and cutting out various sizes of gears so I can modular-ly use them and make interchangeble mechanics that can be used with arduino/computer-vision/sound.
I did a first attempt at making a wooden slider today:
See more
23 January 2025
A p5 sketch.
Grid -> animating
Glitching text
Animating text with circles (wormhole)
dynamic(moving anchors) -> bezier curves
text and colors
22 January 2025
Added Link styles to feed & added a no javascript checkbox! -> that changes size of the divs.
Its a trick where you can use checkbox :checked psuedoclass and use the sibling selector : ~ to select neighbouring elements and change their css. No js required :)
Also added a clause to not render any blocks named draft, so I can have private "unpublished" text blocks in the channel.
See more21 January 2025
Wanted to do this as an exercise+practice in static site generation. Maybe even an opportunity to make a static site generator.
While making this, as you can see above on the right, I highlighted comments all of which start with SECTION mark. Wondering about a Neovim shortcut which will jumpstart a regex search
: /SECTION:
Which will easily allow me to jump to a section in the file. Thinking of single file programs with essentially really good navigation.
20 January 2025
The colors on the sliders are misleading because it isn't really reading the color, but the grayscale values, so in theory all of them can be grayscale and it would still work.
TODO: abrupt progression instead of smooth gradient. Gradients with stops and what not.
Questions:
Can I encode bezier animations in color?