Hammock driven development

5 minutes read
agentic-coding

You’ve heard of TDD, and more recently also SDD (spec driven development)… but have you heard of HDD — aka Hammock driven development?

I recently came across a video gifted to me by the YouTube algorithmic gods with a catchy enough title that sounded more like a “honest bait” than a clickbait, it was titled: “Hammock driven development”, talking about an alternate approach to software development. I’ve currently been thinking a lot about various new processes that could improve software development, and this lecture from Rich Hickey from 13 years ago seems like one of those older ideas that need a new revival story. Especially now.

So I jumped right in.

I try here to write in my own words what I understood from the lecture and not refer to any of the supporting transcripts or Youtube timestamps (it’s now ‘fresh’ in my mind and want to make use of this moment in time)


We have two types of minds: the waking mind, and the background mind. Historically we’re quite used to the system 1 and system 2 framing by Daniel Kahnemann, but this is far more encompassing than I’d expected, the background mind here, the OP refers to being generally good at strategic, holistic thinking.

You would normally want to leverage such strategic tasks for the background mind. Not that the waking mind doesn’t do strategy, but it’s more focussed on the input <> output processing. And as such its results are much more strategic and immediate output oriented. The OP then suggests to leverage this partisanship to our interests.

While writing code, we are thinking through problems and we should first know how to draft a problem, and this could be in terms of scope, constraints, framing etc, we need to get that right first, and then when we have to start solving problems, at times we might encounter harder problems which were not used to encountering before (not the usual fetch from a dB and display it on the CRUD UI types).

When this happens, we then need to think and segregate such problems into the known types which can be easily done by the ‘waking mind’, and the harder subset which needs to be delegated to the background mind. The background mind works in interesting ways, you would not know in advance what the solution might be, you just need to assign it to this background mind and see what the ‘eye of the mind’ unravels.

But you will get there nevertheless, and to let this slow burn process happen without any stress it needs. In fact stress environments make you go into the ‘waking mind’ mode, and you would not be able to do the slow burn. That’s also one of the reasons why this should be done through a shower thought.

OP also recommends Michael Poyalyi’s How to solve problems book as it gives a much more mathematical rigour to the varied approaches to solve problems. There is another book I was able to find on the YT comments called ‘How to solve with computer’ that gives an algorithmic perspective to solve problems. This is another one on my Umberto Eco’s antilibrary style to-read list.

This time when I listened to the lecture, it hit me in a different way especially since I’ve also been fascinated about the AFK (away from keyboard) and HITL (human in the loop) segregation of work by Matt Pocock, an AI tutor who recently shared this in his talk at the AI engineers forum.

The AFK mode is usually for known solved problems, it’s similar to the waking mind for the agents, where they could run autonomously and completely solve the problem/s without causing much tech debt.

The HITL mode is usually for problems that require a feedback-loop type dynamic with humans to provide the right inputs for it to solve the problems better. This works well for human guidance aided by the right ontology. In the HITL mode, for example in case of 1 and 2:

1:

“I have a deep pimple only on my chin is it more likely from diet or hormones”

2:

“sudden cystic acne isolated to chin, is the more likely etiology hormonal fluctuation or pro-inflammatory gut disruption from dietary changes?

Both 1 and 2 are effectively the same question but 2 provides you vastly different (and better) responses. There is also a Harvard AI safety study which talks about this method, where changing ontology provides different responses.

And for AFK mode, you might not even need such thoroughly grounded ontology. It gets the aim, the objective and the steering right in one go.

Now coming back to the original topic by OP about the waking mind and background mind, and also finding similar analogies in the agentic coding world with the AFK and HITL types, I do think there is a bigger set of problem space where despite the best of agentic coding modes, both HITL and AFK, you would need to consciously use your background mind, for days, weeks or months to probably crack the code.

This process might take days, or months. A question I have for the reader here is how rare or common has it been for you to be in this background mind mode trying to solve a hard problem? Me, personally, it’s been quite rare. It’s such a terrific experience to be in this mode of problem solving, where you don’t want to be disturbed, and neither do you should be in front of the computer.

You should be lazying around, doing random chores, or as the OP suggests, if you do have a hammock in your background, then that’s all you need.

Recently I had made a digital painting on Procreate, this was describing the Hindu deities, Krishna and Radha an eternal bliss state depicted through the Kerala mural art style. What I painted doesn’t matter much for this story, but what I wanted to share was the way in which this digital painting was printed and framed. Naturally, I was interested to get a quote from multiple printing vendors in my hometown, Thrissur, to compare the prices and see which one offers the best price at the best quality of service.

I instinctively went for three quotes from different vendors for comparison, and I asked myself why did I settle for three? Couldn’t I have picked four? Or why not just one, or two, or seven, for that matter.

