HNHacker News
TopNewBestAskShowJobs

rafaelRiv

17 karma · joined July 18, 2026

submissionscomments
rafaelRiv··on AI is forcing us to pay off 40 years of technical debt
> Duplicating code was traditionally "bad" because it increased maintenance costs, risked divergence, and added cognitive overhead for human developers.

Until proven wrong by coding agents, this is still the case even for agents. Not sure why you are assuming this doesn't apply for the machine

rafaelRiv··on Antimony: CAD Software Evolved from Lisp Machines and Not Drafting Tables (2015)
I'll add to your list this one https://hackage.haskell.org/package/waterfall-cad . I highly recommend it
rafaelRiv··on Mathematics has changed. Let's act like it
So that is the way you want to live ? Just being mechanical ? I don't see the point of solving those problems if it mean that our day to day life is shit. The point of tech is to make our life easier, AI doesn't. It just want to replace us as it is today
rafaelRiv··on The Agent SDK
I still do diagrams. Not UML specifically, but using mermaid.js. It is a great way to think about the requirements before coding
rafaelRiv··on Software may be getting worse, but it used to be horrible
> When was the last time you ..or anyone.. reviewed the assembly language or binary output of your compiler?

not even a week ago. But generally people prefer to burn millions on compute instead of seeing the output of the compiler and see how they can optimise their code

rafaelRiv··on Software may be getting worse, but it used to be horrible
> Not many people are such cowboys today.

Now-day, it is the llm that write tests. Nobody look at it and verify if it is meaningful. If the test pass, ship it.

It still cowboys days

rafaelRiv··on Nietzschian Debugger
It is super laughable when you read his github bio. I had a good laugh not ngl
rafaelRiv··on Nietzschian Debugger
Not only that. Citing "What doesn't kill you make me stronger" in this context is very ironic as Nietzsche was talking for himself. He took that from Ralph Waldo Emerson while stripping the moral aspect of it
rafaelRiv··on Why is AI generated language so hard to understand?
it is not because it work that it is good. It still need to be maintained and this is a huge deal
rafaelRiv··on Today, we hacked what we'd set out to hack: the iPhone
That is magic thinking and even religious
rafaelRiv··on LLMs are making formal software verification feasible at a much larger scale
That is why I prefer correct by construction instead of relying on proofs
rafaelRiv··on LLMs are making formal software verification feasible at a much larger scale
This is my experience with llm and all dependent type language like idris2
rafaelRiv··on LLMs are making formal software verification feasible at a much larger scale
I do a lot of software dev with idris2 in my free time and this is the problem. Everytime I try llms with formal verification, llms tend to try to remove all type check and cheat. That is why I am soooo sceptical of people using lean will llm too .
rafaelRiv··on Code is clay now
> we coder-stonemasons spent our days meticulously carving code-stone into finished pieces

In what world this was ever true ? a software or a lib is pretty much never finished

rafaelRiv··on The Decoherence Trap
It can create very bad one. Wake me up when it will make subtensial progress on Cubical Type Theory
rafaelRiv··on The Decoherence Trap
Anything I don't agree is pasted from an LLM
rafaelRiv··on The Decoherence Trap
> For example, I predicted about 15 years ago that AI would decisively beat humans at math, because math is formalizable. Most people didn't believe it until this summer, and some don't believe it still.

That is a laughable quote for anyone that know the history of type theory and the foundational crisis that happened at the beginning of the last century. Math as a whole can't be formalizable but we can create various formalist for different math purpose just like we have so much programming languages.

And the study and the creation of those formalisms is not something automatisable.

rafaelRiv··on It's still ok to enjoy programming
> NFTs literally were mass psychosis

LOL as if AI was a not a mass psychosis ... "AI have 10% of kill us all"

rafaelRiv··on Types of types: Haskell's Kind system
See the curry howard isomorphism. Formal logic can be seen as a programming language. In fact, functional programming language are in part based on that correspondence. And some like idris2 and lean4 take it to another level.
rafaelRiv··on AI Proved the Quasi-Riemann Hypothesis. What Happens Now?
The fact that a piece of software compiles does not necessarily mean that it is correct. The same applies to Lean; in fact, some type theorists are not particularly satisfied with the current state of Lean or the direction in which it is heading.
rafaelRiv··on Types of types: Haskell's Kind system
> I also think that with agents the programming language fun is over, as we migrate to formalisms to drive them

This seems like a contradiction to me. Programming languages are formalisms. What kind of formalisms are you referring to ?

rafaelRiv··on I'm Fucking Done with Slop
Not sure why you think this guy has built his entire personality around software. He is arguing against slop in free software. Being political about it is pretty normal I would say
rafaelRiv··on Yet another way to invoke functions without parentheses
This has been proposed but never adopted : https://github.com/tc39/proposal-pipeline-operator
rafaelRiv··on Neural networks are clean
Why do you care about a cultist ?
rafaelRiv··on Terence Tao: Math 2.0 [pdf]
Doesn't help that the current AI come from a cult it self (rationalist and effective altruist). I wouldn't be so much opposed if it was introduced to me in something useful in the first place instead of the shit show it was for software eng in the tokens maxing era.
rafaelRiv··on Bend 2 and the Vibe-Coding Trap
> As a software developer we should fear chasing "better" solutions, that path always lead to procrastination

What a bad take. This is a discipline problem. You can chase both and be careful with the new solution.

rafaelRiv··on The Dataflow Model Revisited
> If you're meticulously designing and engineering it really well from the start, sure functional languages represent it well without leaving much room for misinterpretation and thus bugs. But no one does that.

I find functional programming better at iterative development. You don't have to go full on on types but you always have the choice to make it good in the future. And from my experience the final refactoring is just better and let you built way more on top than imperative languages.

The reason imperative programming is so common is because of network effect. Unix won over lisp machines

rafaelRiv··on AI Agents and the Refactoring That Never Happens
Before llms : All tests + some type theory things After llms : Just slop without tests
rafaelRiv··on AI Agents and the Refactoring That Never Happens
> In the only scenario where that could actually be true you wouldn't have coworkers creating unmaintainable code with LLMs now.

Bingo. My highly qualified team was disbanded because the company went bankrupt. Apparently, the CEO had embezzled a large sum of money. That team was disbanded just before LLMs caught up.

The one that create unmaintainable code is a new team and the reason they are able to create such a large amount of unmaintainable code is because of llms.

> I've never met a single developer saying refactors are easy. It's always a minefield.

Pleasure to meet to you. You now know one. In the land of functional programming, refactoring is quite enjoyable and quite easy.

rafaelRiv··on Programming is Art
> programming is primarily problem solving

It is more than that in the sense that I have a lot of obligations to understanding the code. The reason is that if I don't understand the code, I will not be able to answer questions that are asked to me. And those answers are generally very important for the future of the business.

Code is art in the sense that I need to arrange it such as I can actually make it maintainable, readable, easy to add new features and make it that I can answers questions very easily.

LLMs remove this ability because it doesn't let me the time to absorb the change as such that I can guaranties those 4 requirements. It just concentrate on adding new features without making sure it doesn't break the other 3 requirements.

To guaranties those for 4 points, I need a mental map of the code which llm generally remove. The more we use llms, the less of a mental map you have of the code

Page 1 of 2Next →