HNHacker News
TopNewBestAskShowJobs

monarchwadia

73 karma · joined October 26, 2017

submissionscomments
monarchwadia··on We have proof automation now
Proof automation will make things a lot easier. I'm not entirely sure that it's the only thing required, but it's a big part of the thing required.

What's more interesting to me is, how do we prove that the business intent is accurately encoded in the code? This is a different problem. Not "is the logic internally coherent," but "is the logic going to give us what we want?"

And how do we make sure that the logic keeps giving us what we want, iteration after iteration?

I've open source a tool, Drift, for this purpose. So far, biased and anecdotally as its builder, this has been the missing layer. It works because the spec is treated as a duplicate of the code, written and committed in the repo and kept in sync with hashes. The LLM then checks for diffs manually. There are ways to use perplexity here as well. Here is an article about how to get started. https://monarchwadia.medium.com/how-to-make-your-agent-more-...

Doubtless, many more automations will come. We live in very exciting times. It has been a while since a new technology affected every corner of software engineering with such depth of change. This might be unprecedented.

monarchwadia··on Artificial intelligence is not conscious – Ted Chiang
Its not just that it isnt well understood. Its also that different people mean different things by "consciousness."

Is consciousness a complex form of information processing?

Is consciousness relating to the space in which qualia occurs?

Is consciousness the state of being awake, as opposed to asleep or dead?

Is consciousness some combination of the above?

Some of these are better understood than others. So, some people will show up with more confidence than others, which further confuses the issue.

Unfortunately, the above is not well understood, even among intelligent and informed audiences.

monarchwadia··on NetHack 5.0.0
Oh I missed that I the announcement. Nice!!!
monarchwadia··on The NPM CLI has 65 production dependencies from the NPM registry
Seems it's 1078 total dependencies. Only 2 prod dependencies, but as we saw with recent attacks, dev tooling is an attack surface.

I ran this script to count all packages in package-lock.json:

  node -e '
  const lock = require("./package-lock.json");
  const entries = Object.entries(lock.packages || {}).filter(([k]) => k); // skip root ""
  const c = { prod: 0, dev: 0, optional: 0, peer: 0, total: 0 };
  for (const [, p] of entries) {
    c.total++;
    if (p.peer) c.peer++;
    else if (p.optional) c.optional++;
    else if (p.dev) c.dev++;
    else c.prod++;
  }
  console.log(c);
  '
Output:

  { prod: 2, dev: 955, optional: 113, peer: 8, total: 1078 }
So, 1078 total dependencies.
monarchwadia··on The NPM CLI has 65 production dependencies from the NPM registry
In an environment with so many supply chain attacks, this is scary. You can't help but be exposed to supply chain attacks with this kind of philosophy.
monarchwadia··on Claude Design
I assure you, working with LLMs is intellectually challenging, and becomes more so as the technology matures.
monarchwadia··on Someone bought 30 WordPress plugins and planted a backdoor in all of them
Anecdata from a JS developer who has been in this ecosystem for 14 years.

I'm actively moving away from Node.js and JavaScript in general. This has been triggered by recent spike in supply chain attacks.

Backend: I'm choosing to use Golang, since it has one of the most complete standard libraries. This means I don't have to install 3rd party libraries for common tasks. It is also quite performant, and has great support for DIY cross platform tooling, which I anticipate will become more and more important as LLMs evolve and require stricter guardrails and more complex orchestration.

Frontend: I have no real choice except JavaScript, of course. So I'm choosing ESBuild, which has 0 dependencies, for the build system instead of Vite. I don't mind the lack of HMR now, thanks to how quickly LLMs work. React happily also has 0 dependencies, so I don't need to switch away from there, and can roll my own state management using React Contexts.

Sort of sad, but we can't really say nobody saw this coming. I wish NPM paid more attention to supply chain issues and mitigated them early, for example with a better standard library, instead of just trusting 3rd party developers for basic needs.

monarchwadia··on Show HN: 1-Bit Bonsai, the First Commercially Viable 1-Bit LLMs
But the fact that we have convinced a pig to dance, and trained a dog to provide stock tips? That can be improved upon over time. We've gotten here, haven't we? It really is a miracle, and I'll stick to that opinion.
monarchwadia··on Show HN: 1-Bit Bonsai, the First Commercially Viable 1-Bit LLMs
Honestly, the fact that we have models that can coherently reason about this problem at all is a technological miracle. And to have it runnable in a 1.15GB memory footprint? Is insanity.
monarchwadia··on Axios compromised on NPM – Malicious versions drop remote access trojan
Yes. Docker breakout is a class of vulnerabilities into itself.
monarchwadia··on Why are executives enamored with AI, but ICs aren't?
The premise is incorrect. Plenty of ICs are enamored with AI. And plenty of executives are skeptical of it.
monarchwadia··on Landmark L.A. jury verdict finds Instagram, YouTube were designed to addict kids
This is a confusing comment. Interoperability and bad actors are separate concerns, because you get bad actors in systems of all kinds, not just in interoperable systems. Paywalling a system does not necessarily mitigate bad actors, either.
monarchwadia··on America tells private firms to “hack back”
Are you indirectly referencing this bill? https://burchett.house.gov/media/press-releases/burchett-int...
monarchwadia··on Qite.js – Frontend framework for people who hate React and love HTML
Well, in React specifically, you're describing the Flux architecture, which I've implemented manually back in the day. Its modern-day successor is Redux, which does exactly what you describe, but we found that it introduced more complexity rather than remove it.