Another thought which stuck me here was the analogies the three-quote selection process was similar to the teachings I had had during my design studies at Delft University. The professors always used to point out that while hunting for solutions it’s always best to choose three solutions of equal fidelity, navigate the tradeoffs and constraints through user testing and then arrive at the final solution. And this was similar to the vendor selection process, which intrigued me about the unique nature of the three options.

What kind of psychological window does it offer to help take better decisions? With just a single option to choose from, you’re not thinking about alternatives, so it might mostly be a wrong decision with a huge sunk cost attached to it. With two options, my suspicion is that you are too focussed on steelmanning and straw manning both the sides engaged in a Hegelian dialectic, that you don’t really think outside this context window.

In the design process, when you have to arrive at three options which are more of less similar, you would also have to do a lot more preparatory work to make them more or less similar, and also harder to make a quicker decision on which is a best option. In an ideal world, the options available have all their own unique advantages, and while evaluating, we start thinking hard about the tradeoffs, the constraints, and by the merit of thinking hard about the constraints, we might arrive at a unique solution. With three options, you can still hold the solution space entirely in your head.

With four, it might probably be too exhaustive that you end up losing the sight of the forest over the trees.

If we look closely, the rule of three manifests everywhere, and I now think it has to do with the ability to hold the three options properly in our head. Take storytelling, and you see this as “beginning —> middle —> end”. Or the three click-rule in UX, or even in religion where you see the trinity in Christianity, and trimurthi in Hindu traditions. My theory here is that the comfort of using three has a lot to do with the way it sits neatly into our funny little brains, and less with how the numeropolists or the astrologer soothsayers would like to point out..

The AI sandwich technique outlines a process where certain phases of product development are led by AI agents, while others require human intervention. The phases led by AI agents include planning, coding, reviewing, testing, and creating pull requests (PR). These tasks are automated to enhance efficiency and consistency.

In contrast, the phases that should be human-led are brainstorming (deciding what to build) and polishing (ensuring the product is of high quality). These stages require human creativity, judgment, and critical thinking, which AI agents cannot fully replicate.

The AI sandwich technique outlines a structured approach where humans and AI agents collaborate effectively.

In this model, the top layer involves human input, where goals and instructions are clearly defined by humans. This ensures that the desired outcomes are aligned with human intentions. The middle layer is where AI agents take over, handling the orchestration, execution, and processing tasks. This allows for efficient and automated handling of complex operations. Finally, the bottom layer involves human evaluation, where the output is assessed based on subjective human taste and feedback. This ensures that the final result meets human standards and expectations.

Think of the end game polishing done by humans, akin to how pilots and co-pilots still have the final call on the airliner they’re operating in, despite all the automations at place that could technically automate the role of the pilot, but not in principle.

The technique is particularly effective in scenarios where outcomes can be verified, such as in RLHF (Reinforcement Learning from Human Feedback) environments. Initially, human feedback is crucial, but as the AI system becomes more proficient, the need for human intervention decreases. The analogy of a sandwich or an airliner illustrates this process, where humans set the course and make critical decisions, while AI agents manage the routine operations. This collaborative approach leverages the strengths of both humans and AI, ensuring optimal results.

How I write essays in 2026

7 minutes read
writing

I’ve updated my writing process and workflow for 2026, and the main reason I am revisiting it is because the process itself has started to change in a meaningful way.

Writing is no longer just about producing an essay. It has become a feedback loop where each draft I produce also acts as training data. I’ve naturally been interested in the gap between what AI generates and how I would naturally write is something I am now actively trying to close. Every piece I write contributes to that. The process I am describing here is not just how I write, but how I am shaping future AI outputs to sound more like me. In a way, this essay itself is part of that loop, and I’m naturally interested in the end game, where the AI sounds exactly like me; we’re not even 50% there yet, but curious how this would unfold..

While doing this, I’ve also ensured the principle source of the “key idea” still comes from me, it should resonate with me first, and the integrity of this nature continues to remain uncompromised.

To talk about my writing process, it begins long before I open a document. It starts with a running surface of thoughts that I maintain in Trello.

This is where everything goes first, without pressure to make sense. Ideas arrive as fragments, questions, contradictions, or half-formed intuitions. I don’t try to structure them immediately. What matters is that they are captured quickly. Over time, some of these ideas begin to stand out. They survive small acts of revisiting, get slightly reworded, or start to point in a clearer direction. Sometimes I had a good image thumbnail, to entice myself in drafting the essay further. When an idea feels like it has “hit home”, it shapes up to be explored further, it stops being just a card and becomes something I want to work on deliberately.

That is the point where I move it into Obsidian. This is where the rest of my personal knowledge base resides, and which I now try to take advantage of through a compounding loop which I will talk later about.

I create an Obsidian note with the intention to shape this into an essay, YouTube video, Substack article or anything else. Around it, I begin to gather material. This includes articles, essays, research, and most importantly, my own past writing that might connect to the same theme. The vault becomes a kind of extended memory. I follow links, revisit old notes, and slowly build a context around the central idea. Sometimes this expands what I already think. Other times it challenges it. Either way, the idea becomes less isolated and more dimensional.

