Blog
Ultra-lightweight NATS-based modular app framework in Go
An explainer on why I wrote the `app` package for Upspeak. Why I used NATS and how it can be useful for you too.
Ontology and GraphRAGs to knowledge-centric systems
How systems like Upspeak can go from Knowledge Graphs to GraphRAGs and build towards agentic interfaces for personalised knowledge management.
From fragmented archives to knowledge graphs
Exploring how intent-driven knowledge systems can transcend traditional archives; addressing challenges of context, ethics, and evolution in an interconnected world.
A systems approach to archiving and retrieval
One does not simply hoard every bit of data they encounter. Instead, we must prioritize information that is valuable, meaningful, and conducive to our collective understanding of the world. It is okay to forget.
Combining semver and rolling releases
A hybrid format for combining semver with rolling releases for software versioning.
Burn
A lyrical scream to rap on the state we are in today.
Choosing delete strategy in PostgreSQL
Whether to soft delete or hard delete user-generated content in an application's database should depend on the nature of the data being deleted. Here is a high level strategy for making that decision based on users' intentions.
Store revisions of content in PostgreSQL
A simple way of storing and retrieving older versions of content, a.k.a, record history in PostgreSQL using triggers.
Styling your <hr> tags
Create a horizontal separator like Medium.com using <hr> tags and some CSS.
Communication divide continuum
Today's communication technologies still carry on the legacy of divide we face in the real world. Healing this fragmentation requires designing technologies with empathy and inclusivity from the lowest level.