I don't know about the other UIs, but on the web, some things impinge on the model you (and Redux) are proposing.

One thing is: you, in the gamedev world, have the luxury of having a frame buffer to write to. You fully control what gets rendered. Unfortunately, React and its cousins all have to deal with the idiosyncracies of the legacy browser environment. You have CSS, which applies and cascades styles to elements and their children in often non-obvious ways, and is a monster to deal with on any given day.

In addition to CSS, you have multiple potential sources of state. Every HTML slider, dropdown, input field, accordion, radio button, checkbox has its own browser-native state. You have to control for that.

On top of all of this, the browser application is usually just a frontend client that has to interact with a backend server, with asynchronous calls that require wait-state and failure-state management.

One thing that's in common with all of the above problems is: they're localized. All of these things I'm describing are specific to the rendering layer and therefore the component layer; they are not related to central state. A central state trying to capture all of these problems will fail, because component state has to be wrangled locally near where the HTML is; CSS also is component-level; and the network states are often very closely related to each component. If we maintain a central "game state", the data complexity just proliferates endlessly for each instance of the component.

So, the default these days is to keep state very close to each component, including network state, and often business logic also gets sucked into the mix. I try to avoid putting business logic in components, but people do it all the time unfortunately. But it does add to the complexity.

In other words, there is -real- complexity here, stemming from the fact that the web was never built to be a distribution+execution layer for rich applications, but evolved to become exactly that. It's not just bad application architecture or bad decisions by React maintainers.

Maybe I'm wrong, since I'm not a game developer and don't see what you're seeing on your side.

monarchwadia··on Amazon is holding a mandatory meeting about AI breaking its systems
Interesting. How would it be an early step towards an apprenticeship system?
monarchwadia··on The United States and Israel have launched a major attack on Iran
It is rare to find a comment on shunyata on HN. I wanted to deepen the discussion on that, instead of move into geopolitics or the justification of status quo reality. I think youre very correct that war is unnecessary, if only we realize the illusory nature of many of the things we desire or hate.

Shunyata means everything is empty. Empty of what? Empty of inherent, independent existence. That means everything is connected -- not only connected, but mostly illusory, sitting on top of a reality that cannot be understood in terms of objects, processes, distinctions, or boundaries between objects. Sometimes, this connection takes on strange forms.

For example: The horrible reality of war was a direct cause for your compassionate unease. I.e. war acted as a cause for compassion. This is strange. How do we reconcile this disturbing relationship, where a compassionate response is directly the child of war? In other words, horrific war has given rise to compassion, and this is a causal relationship, in the same way that a child arises from a mother. So, violence and love can arise from each other? What? Are they not supposed to be opposites?

The next step is a bit more provocative. Shunyata seems to imply that, since everything lacks inherent and independence existence, then suffering is not a part of the human condition. Instead, it is a mental construct. It isn't that the suffering of humanity does not exist; it's that it is constructed by the mind.

Deleuze and Guattari offers an interesting viewpoint on this. There are various intensities that do arise naturally. Injury, for example, is an intensity. But, suffering itself is not "really-real" unless we reify the intensities as suffering. And eliminating suffering partially involves the non-reification of intensities into suffering.

Obviously, easier said than done.

Anyway I'll leave it there. It's probably quite easy to destroy my points here, so I would appreciate it if people steelmanned my comment instead of strawmanning it. Shunyata is a genuinely useful discussion from a mental health and human flourishing standpoint. And has some very interesting and rigorous logic behind it. (see Mulamadhyamakakarika by Nagarjuna)

monarchwadia··on Cowork: Claude Code for the rest of your work
This is a great idea! I'm building something very similar with https://practicalkit.com , which is the same concept done differently.

It will be interesting for me, trying to figure out how to differentiate from Claude Cowork in a meaningful way, but theres a lot of room here for competition, and no one application is likely to be "the best" at this. Having said that, I am sure Claude will be the category leader for quite a while, with first mover advantage.

I'm currently rolling out my alpha, and am looking for investment & partners.

monarchwadia··on Running a business means contact with reality
I suppose one could argue that both are equally real.
monarchwadia··on Self-help gets philosophical
Western philosophy is so depressing. Unnecessarily.
monarchwadia··on You Don't Need Types in Ruby
And this is why I don't use Ruby.
monarchwadia··on Testing a compiler-driven full-stack web framework
on the other hand, it opens up the opportunity to build a language that is extremely easy to use with LLMs. I suspect a lot of issues in LLM usage comes from the fact that coding languages are built for humans.
monarchwadia··on Category Theory Illustrated – Natural Transformations
For me.. It's a very useful mental model for thinking about architecture & logic
monarchwadia··on Run TypeScript code without worrying about configuration
I do love tsx.
monarchwadia··on Longform text has become iconic — almost like an emoji
Full text:

I've noticed a fundamental shift in how I engage with longform text — both in how I use it and how I perceive its purpose.

Longform content used to be something you navigated linearly, even when skimming. It was rich with meaning and nuance — each piece a territory to be explored and inhabited. Reading was a slow burn, a cognitive journey. It required attention, presence, patience.

But now, longform has become iconic — almost like an emoji. I treat it less as a continuous thread to follow, and more as a symbolic object. I copy and paste it across contexts, often without reading it deeply. When I do read, it's only to confirm that it’s the right kind of text — then I hand it off to an LLM-powered app like ChatGPT.

Longform is interactive now. The LargeLanguageModels is a responsive medium, giving tactile feedback with every tweak. Now I don't treat text as a finished work, but as raw material — tone, structure, rhythm, vibes — that I shape and reshape until it feels right. Longform is clay and LLMs are the wheel that lets me mould it.

This shift marks a new cultural paradigm. Why read the book when the LLM can summarize it? Why write a letter when the model can draft it for you? Why manually build a coherent thought when the system can scaffold it in seconds?

The LLM collapses the boundary between form and meaning. Text, as a medium, becomes secondary — even optional. Whether it’s a paragraph, a bullet list, a table, or a poem, the surface format is interchangeable. What matters now is the semantic payload — the idea behind the words. In that sense, the psychology and capability of the LLM become part of the medium itself. Text is no longer the sole conduit for thought — it’s just one of many containers.

And in this way, we begin to inch toward something that feels more telepathic. Writing becomes less about precisely articulating your ideas, and more about transmitting a series of semantic impulses. The model does the rendering. The wheel spins. You mold. The sentence is no longer the unit of meaning — the semantic gesture is.

It’s neither good nor bad. Just different. The ground is unmistakably shifting. I almost titled this page "Writing Longform Is Now Hot. Reading Longform Is Now Cool." because, in McLuhanesque terms, the poles have reversed. Writing now requires less immersion — it’s high-definition, low-participation. Meanwhile, reading longform, in a world of endless summaries and context-pivoting, asks for more. It’s become a cold medium.

There’s a joke: “My boss used ChatGPT to write an email to me. I summarized it and wrote a response using ChatGPT. He summarized my reply and read that.” People say: "See? Humans are now just intermediaries for LLMs to talk to themselves."

But that’s not quite right.

It’s not that we’re conduits for the machines. It’s that the machines let us bypass the noise of language — and get closer to pure semantic truth. What we’re really doing is offloading the form of communication so we can focus on the content of it.

And that, I suspect, is only the beginning.

Soon, OpenAI, Anthropic, and others will lean into this realization — if they haven’t already — and build tools that let us pivot, summarize, and remix content while preserving its semantic core. We'll get closer and closer to an interface for meaning itself. Language will become translucent. Interpretation will become seamless.

It’s a common trope to say humans are becoming telepathic. But transformer models are perhaps the first real step in that direction. As they evolve, converting raw impulses — even internal thoughtforms — into structured communication will become less of a challenge and more of a given.

Eventually, we’ll realize that text, audio, and video are just skins — just surfaces — wrapped around the same thing: semantic meaning. And once we can capture and convey that directly, we’ll look back and see that this shift wasn’t about losing language, but about transcending it.

monarchwadia··on Ask HN: What cool skill or project interests you, but feels out of reach?
For me, it was a skill issue.Most people learn it when very young. Just repeated practice helped... and someone close to me coached me on things that seemed common sense to others, but were counterintuitive to me. But over time, my neurons rewired themselves. I'm fairly good at small talk now. People dont believe me when I say I couldn't even order pizza over the phone at one point.
monarchwadia··on My mental model of setf was wrong
Am also similarly bummed :)
monarchwadia··on RouteLLM: A framework for serving and evaluating LLM routers
I think a lot of people are just interested in hitting the LLM without any bells or whistles, from Typescript. A low level connector lib would come in handy, yeah? https://github.com/monarchwadia/ragged
monarchwadia··on Why we no longer use LangChain for building our AI agents
I'm the author of Ragged, a lightweight connector that makes it easy to connect to and work wth language models. Think about it like an ORM for LLMs --- a unified interface designed to make it easy to work with LLMs. Just wanted to plug my framework in case people are looking for an alternative to building their own connector components.

https://monarchwadia.medium.com/use-openai-in-your-javascrip...

monarchwadia··on The Microsoft Excel superstars throw down in Vegas
Haven't inspected the DOM (am on phone) but I'm guessing each cell is an individual div, and each section is a multicolumn flex layout.
monarchwadia··on Software Engineering is Still a Very New Profession
Author here. It's very easy for us to be blinded by our pride. Yes, we've made a lot of progress in very little time. But we have a lot to learn, and a cross-disciplinary approach to development will help us all learn from other professionals. There's a lot to be said for generational experience.
Page 1 of 2Next →