As the material builds up, I move into a more deliberate way of processing it using the Zettelkasten approach. I have started to think of this stage as a process of crystallization. Ideas, when they first appear, are in a gaseous state (in this case, the ones that are first documented on Trello). They are diffuse, free-floating, and difficult to pin down. You can sense them, but you cannot yet hold them. As I begin working through notes, something changes. Writing reference notes and especially literature notes from memory forces the idea to condense. It becomes more coherent, more bounded. This is the liquid state. It can still flow and change shape, but it has a form that can be worked with.

During this process of working with my drafts on Obsidian, I also use tools like Enzyme, to start making more semantic connections with my existing notes on the vault. Connections appear between ideas that did not seem related at first. And then, in writing permanent notes, the idea crystallizes. It becomes solid. It takes the form of a single, clear, self-contained thought expressed in my own words. At this point, it is no longer something I am trying to understand. It is something I can use.

The Zettelkasten process, for me, is fundamentally about taking ideas through these states, from gas to liquid to solid, until they become stable enough to build with.

Some ideas still feel unclear even after this. They might have internal tension or multiple possible interpretations. Or might even lack proper framing.

In those cases, I use the Hegelian dialectic to shape them further. I take an initial framing and push it as far as it can go. Then I construct an opposing view and strengthen that as well. The goal is not to balance the two, but to force both sides to become sharp. What emerges from this is usually a better articulation of the idea. Sometimes it is a clearer position. Sometimes it is a reframing that resolves the tension altogether. Often, it simply results in better wording that feels more precise.

Once the idea feels clear enough, I start assembling it into a draft. This is where I bring together the different notes and arrange them into a sequence that makes sense. I pay a lot of attention to what deserves to be central and what should remain in the background. Not every idea should carry the same weight. There is usually one core message that I want to drive, and everything else either supports it or stays peripheral. This shaping is important because without it, the writing tends to become scattered, with too many ideas competing for attention.

If I have used any AI-generated text in the process, I clean it up at this stage. I remove phrases that feel generic, sections that over-explain, and structures that feel predictable. The amount of AI-generated text might vary essay by essay. Sometimes I just ramble on my phone (ChatGPT dictation on chat threads work quite well), and then convert this messy rambling into a AI generated first draft.

The goal is not just to simplify, but to make the writing feel specific and grounded. After this, I don’t treat the draft as final. Instead, I use it as a reference and start writing again from scratch. I type everything in my own words. This helps me rebuild the flow in a way that feels natural to me. While doing this, I also pay attention to how I feel about what I am writing. There are moments where the writing needs more intensity and others where it needs restraint. This emotional alignment is something I can only achieve when I am actively rewriting rather than editing.

At the end of this, I have two versions of the same piece: one that came out of the structured process and another that reflects how I naturally write. I treat this as an input-output pair to train a custom agent skill that I’ve developed to make the AI generated writing write like me.

Over time, I am collecting these pairs with the intention of using them to train models that can better match my style. The idea is that the gap between what the AI produces and what I would write myself keeps shrinking. It is not something that happens instantly. It improves gradually as more examples accumulate, and every essay I write contributes to that convergence.

Once the writing is ready, I turn it into an artefact. Sometimes it remains a blog post. Other times it becomes a rough note or evolves into something larger like a video.

Alongside this, I am building toward a system where a persistent agent takes over distribution. I use a Hermes agent for this, a self-evolving memory layer that can run independently and learn from how I write, what I publish, and where it performs best. The direction is for it to eventually handle publishing across platforms on my behalf, adapting the same core idea to different contexts without losing the original intent. It is still a work in progress, but it is the natural extension of the system I am building.

Authority in the guise of evidence

4 minutes read
critical-rationalism

Authority was once the primary means of determining truth. If the Pope at Vatican City declared something right or wrong, it was accepted without question. Over time, that model weakened, replaced in large part by the rise of rational, scientific inquiry. At least on the surface, we moved from deference to authority toward deference to method. But that shift is less absolute than it appears.

Explanations carry more weight than mere outputs. Progress does not come from accumulating results, but from correcting flawed ideas. A good explanation is not just predictive; it is resilient under scrutiny. The difficulty, however, is that deriving such explanations is expensive. Even if one is capable of independently verifying a claim with pen and paper, the time required makes it impractical at scale. In practice, this constraint forces a compromise. We rely on systems that compress explanation into signals we can consume quickly, even if that means trusting intermediaries.

Peer-reviewed papers in scientific journals illustrate this tension. They represent a system where credibility is delegated to an institutional process rather than individually verified. The assumption is not that every reader will replicate the results, but that the process itself filters for quality. This makes science functionally scalable, but it also reveals its dependence on a form of distributed authority. What appears as objectivity is, in part, structured trust.

