Malleable software = solid bases and custom code

57 pointsposted 5 hours ago
by tablet

17 Comments

vivzkestrel

9 minutes ago

- this is one of the reasons i am building a semi deterministic production grade express backend generator https://ibb.co/dz6gQgB

- the idea is that config is deterministic at the lowest layers and managed by template engines

- business logic is powered by AI at the highest level

- the harness is the config, the project structure

- there are some insanely unique things about this project

- for starters, the dependencies auto update themselves so that you get to scaffold the latest version of eslint, biome, pg or whatever you want at all times

- all the commits are granular so that you can reorder, rebase, combine them in any order and even branch off and remove commits meaning the final project will have 500 commits instead of a 1 commit with 40000 changes like how 99% of the github templates do

- i am focused on a vertical instead of a broad set of solutions for all sorts of frameworks like pick the ones used by 80% of the people

- fully customizable semi deterministic production grade app is generated with tests run inside docker and you get a working project with 500 things set up right at point 0 before it even goes to the AI agent

boomlinde

7 minutes ago

Sidenote, but what's with the ref=mdubakov.me query parameter attached to every link? Are there benefits of this over the "Referer" HTTP header other than trying to skirt around my configuration choice not to share my browsing history?

tablet

5 minutes ago

No idea, this is how Ghost handles links I guess

gabrielcsapo

13 minutes ago

This is awesome, I have been working on some home software for my family and have a similar homegrown setup! Very cool to see this and ideas in this direction.

mickael-kerjean

3 hours ago

That's the path I've been on with my Dropbox alternative [1]. The 80% is the fast core that focus on file management, the remaining 20% is coming via plugins which implement one of core interfaces so you can handle your own storage, authorisation, authentication, custom apps to handle file types, ... Fun fact, there is 10x more code in the various plugins [2] catering to everything than the core code that was supposed to be the 80%, unsurprisingly everyone needed a different 20%. Plus I find it cool that the guy who needed a gobd compliant log system that have ton of properties to keep auditors happy enforcing hash chained signed with rfc3161 does not contribute to making the system shittier for everyone else

[1] https://github.com/mickael-kerjean/filestash https://github.com/mickael-kerjean/fdrive

[2] https://www.filestash.app/docs/plugin

genatron_ai

2 hours ago

Having that working base that agents can then customize from is a great approach because you get some of the brownfield benefits where there are established patterns that it can continue to follow. This is often much faster and predictable compared to starting from scratch, where even though agentic development is fast you need to have a true dev mindset and think about everything.

jasim

an hour ago

It is so hard to predict the future, of all things. But I think there is another approach which is already tried and tested - frameworks.

I think frameworks would mutate to be agentic - they'll come with skills and documentation targeted to LLM agents, and they'll have far more breadth than anything we've seen, a certain lack of restraint, and will sacrifice composability and orthogonality because they are no longer useful for agents.

The framework I'm building - plug: https://sapporta.com - brings in a set of UI choices (datagrids for every table) and a set of API choices (everything exposed to agents) which is not typical to classical frameworks. If you're building database applications, it contains most of the things that a typical NoCode tool would have, but with complete code and the ability for agents to build upon it.

I think Sapporta is one of the first frameworks with this point of view, but it has only been a few months since Opus 4.8, and I think in the coming months we'll see a lot more vertically integrated horizontal frameworks (the solid base) that can get us malleable software with custom code.

jdcaron

2 hours ago

I am currently building this vision with AliaJS (platform engineering tool), where the solid base for the platform will be ERPNext, I agree with the author, we can be flexible on solid bases, it just needs to be more open (not SAP) so we can iterate faster.

jasim

an hour ago

ERPNext (Frappe) is absolutely brilliant. My only complaint was that it is in Python and is a bit heavy weight (setup etc) for quick prototyping.

They call a table definition - that defines a table at both the SQL level, and at the domain level - a DocType (see: https://docs.frappe.io/framework/user/en/basics/doctypes). When you declare a DocType you immediately get a working table, foreign keys transformed into combo boxes for lookups, forms, and a whole set of conveniences that are common to ERP-like applications.

Before seeing ERPNext I would've thought that such a declarative approach would fail to satisfy the critical remaining 20% of most requirements, but they've built around it in a way that has enabled them to ship a complex ERP system that thousands of businesses of different shapes use. I think it is one of those gems that are not in popular conscience among software engineers, compared to regular frameworks (but very much so in business-ERP adjacent circles), and is worth learning from.

marcosdumay

an hour ago

So... The prediction is exactly what people have been doing since the turn of the century?

I put high odds on this one being correct.

brabel

3 hours ago

Why should we believe someone who was so extraordinarily wrong about no-code before?

codetiger

3 hours ago

He is not hiding that he was wrong. So am fine with that, as my bet is based on reading many of such predictions and take a conclusion for myself. I take these as are opinions backed with some observations.

blue_pants

an hour ago

It doesn't matter if someone predicted some event, if they did it for the wrong reasons. Opposite is true as well, it matters more the way one reaches the conclusion, than the conclusion itself.

Of course there are pragmatic exceptions to this, but still

tablet

3 hours ago

Good question. Nobody expected ~Spanish Inquisition~ AI

pavo-etc

3 hours ago

Pi is a great example of this. I've used it as the basis for a fleet of agents I'm running on my server, but rather than using the Pi TUI I run it in headless-mode and have extended it to use XMPP as its communication layer so I can use any device with the same sessions, and so agents can talk to each other.

The Pi harness is built to be extended like this, and it's a joy to work with.