πŸ“• Node [[2020 02 21 tools for home cooking]]
πŸ“„ 2020-02-21-tools-for-home-cooking.md by @bmann

I am supremely annoyed that Drupal or WordPress can’t easily be self-hosted by average users: the amount of experience and maintenance required to keep an entire LAMP stack running β€” and more importantly, secure! β€” means that you have to pay someone else to host it for you. I consider this to be a failure on my part: I poured a lot of energy into the Drupal code and community so that people could self-host, and self-publish, and blogging and groups and communities arose out of this. And now we’re back to needing to pay someone, probably at least $10-$20 per month, just to keep the lights on.

We’ve been writing LAMP stack applications for 30 years or so. Linux (operating system), Apache (web server), MySQL (database), and PHP/Python/Perl (application code). Some of the initials have changed (NodeJS, Ruby on Rails), but the pattern remains the same: care and feeding from operating system to web server.

I wrote an article called The New Hack Stack in 2012. In it, I advocated for Platforms-as-a-Service (PaaS). The provider takes care of maintaining the operating system and the web server, provides plugins for many different add-ons including databases, and then you’re left only needing to maintain or update application code.

My particular favourite in this category is Heroku. In my general quest to not have to maintain operating systems or web servers, I’ve spent a lot of time hacking on open source applications so they can be one-click deployed to Heroku.

I have to give up on some of them: these applications are not designed in such a way that it is easy to deploy them to Heroku. They are designed such that step one is "login to your Linux server, mess around with the operating system, and configure your web server". Perhaps OK for another developer, but why are they designing them this way, to not make it easy for "users" to deploy?!?

I didn’t know it at the time, but the design pattern of the 12 Factor App had just been authored in 2011, by the Heroku founders.

Not so coincidentally, many of the members of the original Heroku team are doing very interesting things at industrial research lab @inkandswitch, including writing last year about Local first software that goes all the way to insisting that software should work for users locally, under their control.

I can see these new shifts beginning to happen. We can build tools for home cooking. But we have to design them that way from the beginning.

Loading pushes...

Rendering context...