Some thinkers, such as Balaji Srinivasan, argue that science will shift from “prestigious citation” toward “independent verification.” The idea is that advances in computation and tooling will allow individuals to verify claims directly, reducing reliance on institutions. Yet this vision runs into a fundamental constraint: verification does not just require tools, it requires attention. Even if verification becomes cheaper, it is unlikely to become free. Most participants in any system will still prefer to trust rather than verify.

The notion of a fully “trustless” society, often imagined in technological circles, rests on the assumption that trust can be eliminated entirely. In reality, trust is not removed but displaced. Systems that rely on code and cryptography shift trust from human institutions to technical ones. The claim that code is neutral ignores the fact that code is written, maintained, and executed within environments controlled by specific actors. Even in systems designed to minimize trust, there remains an implicit reliance on those who design the protocols and the hardware that runs them.

This is evident in emerging approaches such as trusted execution environments, discussed by Vitalik Buterin. These systems attempt to guarantee that computation occurs without leaking information, offering a form of verifiable privacy. Yet even here, the guarantees are not absolute. Hardware can be compromised, assumptions can fail, and users must ultimately trust that the underlying infrastructure behaves as advertised. The system reduces the surface area of trust, but does not eliminate it.

What becomes clear is that authority has not disappeared; it has become more abstract. In pre-modern systems, authority was visible and centralized. In scientific systems, it is procedural and institutional. In computational systems, it is embedded in code, protocols, and hardware. Each transition claims greater objectivity, but each also introduces new, less visible dependencies. Trust moves downward through layers, becoming harder to inspect as it becomes more technical.

This suggests that the future is not a binary choice between trust and verification, but a spectrum of trade-offs. Different domains will tolerate different levels of trust depending on the cost of error and the cost of verification. Financial systems may push toward near-complete verification, while everyday decisions will continue to rely on heuristics and delegated judgment. Rather than eliminating authority, we are learning to compose it—deciding where to rely on institutions, where to rely on code, and where to rely on ourselves.

In that sense, the dream of a fully trustless society is less a destination and more a direction. It reveals a desire to reduce arbitrary power, but it underestimates the irreducible costs of knowing. As long as explanations remain expensive and attention remains scarce, systems of trust will persist. The question is not whether we can remove authority, but how we distribute it, how we audit it, and how we remain aware of where it quietly resides.

Map is not the territory

4 minutes read
philosophy

This is one of my favourite ideas from Shane Parrish Mental Models book which I read recently, and it’s so applicable, that it doesn’t exist to me as this abstract idea which seldom translates to the reality.. it’s very tangible..

The map is never be the territory. In other words, the “description” of the thing, is not the thing in itself.

So, the Argentinian writer Luis Borges, in his brilliant allegorical style, summarized the mental model nicely in a one-paragraph short story, On Exactitude in Science:

… In that Empire, the Art of Cartography attained such Perfection that the map of a single Province occupied the entirety of a City, and the map of the Empire, the entirety of a Province. In time, those Unconscionable Maps no longer satisfied, and the Cartographers Guilds struck a Map of the Empire whose size was that of the Empire, and which coincided point for point with it. The following Generations, who were not so fond of the Study of Cartography as their Forebears had been, saw that that vast Map was Useless, and not without some Pitilessness was it, that they delivered it up to the Inclemencies of Sun and Winters. In the Deserts of the West, still today, there are Tattered Ruins of that Map, inhabited by Animals and Beggars; in all the Land there is no other Relic of the Disciplines of Geography.

—Suarez Miranda, Viajes de varones prudentes, Libro IV,Cap. XLV, Lerida, 1658

This is a fictional tale of a map that is so precise of its’ “territory” that it is “useless”, after all, one could just follow the territory instead of using the map. Why use a map then?

It’s a brilliant thought experiment which highlights the fact that maps are lossy, and you lose a lot of details in the process, and this is not a bug, but a feature of it being a map.

Even the best maps are reductions, and they’re never perfect. They differ in their exactitude..

And this is my commentary on the notion that AI is taking away all the “human jobs”, it would at the end of the day, AI can only be an approximation, and cannot exactly replace the human.

It could probably be more than what a human can do, or sometimes, less than what humans are meant to do. Love, care and kindness etc, are not something they can exact, and can only mimic.

My thinking now is that, as long as these approximations exist, the human jobs are not going away any time soon.

I do have a similar argument to suggest folks to read raw transcripts. This is quite a contrary opinion still, and we’re more used to referring to summaries. Maybe that’s a quick nugget and has faster absorption, but we do mistake comprehension for understanding sometimes. They are not the same. If I do have the luxury of time, I would personally prefer reading through the raw transcripts to get more higher dimensional granularity to what’s going on..

If we extend the analogy, the raw transcript is almost like the “territory” we’re speaking about. And the insights generated, are more or less like the “map”. And the map can never be equivalent to the territory.

