Haven’t seen RTFM casually dropped in conversation online in… um… a while…
You’ve been hanging out on the intartoobz at least as long as I have. Circa the paleolithic era, or so…
Haven’t seen RTFM casually dropped in conversation online in… um… a while…
You’ve been hanging out on the intartoobz at least as long as I have. Circa the paleolithic era, or so…
As part of a much larger project that was all-in on Java to begin with, I’ve used Tomcat to serve pages and PDFs/office doc formats rendered based on a postgres backend and FreeMarker templates.
For these purposes, you don’t want that level of complexity (or Java) but the general premise and template libs should be available in nearly any sane web programming language.
It’s amazing how many companies rely on a crazy amount of FOSS libs, etc.
In the relatively recent past, a boss who I had software PMd for across numerous years had the unmitigated gall to ask me for a list of licenses for “all the software we used.”
I literally laughed in his face, explained open source and the rabbit hole such a question goes down, and he just couldn’t (wouldn’t) get it.
Unfortunately, the biz side of the house doesn’t like “yeah, it’s all legal, but fuck you if you think I’m documenting every piece of code in every library in a ten plus year old code base, allllllll the way down.”
Have made numerous mockups for devs, as a PM, that way.
When you have one style sheet for users and admins, you get creative.
At the time, building it wasn’t my problem. Explaining what needed to be built was, and the devs in question were not native speakers of same language I was.
Show, not tell, works quite well IFF you recognize immediately when it’s needed.
Copy the thing you want from where it is, paste it where it needs to be, and tweak the (easily recognisable by any human, cmon) verbiage.
I’m not a particularly visual person, so dev tools was quite useful for that. “${foreach} state, ${foreach} county, ${foreach} postal code,” here is the expected UI both expanded and not, beats hell out of trying to spec out what amounts to the better part of an RFC, especially when I am not the one actually writing the code and also not the one who came up with the straight up crazy schema.
Schema created years ago, and there’s only money to add this UI to replace an UPDATE WHERE that the boss decided he didn’t like because he didn’t “get it” and couldn’t personally do it if ever needed (literally no world where it would be needed, and boss didn’t understand the geo that made the whole thing necessary, but…. That’s life.)
(Edit: created, not ‘creates’, and FreeMarker is brutal. Things that binary work/do not work belong in code, not templates. Templates should be as tolerant as is sane given a use case. Boss wouldn’t know HTML or a variable if I whacked him over the head with a variable (length walking staff))
Not aware of a FOSS 1:1, but that sounds like Ghost or your blogging platform of choice.
Except WP, if self hosting, IMHO. Wordpress == PHP == trouble and risk. I don’t mean to malign WP specifically, but if you’re a noob, you want to avoid exposing PHP to the public internet - especially if there’s any possibility you’ll eventually forget about maintaining and upgrading.
Just too damn easy for some threat actor to come along and exploit a vuln you missed, in the software or the web server or WP.
That said, years of WP taught me that, roughly, you want “pages” linking to “posts” ( == chapters). In theory, the former is a permanent reference and the latter is dynamic to some degree.
In reality, the existence of search engines before enshittification means the two have been conflated frequently.
Pages would often get links in a sidebar or menu. Posts might get buried much farther down, but can also be linked to. They’re often, but not always, time—specific.
“2023 NY [financial product] Guide” (page) might well link to a years-old post about subrogation regarding an attempted BBQ of a random wild animal that went wrong and caused a fire, because it’s a positively classic example of the same that makes a great deal of sense to most people, even if they don’t understand terms like subrogation.
Post/page are distinctions that WP makes, but are abstractly relevant to setting up abs any CMS (which is what you want, Content Management System) so that you (ideally) never have to figure out how or where to link something, its just native. Changing the structure means changing the URLs which is annoying at best, and fraught with peril at worst.
Above 2023 xxxx Guide page, would be https://example.org/NY-Xxxx-Guide and that way you DGAF about the sidebar links, for instance. Link it once, and then you only have to update 50 posts with the year and/or some change in the data, which can be done programmatically in the db as a trivial exercise. “UPDATE page SET title = (SELECT title FROM… WHERE ‘2022’ in title TO ‘2023’;”
Disclaimer: do not run that query as copypasta, it’s meant to illustrate a point and not to exhibit valid SQL on any db (Not least because I intentionally left out at least one closing paren and simplified a bit. I’m a PG guy, and I am 100% certain it would fail as written, but fully expect anything approaching the standard to reject it. But you get the idea, update 50 states at once with a fairly simple query, once a year.
Lots going on here, but go for a modern CMS and repeatable updates, not a legacy product with a bunch of tech debt accumulated. Build it clean, plan it out first, and know whatever DB is backing it fairly well.
Migadu has been amazing. It “”just works,”and there’s no reason to deal with any of the crap that comes with hosting email.
They are affordable, and provide exactly what they claim to provide.
Email is not - IMHO - worth the trouble to self host. There are too many hard stops where email is required as login, etc to bother.
I enjoy hosting and using a variety of services. But I’ve no desire to bother with something I can ship out to folks who live and breathe that particular service.
Gut feeling: Nope.
Further reflection, for those who remember a certain video game in the CGA error (not V, C)
“Here’s tae us, who’s like us, damn few, and they’re all dead. “
It just freakin’ works, which is a real benefit in our world.
Boxes that physically live in my home are mostly Manjaro. They’re also not externally accessible from the internet.
Anything in the cloud I standardize on Debian. Two distros and consistency makes maintenance much easier.
Anything in a container runs whatever it was built on because porting a docker compose file from, say, Alpine to anything else is just not worth the time and energy.
From where I sit, not a lot of reason to do it. It’s a bigger pain to deal with your own CA than to just use LE.
Right there with you on “just works,” as well as the simple fact that the config snippets you need are readily available - either in the repo of whatever you’re putting behind the proxy, or elsewhere on the internet.
I consistently keep in mind that it’s ultimately an RU product, of course. But since it’s open source and changes relatively infrequently, that’s mitigated to a large degree from where I sit.
Nothing against Caddy, though Apache gets heavy quickly from a maintenance standpoint, IMHO. But nginx has been my go to for many, many years per the above. It drops into oddball environments without having to rip and tear existing systems out by the roots, and it doesn’t care what’s behind it.
Ages ago, I had a Tomcat app that happened to be supported indirectly by an embedded Jetty (?) app that didn’t properly support SSL certs in a sane way on its own.
That was just fine to nginx and certbot, the little-but-important Jetty app just lived off to the side and functionally didn’t matter because with nginx and certbot, nothing else gave a crap - including the browser clients and the arcane build system that depended on that random Jetty app.