2025-11-26
The world’s smallest animation library kinex is kind of brilliant https://www.kinex.dev/
2025-11-21
-
Dokuwiki is a file based, self-hosted, wiki / knowledge base. Due to being file based, it is extremely light and fast.
- Some critical features are
- collaboration support via sequential editing + versioning + ACL-based access control
- page history
- localization
- wysiwyg editor
- lightweight
- ofc it is free and open source
- https://tech.surveypoint.com/posts/dokuwiki-small-footprint-big-features/
- Some critical features are
-
Cryptpad is a privacy focused alternative. It has more energy usage than Dokuwiki for obvious reasons (all the computation required in maintaining privacy).
-
Both of these are not real time collaborative tools.
- Tools like Etherpad, HedgeDoc and Rustpad allow collaborative editing in real time.
-
Calculating the carbon emissions from computation or CI runs
2025-11-13
2025-11-10
- It is possible to use a private Github repository for maintaining these markdown notes and at the same time build a public website without leaking draft and private notes!
2025-11-03
In sqlite3, there are two good ways to model many-to-many relationships between tables:
- The traditional way of using a third table storing every combination of products and carts.
- A more modern way might be to store product IDs in a shopping cart as a JSON array.
The two approaches have different upsides and downsides. With the traditional relational way, it’s easier to ensure data integrity (by, for instance, deleting product references out of shopping carts when a product is deleted). On the other hand, queries are easier to write with JSON structures. Especially when the order of products in the shopping cart is important as well, a JSON list is very helpful since rows in a table are unordered. Picking the right approach is a design decision you’ll have to make. This page describes both approaches and highlights some differences between them.
2025-10-22
Javscript modules are quite cool! It is quite easy to use them even without any JS frameworks. I know this makes so much sense right now, but for some reason for the longest time I didn’t think that it was possible.
Threejs sketches use modules, while p5js currently does not.
2025-10-21
Web Canvas API has a way to drawing strokes with dashes. setLineDashtakes a pattern of widths in pixels that define the length of dash and empty space.
p5js doesn’t really have a function that lets users access to this functionality. But it is possible to use Canvas API directly on the underlying CanvasRenderingContext2D instance. Here is a simple test example p5 sketch
Article of the day
https://infinitecanvas.cc/guide/what-is-an-infinite-canvas https://www.davepagurek.com/blog/how-to-draw-a-line/
2025-10-06
Started learning Rust from the rustup doc book
Semantic Versioning (sometimes called SemVer), which is a standard for writing version numbers.
NOTE There are compiled languages that are not statically typed. For example Common LISP and Julia.