Apart from this quirk to read raw transcripts, I also have a similar asymmetric thumb rule when it comes to reading long form blog posts. Some of them are really high alpha, high signal, so when a writer deeply resonates with me, I go the last mile and read the whole essay end to end.

I have a similar principle here that I want to read it in its lossless format, without it being stripped of any details.. as “map is not the territory”, I do prefer waltzing through the territory in some occasions, and not use the map instead..

I’ve set up an Apple shortcut to wake me up with a personal voice message. This is particularly scripted in a prophetic future tense, where I’m talking as if whatever I wanted to achieve has already

I’m not sure how the results would be, but I’m planning to experiment doing this for the rest of the year and report back if this has been successful or not..

I’m running this experiment as it’s an offshoot of two ideas: that your voice is very powerful in making a behavioral transformation. And the second, the idea that talking in future past tense, in a way that the idea you wanted to happen has already happened, can in fact make things happen..

You follow this script on repeat mode everyday, and the idea here is to make this script tap into your subconscious..

For now, I only have a “lean MVP” where it is just my plain voice, I would like to experiment with theta waves in the background in the future..

I am still skeptical about the science behind it, and apparently there are certain frequencies shift what mode your brain operates in. Theta waves (4-8 Hz) are associated with deep relaxation, meditation, and suggestibility. This is the state hypnotherapists try to induce. It’s the state right before sleep where your subconscious is most open. So the attempt here is to do this right before you go to bed..

Many types of music… especially ambient, binaural beats, or certain electronic genres contain frequencies that push your brain toward theta. And by using this as background score for this memo spoken in your voice, it could potentially increase the effect..

Image

Wouldn’t it fascinate you to realize that every song you’ve ever listened to on repeat has installed beliefs into your mind without your permission?

I have also embedded a post-hypnotic trigger word as “steady” to indicate the state I would like to be oriented more towards..

You have an interesting thought in your head, and you want to get it out there, open, out in the internet. It’s spiky, and has all the right characteristics for titillating the audience, hoping to convince the reader of an opinion. When you’re in the heat of the moment, and having this word-burst moment, you ask yourself to think twice before you hit publish, and now that you think about, it does feel like the argument is not landing there precisely where you want it to be.

The argument is probably, not false, but not entirely true either. It’s a bit on the fence, neither here nor there. It might not even be the fault of the argument not being “meaty”, but it could be a victim of being trapped in the wrong frame.

Being trapped in the wrong framing is a worser problem in my view, compared to being a false argument. “Ideas are only as good as our ability to communicate them”, and a good framing is half the job here. False arguments can be discarded, but misframed arguments can feel correct for years, while quietly trapping our thinking inside the very setup that produced them. You are the output of your priors.

In the recent agentic coding discourse, we see this as we ask such questions often: should human judgement be delegated to these paperclip maximisers? Should we only be a “human in the loop” layer, while the agents do all the plumbing/grunt work? or the more trite: should AI writing be banned in known blogosphers such as Hackernews, stackoverflow etc?

These questions sound very serious because they force a choice, but they also smuggle a very bad assumption underneath these all: that, the real work here is picking a side (inside a “frame” that’s already on the table.)

“They question the question. Before rushing to answer your question, they question whether it’s the right question to answer. They know the right answer to the wrong question is worse than no answer to the right question.”

Source: Clippings/High Agency in 30 Minutes - George Mack.md

Especially in these lines of doing such rigorous exercises, and to arrive at a good framing of what needs to be discussed and reasoned with, Hegelian dialectic helps this quite a bit.

I had almost forgotten about Hegel, but I’d renewed my interest in his ideas because of the Claude/Codex skill shared by Kyle on github called the hegelian-dialectic.

I’ve tried this for various questions, they’re not, in fact, deep philosophical questions such as “is there free will?” or “why is the sky blue” kinds, but were all quite practical such as “Should I prefer library X over library Y”, and the likes. It’s a very practical reasoning method. It’s not a mere philosophical cosplay, and can have a lot of utility for our day-to-day too.

The way this works is to first discover when the question we’re asking is in itself malformed? then pressure-test it until a better question emerges.

I found this example on Reddit which succinctly describes Hegelian dialectic in simple words:

It can be hard to understand, because its such a big idea. Sometimes its good to tackle big ideas like that with an example.

Here’s how it works. Let’s imagine you have a friend. You want to be the best friend you can. You are totally, 10,000% into being their friend. So you do all the stuff you think a friend should do. You say hi to them whenever you see them, you give them big hugs, you give them presents, you tell them how nice they are. And you do this all the time. You even hog your friend, and don’t want them to play with other people! You pour yourself into it, completely [Entäußerrung]

Eventually your friend doesn’t want to be around you because they feel like you don’t give them any room to be themselves. You tried hard to be the best friend you could be, but you ended up being the opposite of a good friend. You did the best you could, and you ended up with the opposite of what you wanted.

What would you do? Would you decide to start picking on your friend and calling them names? No that would be silly. You wouldn’t say “everything I ever thought about being a good friend was TOTALLY wrong.” You would see that what you were doing was partially right. But it was just one little piece of the “Big Picture” of what being a good friend is all about—which includes lots of other stuff like respecting your friend’s space, and letting them be themselves. So now, you have a bigger, better understanding of what it means to be a good friend. [Aufhebung]

Now that I give you a situational example, I would like to take you through a political example of an Hegelian dialectic. It’s such a broad, all-encompassing idea that casts such a vast net that it could be applied to anything, let’s now take the politics of governments:

As per the dialectic mode: you start with an existing synthesis (say, monarchy), which gets split up into a new thesis (say, democracy), and another anti-thesis (say, communism).

These two ideas, could converge/diverse bringing forth more such theses, and anti-theses (such as libertarian democracy for eg.). This is how Hegelian ideas evolve over time..

Thesis, antithesis are a constant dance. Hegel’s determinate negation matters here because it does not merely say, this is wrong, and this is right. It says, this is wrong in a way that reveals what is missing. The negation has shape. The failure is informative.

Synthesis, then, is not compromise. It is a reframing that preserves something real from both sides while making the original dispute feel too narrow to carry the weight you put on it. Reality is far from a black and white binary, and it gets you closer to this, The interesting move is usually not “find a better solution” but “change what the problem is about.”

Hegel’s views on synthesis between thesis and antithesis can be viewed in juxtaposition to his view that nature is an evolving organism striving towards progress as indicated here:

In this attempt to arrive at a better synthesis, there are a lot more attempts here towards framing and reframing the ideas and their supporting questions. One could find more such exercises on the framing techniques from George Lakoff’s book — Metaphors we live by. The author doesn’t specifically use the dialectic, but it comes forth in the way he constantly evolves the shaping of the framing, to come to a better framing. For eg, the “immigrant neighbourhood” problem then evolves into a “shared belonging” problem which is much more solvable from both ends of the political spectrum due to the more inclusive framing.

Old frameNew frameHow this helps?
Immigrant neighborhood decline is a “housing / public order” problemIt is a “shared belonging and memory” problemInstead of policing difference, you build common identity through story exchange, which reduces alienation and makes cooperation possible
Integration of disabled people is a “care delivery” problemIt is an “abilities and contribution” problemYou stop treating people as burdens to manage and start designing roles through which they participate in society
Nightlife violence is a “crime control” problemIt is an “urban hospitality / festival infrastructure” problemYou redesign flows, toilets, signage, transit, and care, making the environment less violence-producing
Youth employment is a “recruitment / loyalty” problemIt is an “identity and attractiveness” problemInstitutions stop presenting as bureaucratic gatekeepers and become places young people actually want to join
Social housing failure is a “buildings” problemIt is a “social fabric” problemYou stop defaulting to demolition and start repairing networks, dignity, trust, and local belonging

A neighborhood in decline looks like a housing or public-order problem until someone reframes it as a problem of belonging, shared memory, and social contact. Nightlife violence looks like a crime problem until someone reframes it as festival infrastructure: flows, toilets, transport, signage, places to cool down.

Even in the current context, AI-led job layoffs are usually framed as job-loss, versus innovation. One side warrants that the machines are coming for labour, and institutions should slow-down/regulate the usage as much as possible. The other side thinks everything is a positive-sum game, and should be treated with the foresight that even more abundance would be bestowed. Even here, a better framing from a hegelian dialectic can emerge, which could be that the real “question behind the question” is that we need institutions to better redistribute judgement..

By means of this agent skill, it was also shown to me that AI agents can also help us with this exercise.

Especially, when we also see that humans are also not quite natural in holding this way of reasoning, and counter-reasoning. We can probably hold one position quite strongly, but become worser as we hold more opposite positions too with equal force, evidence and emotional seriousness. It is most likely to be lopsided in one direction.

Coming back to the usage of this Hegelian dialectic skill, it is a process which goes through different phases: in the first phase, there is socratic questioning to uncover assumptions behind the questions posited. then it grounds the domain to ground the questions in the specifics. Then it creates two monks, each calibrated to carry the belief burden, plus targetted research directives for position specific evidence. both these electric monks write fully positioned essays to steelman their sides. This is purposefully spawned in separate sessions with no shared context, so that there is no path which is crossing over, and no context rot. With this approach, we look for “clinks in the armor”, especially what we’re aiming for is a state of self-sublation, where each position’s own logic can potentially undermine itself. after this destructive dissolution, then comes creative induction, where the important atomic bits are brought together and recombined alongside the monks’ material. Then comes sublation, where both electric monk A, and electric monk B are cancelled as complete truths, and a new “framing” emerges. This is what happened with politics as well, when capitalism got cancelled, and communism got cancelled too, and what emerged was a synthesis/antithesis dance, and then finally, “libertarian democracy”.

This is how the phases in this dialectic looks like as outlined by the author on GitHub:

The process has seven phases.

Phase 1: Elenctic Interview + Research — surface the real contradiction

The orchestrator interviews you Socratically — surfacing hidden assumptions, finding the deepest version of the contradiction, and identifying your belief burden. Then it researches the domain to ground both sides in specifics. The interview surfaces what you’re actually wrestling with; the research ensures the downstream arguments are grounded in specifics, not generics.

Phase 2: Generate Electric Monk Prompts — calibrate the belief assignments

The orchestrator crafts two prompts — one per Monk — calibrated to your specific belief burden. Each prompt includes framing corrections that prevent the Monk from falling into the obvious, boring version of the argument, plus targeted research directives for position-specific evidence.

Phase 3: Spawn the Electric Monks — two fully committed position essays

Two separate AI agents — each in a fresh, isolated context — write fully committed position essays. They don’t hedge. They don’t try to be balanced. Each one inhabits its position and makes the absolute strongest case. Spawning them in separate sessions with no shared context produces structural decorrelation — genuinely different reasoning paths, not the same analysis with different conclusions bolted on.

Phase 4: Determinate Negation — find where each argument undermines itself

The orchestrator analyzes both essays to find: where each position’s own logic undermines itself (self-sublation), what both sides implicitly agree on without realizing it (shared assumptions), and the specific way each position fails — not “it’s wrong” but “it fails in THIS way, which points toward THIS thing that’s missing.”

Then comes Boyd’s destructive deduction: shatter both arguments into atomic parts, break the correspondence between each position and its constituents, and scatter them into what Boyd calls a “sea of anarchy.” Then the creative induction: find common qualities, attributes, or operations among the scattered parts to build cross-domain connections that were invisible when the parts were trapped inside their original positions. In Round 2+, lateral creativity interventions (compressed conflicts, random Wikipedia domain injection, metaphor generation) inject genuinely external material before the decomposition, so it gets shattered and recombined alongside the monks’ material.

Phase 5: Sublation (Aufhebung) — synthesize something neither side could reach

The orchestrator generates a synthesis that simultaneously cancels both positions as complete truths, preserves the genuine insight in each, and elevates to a new concept that transforms the question itself.

This is not compromise. It’s not “use A for some cases and B for others.” It’s a reconceptualization — something neither Monk could have conceived from within their frame, but which, once stated, makes the original contradiction predictable. The synthesis is an abductive hypothesis: what would make it unsurprising that both Monk positions exist with genuine evidence? After drafting, a reversibility check (from Boyd) traces each claim back to specific atomic parts from the decomposition — untraceable claims get flagged as either confabulation or new insights needing their own evidence.

Phase 6: Validation — did the Monks feel elevated or defeated?

Both Monks evaluate the synthesis: were they elevated (their core insight preserved within something larger) or defeated (their position just dismissed)? Then a hostile auditor — a fresh agent with no position — attacks the synthesis for hidden assumptions, compromise disguised as transcendence, structural flaws, and runs its own reversibility check (can each claim trace to material in the essays, or is the synthesis just one monk’s structure wearing the other’s vocabulary?).

Phase 7: Recursion — where the real value lives

Each synthesis generates new contradictions. The orchestrator proposes 2–4 directions; you choose which to pursue. The process repeats — and each round gets sharper, pulling in new cross-domain material that the previous round made relevant.

The first round is calibration — the least insightful output. By Round 2–3, the dialectic has dug past the obvious framing into territory that neither you nor the Monks could have reached from the starting question.

This is another one of the commentaries by a person who used this to test the dialectic skill to help answer the question of “ React versus Vue” framework better..

In test runs, a React/Vue dialectic evolved from “corporate lab vs. auteur” into a “co-evolutionary arms race” framework. An institutional identity dialectic went through seven cycles, pulling in Gödel’s incompleteness theorem, Coasean transaction costs, and jurisprudential concepts that had nothing to do with the original question — but were essential by the time the dialectic reached them.

Negotiations are hard. And I want to win most of them; whether it has to do with convincing my partner to choose the right destination for a tourist trip, or even convincing the business when it comes to a challenging matter. I want to convince all of them, and win them all, and I can’t take no for an answer.

I’ve been adamant, and I want to get through things the way I want. In some people, I have observed that they get what they want, even if I didn’t want to agree with them in the first place. I don’t know what mix of things these are, whether they are charisma, street-smartness, intelligence, and behavioral psychology hacks. I was convinced that there might be people out there who might be doing negotiations as their day jobs, day-in and night. It was also the time I saw the movie, Closer, which is about this negotiation expert who gets caught amidst a hijacking scene and attempts to save the hostages as well as rescue everyone from the situation with his negotiation skills. I wanted to learn.

And I found this book that I wanted to see if it could help me: it was called Never Split The Difference, and it talks about various tactics used by seasoned FBI negotiators who handle far tougher situations with terrorists, war mongerers etc, in getting them to agree into a position which they might have not thought of in the first place.

I’ve read the book multiple times on re-read, and have taken some dense notes in this process. Now, what I do now is to do enough homework before I enter into a tough negotiation. For starters, those who do their homework always win. I do this as a writing exercise to cover as much points as possible steelmanning-strawmanning the discussion, before I take it forward.

What do I want?

What is the minimum I need?

What is my BATNA?

What are they likely afraid of?

What bad thing are they already thinking about me?

What accusation audit line should I use?

What label will I open with?

What mirror might unlock more?

What what/how question will I ask?

What summary could earn “that’s right”?

What hidden unknown might matter most?

What is one cheap concession I can make?

How will I test this implementation?

References

Example involving approval for being a pilot:

Ask yourself before enteringExample answer
What do I want?“Pilot approval.”
What is the minimum I need?“Named owner, clear success metric, and no implied full rollout.”
What is my BATNA?“Delay and escalate.”
What are they likely afraid of?“Operational blame.”
What bad thing are they already thinking about me?“I’m making my urgency their problem.”
What accusation audit line should I use?“You may feel I’m asking your team to absorb risk before the practical questions are answered.”
What label will I open with?“It sounds like this feels rushed from your side.”
What mirror might unlock more?“Feels rushed?”
What what/how question will I ask?“How would you make this safe enough to proceed?”
What summary could earn “that’s right”?“So you need safety and clarity before commitment.”
What hidden unknown might matter most?“Who gets blamed if this slips.”
What is one cheap concession I can make?“Narrower pilot scope.”
How will I test implementation?“How would this work in practice next week?”

Another example involving rental negotiation:

Ask yourself before enteringExample answer for rent negotiation
What do I want?“Reduce rent from £1,850 to £1,700 for the next 12 months.”
What is the minimum I need?“At least a reduction to £1,750 or a freeze with no increase for 12 months.”
What is my BATNA?“Stay for now and start looking for alternatives, or move at end of term if no flexibility.”
What do they likely want?“Stable income, no vacancy, no troublesome tenant, no extra admin.”
What do they likely fear?“A void period, unreliable tenant, repair disputes, market softening, reletting costs.”
What bad thing are they already thinking about me?“I’m just trying my luck, or I may become difficult or leave anyway.”
What accusation audit line should I use?“You may feel I’m just pushing for a discount because it costs me nothing to ask.”
What label will I open with?“It sounds like your priority is keeping the tenancy stable and avoiding disruption.”
What mirror might unlock more?“Avoiding disruption?”
What calibrated question will I ask?“How can we make this work in a way that gives you certainty and keeps the flat occupied?”
What summary could earn ‘that’s right’?“So from your side the ideal outcome is a reliable tenant, on-time payment, and no costly turnover or uncertainty.”

When should we steelthread something

3 minutes read
product-development

Imagine standing at the edge of a canyon, needing to cross to the opposite cliff. One option is to construct a bridge, starting with logs, ropes, and foundations—carefully assembling each piece until a complete, safe crossing exists. This is similar to how MVPs are often built: you fully develop a core feature or component (like building an engine) before moving on to other parts, ensuring that the piece you create is robust and ready for future scaling.

In product development, a concept known as the steel thread has gained attention for its focus on creating the most direct yet robust path from concept to functionality. Unlike traditional methods such as building a Minimum Viable Product (MVP), which often prioritize incremental construction and polishing a single component before moving to the full system, the steel thread approach prioritizes end-to-end integration early on, even with minimal implementation.

The steel thread approach, however, takes a different perspective. Instead of starting with a full bridge, you imagine a thin steel thread stretched across the canyon. It represents the simplest, lightest, and most minimal path to achieve an end-to-end connection. The steel thread is strong enough to support essential functionality and demonstrates that all critical integrations work together. Even if the overall experience is barebones, the team can traverse the complete journey from point A to point B, proving that the product can function holistically.

From a product development perspective, this method focuses on building the smallest possible version of the full flow. Rather than fully developing isolated components, the goal is to establish a working skeleton that spans the entire product experience. This allows teams to quickly identify integration challenges, potential bottlenecks, and areas of risk. Once the steel thread is in place, subsequent iterations can enhance, reinforce, and expand it—eventually turning the thread into a fully realized product structure.

By prioritizing end-to-end connectivity over depth in one area, the steel thread approach offers several advantages: Rapid validation of system feasibility Early identification of integration issues Efficient feedback collection on the full user journey

In contrast to building a polished engine first (the MVP approach), the steel thread demonstrates the viability of the whole vehicle—even if, at first, it is only a bare-metal prototype. Teams practicing this method move faster toward functional products and discover critical insights earlier in the development lifecycle.

In short, the steel thread method is about achieving the simplest full journey before committing to deep, complex builds. It highlights the importance of robust integration early, providing a strategic pathway to scale confidently and efficiently.