Conversation

Everyone's like "oh, run your own website, why don't people just run your own website" an then self-hosting a website turns out to be a miserable, grueling, thankless, neverending grind with the occasional risk of something really dangerous happening and it's your fault

14
3
1

Despite it being perhaps professionally embarrassing, I would like to tell you why my personal website has been offline for 1 month. It is because I upgraded from an old Ubuntu LTS to a new Ubuntu LTS. When this happened, the version of PHP upgraded. This meant that the php7.4.conf file in /etc/apache2/mods-enabled— a symlink to php7.4.conf in mods-available— died, because it was replaced with a php8.1.conf. But the symlink was not renamed. No other apache mod works this way. So, no PHP.

3
3
0

Now, my website still does not work! PHP is running again, but my circa-2010 wordpress theme is now causing apache to crash, with the message:

Fatal error: Array and string offset access syntax with curly braces is no longer supported

PHP, you have one job in my life— exactly one— and that is to run the website I installed on you in 2007. You have literally *changed the language out from under me*. You are not doing your job.

1
0
0

This is the line of code that is failing.

uc = ( strlen($uc[0]) == 3 ) ? $uc[0]{0}.$uc[0]{0}.$uc[0]{1}.$uc[0]{1}.$uc[0]{2}.$uc[0]{2} : $uc[0];

This is from a fifteen-year-old wordpress theme. Honestly, I don't know what it means. Since I don't know what it means, I don't know why it's wrong, and that means I don't know how to fix it. I guess I'm going to have to learn enough PHP to make this compatible with PHP 8.

7
0
0

A problem I have in my life is that the amount of constant upkeep I have to do just to keep my WordPress website serving pages is so great it means I don't have enough time to replace WordPress with something that isn't fucking awful

4
0
0

@mcc Gah.... Why the hell did they write it like that when substr() is right the fuck there.

1
0
0

@socketwench If I were allowed to do it with curly braces instead of substr, I would do it, as it produces cleaner, clearer code.

1
0
0

@socketwench If I replace the curly braces with square braces, do you expect it would work?

1
0
0

@mcc Nah, not professionally embarrassing. Nobody can know everything.

1
0
0

@mcc The array accessor doesn't work for strings. The syntax was also repurposed in the parser for other things. WP code always surprises me with how low the quality can get.

1
0
0

@socketwench I have not written PHP since the Obama administration. I am looking at some code which, for reasons I do not know, is accessing the 0th element of (something) using curly braces. Do you agree with the following statement?

- If it is an array, and I replace the curly braces with square braces, it will work and be safe.
- If it is a string, I need to replace it with a call to the substr() function.

1
0
0

@mcc I think it's saying

If length of string is 3, double up each letter
(Like abc becomes aabbcc)
Else, use string unaltered

0
0
0

@mcc people used to joke about being so busy putting out fires they didn't have time to call the fire department. Feels apropos.

1
3
0

@mcc oh, so its like renting vs owning a house then

0
0
0

@mcc The 0th element is not an array. It's a string, so you can't use square brackets. You have to use substr(), but the entire line looks janky as hell to me and I'm wondering what in the hell it is. It smells like exploit code to me.

If there's a repo, I can take a look at it. If you're comfortable sharing the DB, I can try to upgrade it to 8.1 (which is also EOL). No direct access needed, dumps are fine.

1
0
0

@mcc isn't that for converting hex codes for color? like it would convert say #123 or whatever to #112233

1
0
0

@mcc so basically whomever made the WP theme did this for the CSS to make it consistent I guess.

1
0
0

@rozodru okay. but browsers will just accept the three-letter version?

0
0
0

@mcc you should opted for a static site blog like HUGO, no backend like databases nor php. Simple flat text files yet the site looks as it were a CMS

1
0
0

@technologist Generally speaking these options didn't exist in their modern form in 2005-2007 when I was setting this domain up. One downside of the SSGs is you can't easily have a comments section

2
0
0

@mcc This is exactly why I don't use Nextcloud anymore. It's also why I am "Dockerpilled" and am considering living on a farm instead

0
0
0

UPDATE: Just now I linked a page on my site to a friend to let her know, oh, that post on ym blog you wanted to link, it's back up now.

The act of linking the page on Mastodon— given the number of people who follow both me and my friend— seems to have resulted in a "hug of death" that took my entire website offline.

What the fucking point is having a fucking personal website if the act of linking the website from your social feed takes the site down? Why would I have it if not to link it

4
0
0

This also means it's time to play my least favorite of the many, many WordPress minigames: "Did the fucking cache plugin stop fucking working for no reason again?"

2
0
0

"I have a website, but it only exists when no one's looking at it"

4
1
1
@mcc on behalf of the computertouchers of the world i would like to apologize for the fact that software that exists and is also good is widely considered to be too radical of a concept
1
0
0

@mei the thing is there may not be *good* software, but there is *better* software and *worse* software, and i happen to have installed the worse software, because the better software hadn't been written yet, and now i've got this database of comments in mysql format i have to figure out how to migrate if i move to anything else

1
0
0
@mcc yeah. i genuinely wouldn't know what the better software is, though...
1
0
0

@mei I have some other sites based on SSGs (pelican, eleventy) and I'm *extremely* happy with them. But those don't support comments…

0
0
0
I haven't even looked at my website configuration in months. No clue what I'd have to grind on it. Or what could happen that's my fault. Could you be more specific?
1
0
0

@cy Periodically I am required to update either WordPress or Ubuntu to get new security patches. Every time i update either WordPress or Ubuntu, the entire website goes down with some kind of bizarre critical issue. Sometimes the outage lasts a week or more as the problem and fix is always something totally unexpected and unique.

I run other websites that aren't based on WordPress. They aren't like this.

2
0
0
Jeez, yeah I don't touch WordPress, or Ubuntu for that matter. My website's just static generated HTML with a uh... program(s) I wrote. Or just a thing for sharing files.
0
0
0

@mcc could always ditch the frameworks and go back to static HTML.

You could still have templates to generate content, push to stie via SFTP and let it run. Almost no upkeep or vulns. Just stay away from any JavaScript.

1
1
0

THERE'S A DEAD LINK ON THE FRONT OF MY SITE BECAUSE LUDUM DARE PULLED ALL THE OLD CONTENT, BUT I CAN'T EDIT IT BECAUSE WORDPRESS REMOVED THE ABILITY TO EDIT YOUR POSTS EXCEPT THROUGH A "BLOCK EDITOR", AND IT WON'T BE ABLE TO EDIT THE FRONT PAGE BECAUSE THE FRONT PAGE ISN'T WRITTEN IN "BLOCKS" IT'S WRITTEN IN HTML.

Phenomenal!! After tons of work fixing WordPress my reward is pages I can't edit, and which serve content, but only as long as I don't link on Mastodon, and the Unicode is all …y

7
1
1

@Walker Okay so what do I do with my 18 years of blog posts? Delete them?

2
0
0

@onelson "We can't stop for gas -- we're already late!"

0
0
0

@Walker I run two SSG based sites, but this site is not SSG based, because it predates literally any of the popular SSG engines.

1
0
0

@mcc there are apps that will convert dynamic WordPress sites to static HTML. Not sure of the names, but I know they exist.

1
1
0

Maybe I'll edit my blog posts by issuing fucking mysql commands directly into the command prompt

1
1
0

@Walker I have been researching this problem for literally ten years and have not yet found one that can handle comments.

1
0
0

@mcc oh... hmm... sorry, it might take more work to export the db to a static page.

You are right, not a simple problem to solve.

0
1
0

@mcc There's a plugin to get the old editor back. Classic Editor or something.

But yeah, this hosed a couple of my sites at work. Definitely going to be considering other options next time I need a CMS.

1
0
0

@Thad yeah, i'm in the process of installing it.

0
0
0

@mcc I was gonna suggest moving to something like pikapods so you don't have to manage your own WP install. I run a barely looked at Ghost install on there.

But... seeing as you got the hug of death, there's no way your site would be ok on pikapods either AAAAAA

0
0
0

@mcc Technology has stopped increasing people's quality of life since ~2005, and is now decreasing it instead, exhibit #142857

1
1
1

@ska i think your timeline is off because wordpress was only something you got if you set up a website between 2005 and 2012 and everything that came after it is less terrifying

0
0
0

@mcc There's a classic editor addon you can get. Wordpress is unusable without it.

1
0
0

@dalias i am in the process of attempting to install it but i decided to update the whole install while i was poking in there.

0
0
0

@mcc I post a link here, over the next 10 minutes, 600+ fediverse instances request a page preview through WP-REST. I have a caching plugin for REST calls now, but even then I had to put short-circuit code on my application firewall that checks for a cached page and just sends it before WP even starts. this has taken the load factor from 80+ to 10-15.

1
1
0

@alan I'm supposed to have a caching solution that works exactly like this, but it somehow didn't prevent mastodon from taking down my blog earlier today, so now i'm really worried.

1
0
0

@mcc at least it's not using variable variables (this is a real phpism)

1
0
0

@mcc My primary mode of failure was running out of database connections, so my front end looks for a reasonable cache file on disk, serves that up, and exits. Still if this keeps up, I'm going to be looking at a VPS with an allocation of 4 CPUs.

I've mentioned the need for some kind of global fedi-cache for this sort of thing, but nobody sees it as a problem... yet. The more the network grows though, the more of a problem it's going to be.

1
1
0

@alan Yeah. WP-Supercache did that, but WP-Supercache simply stopped working one day and I'm not sure if the replacement can do disk-only caching, actually…

1
0
0

@mcc Oof. Dealing with crap like that with WordPress is what drove me to static site generators. I lost a bunch of functionality compared to a WordPress-hosted site but regained some sanity.

I don’t post often anymore so have even given up on running the code that converts markdown to HTML and now just edit the generated HTML directly if I want to change something.

Living that 1990s style internet life again.

1
0
0

@mdreid Yeah. All my *new* sites have been SSGs, and they're great. But *this* site is still locked inside a WordPress database, and my occasional urges to find an SSG converter get held back cuz it *would* be nice to have comments, if I ever posted.

I miss Cohost.

0
0
0

@mcc I found that WP Super Cache did fine with page requests, but nothing for REST requests, so I added a plugin for that. But it goes to the DB to check if there's a current cache, which does not help, so I look for the file and if it exists, I serve it.

1
1
0

@mcc WordPress is so bad. I'm considering shutting down my wordpress site and moving to plain HTML in neocities

1
0
0

@mcc @technologist When I wrote my own SSG (after spending an equivalent amount of time bashing my head against Hugo) I punted on comments.

Now, if someone wants to leave a comment, there's an "email me" link they can click on. Several people have used it!

(I might at some point build an ssg-friendly comment system but... not today, satan.)

1
0
0

@varx @technologist comment system via email with a queue for the blog owner to approve incoming comments

1
0
0

@mcc @technologist Yep, it's an issue. I used to use Disqus on my static blog, but opted to just ditch comments altogether.

There are some indieweb folks who've implemented a fediverse way of doing blog comments, but I don't know the details at this time.

1
0
0

@kboyd @mcc

If you dont mind I found that Chris Titus makes his blog on HUGO and the comments are handled with Github, take a read where he gives a brief explanation about it
https://christitus.com/how-i-setup-my-website/

1
0
0

@technologist @kboyd I'm very curious about the comments element here so I'll be reading this

0
0
0

@mcc @technologist I have been *extremely* tempted to build that, yes! My mail client even has a mechanism to run a shell command when a message matches a pattern.

But I was actually thinking of a separate server that would host the comments, and the static site would have JS to fetch and render the comments in an "unmoderated" section. Then, my laptop would also have a script that move the comments from the server into the actual static site. Maybe too complicated, though.

1
0
0

@varx @mcc @technologist argh now you’ve got me thinking of a static site with comments but only when the author is online, as evidenced by being connected to a webrtc channel over which the comment is delivered from the commenter’s browser to the author’s browser for approval and appending to the static site or denying and appending to the dev null. I will not. No. But I’d chuckle if I saw it in the wild and then I’d chat with sysop.

1
0
0

@mcc The problem with self-hosting your own website is everyone forgets the "...but whatever you do, don't use PHP!" part ;)

I'm mostly joking, but of all the stacks I've worked with, PHP definitely brought the most foot-guns and WordPress was a landmine disguised as a welcome mat.

You have my sympathy.

1
0
0

@soviut definitely whatever you do, don't use PHP.

0
0
0

Alan Langford 🇨🇦🧤🧊摏

@nyquildotorg
My instance seems to only load them when I click in the post, which seems like a reasonable compromise. The server can handle the load if it's spread out over a wider interval.
@mcc

0
1
0

@mcc I think the people like me who have enough background knowledge for it to be fun and easy to do with the free tools are the ones saying this.

0
0
0

@mcc

i think that running your own web site is a form of hazing. everyone who's done it tries to sucker someone else in so that they suffer like you did. ;)

0
1
0

@mcc Oh hello, fellow WordPress struggle person! Yeah, the whole "can't edit pages if they're not using a block editor" thing is maddening. In a bout of youthful enthusiasm I decided to develop my own WordPress theme because I want a blog that looks and works EXACTLY as I want it, and the experience has been... revealing.

WordPress seems to work in one of two ways: Either use their block editing stuff and accept that your stuff looks kinda mid, or do your own thing and DESPAIR.

1
0
0

@mcc I remember one time I mentioned mastodon hug of death and someone argued with me that it can’t possibly be real and/or everyone must be running their website on cheap VPSs which is their fault. Like yeah, Jonald, we’ll all get right on paying enterprise prices for enterprise services for our personal hobby sites, or maybe we can have a group think about how to mitigate hug of death, hmmm.

1
1
0

@mcc It's a chore. Never again.

0
0
0

@mcc I not only run my own website, I wrote my own web server. I just *really* like that grind/risk stuff.

0
0
0

@mcc Your whole situation with WordPress sounds rough. It really should have a better upgrade path. I've only recently had experience hosing WordPress (at work), and I hate it as much as I expected to.
My personal site is made with a dead simple simple shell script that converts markdown to HTML via pandoc. I'm never more thankful I made that choice when I read stories like this.
Good luck with your site recovery!

1
0
0

@mcc I've been running my website for uhh *checks notes* 12 years and GOD it hurts

0
0
0

@mcc @cy using docker containers has solved this for my sites and apps. Encapsulated environments that share only the kernel to keep file systems and os updates decoupled.

1
0
0

@shaadra I am strongly considering just jumping to classicpress as a first step.

1
0
0

@0xabad1dea @mcc I confess as someone who runs a static site and has experienced the hug of death a few times, it *is* somewhat shocking what a small amount of traffic can destroy a Wordpress. but I have to assume 99% of wordpress users are in roughly Andi's situation or will be soon as their install slowly rots, even if they aren't literally there today

3
0
0

@glyph @0xabad1dea I used to use "wp-supercache" which can resist the hug of death. Then one day it silently turned itself off after a security update, so for about a year linking the site from social media would kill it. Then I fixed it, but then last year wp-supercache suddenly stopped working, and I had to remove it or the site would not serve pages. Now I use cachify which (I learned yesterday) cannot survive the hug of death.

1
0
0

@0xabad1dea @mcc most of those in my particular orbit have recognized that "fix your install" is pure victim-blaming and it continues to be baffling that the broader mastodon audience can't seem to get it

1
0
0

@glyph @0xabad1dea @mcc we had to explain the fedi hug-of-death thing to our funders once, that wasn't fun

our site damn well stayed up, but it threw off the metrics...........

1
0
0

@ireneista @glyph @0xabad1dea @mcc
One thing strikes me as odd in retrospect is that back when this was called The Slashdot Effect, as far as I remember there wasn't a culture of blaming websites for falling over when they got slashdotted? Maybe I just didn't notice or something. But my perception was that people were kind of more enthusiastic about the fact that their big nerd forum was so big and powerful and they didn't throw blame around so much.

1
0
0

@0x2ba22e11 @ireneista @glyph @0xabad1dea So what's very humorous is that the "slashdot effect" was *more* the server host's fault, as the "effect" with the slashdot effect was your site being taken offline by organic user traffic. The "hug of death" is just a thing where the fediverse will DDOS your site in a highly inorganic access pattern even if not one human clicks the actual link.

2
0
0

@mcc sounds like that might solve your editing problem!

0
0
0

@mcc yeah. Checks out with every experience I’ve had with WP.
Last week I was helping a friend: she needed two logos side by side in a footer. The only way elementor allowed this was with a gallery, but that added some style specific to it that was impossible to override through elementor’s UI. In the end we had to add some custom css, flagging all rules as !important.
This isn’t the first time she and I had to go through stuff like this, and we often wonder if it wouldn’t be quicker for me to rebuild the whole thing statically.

1
0
0

@bovaz I would dearly love to rebuild the whole thing statically, but what stops me every time is (1) can I get my comments exported into the static copy? (2) do I really want to give up the commenting facility?

0
0
0

@garyritchie @cy 1. A docker container will not protect you from the software inside the container (e.g., WordPress) being badly written. My strong sense is that WordPress version updates are disruptive in ways that updates to other CMSes are not. WordPress version updates are mandatory for security reasons, whether you are containerized or not.

2
0
0

@garyritchie @cy 2. The problem in this case was that PHP upgraded and it broke apache modphp. Docker would indeed prevent me from incidental changes to PHP, Apache, MySQL etc. breaking the site, and I expect be a relatively smoother hosting experience overall. However, imagine that PHP 7.4->8.4 had been a security update. Now either I DON'T update my container and I have an old, insecure version, or I DO and I have the same backcompat problem as I did in non-container world.

2
0
0

@mcc @glyph @0xabad1dea you could try @jwz 's approach: https://www.jwz.org/blog/2022/11/mastodon-stampede/

Embarrassing that it has been this long and the stampeding herd problem has not been solved by mastodon upstream. It's a massive liability for the network 😕

1
0
0
Containers are the worst thing to happen to the open source ecosystem I swear...

CC: @garyritchie@mastodon.social
1
0
0

@mcc “Why don’t people run their own web site?”

Recently I saw someone here feeling a bit overwhelmed, because they wanted to run their own web site, were advised to use Hugo, read about it, checked the docs, and reached the conclusion that they first had to learn git and how to host it on GitHub Pages.

I checked the docs, and there’s nothing about hosting it “normally,” with a web server and FileZilla. Just CLI tools and CI/CD bullshit.

3
0
0

@oscherler In my local fork of Pelican I added an argument to the builder to automatically upload to s3 when you're done. I don't know how many people who hypothetically could run their own websites either know how to use the command line or how to set up s3

0
0
0

@mcc I opened a pull request with some basic but acceptable docs about using Cyberduck, WinSCP, or FileZilla, and hosting it using any hosting provider, but it got closed because I commented that, when I put myself in the shoes of a beginner, the GitHub Pages instructions made me cry blood.

1
0
0
@oscherler @mcc I think part of the problem is that the concept of FTP is becoming lost knowledge... Btw. do providers these days have SCP services exposed (with pubkey auth and whatnot) or is it FTP XOR WebAPI?
0
0
0

@mcc @cy no disagreement here. In my limited experience WP is... needy. Being able to limit the disruptive nature within a container allows some flexibility in upgrade schedules.

0
0
0

@mcc @cy I've not yet had to experience a major.minor security release but I know I can test such a migration in containers -- locally first, if I'm being smart. I've also slowly changed my deployments to be "locked" on a specific version, using :latest has bitten me a few times. Only security updates are automatic on my servers. Outages never last more than a day unless the power goes out 😞

0
0
0

@mcc @0x2ba22e11 @glyph @0xabad1dea yes, absolutely true. the fedi thing is really a very uncaring architectural decision, making everyone else pay the consequences...

of course, it makes sense that the people who made that decision would get defensive about it, and that their fans would repeat the defensive rhetoric constantly. it's just annoying :/

1
0
0

@ireneista @mcc @0x2ba22e11 @glyph @0xabad1dea the thing that we personally find odd about these hug-of-death conversations is that... even crappy servers are capable of serving a huge amount of traffic?

the ball-of-duct-tape shoutbox that we built in a few hours can easily serve 50k+ requests over 20 seconds, and it's effectively single-threaded

we do agree that pushing back against software bloat would be a good thing. not sure about how to improve user-friendliness of everything involved here though

1
0
0

@r @ireneista @mcc @0x2ba22e11 @glyph that's for static and/or cached files. rinkydink blogs need to call out to the database etc on every load

2
1
0

@mcc does reinstalling the classic editor give you access to edit that way?

1
0
0

@0xabad1dea @r @ireneista @0x2ba22e11 @glyph I've written multiple small web applications that can sustain high loads. WordPress appears to fall over if three people load it at the same time. I don't know what the deal is but I think WordPress is the problem. I'd never stand it up if I were standing up a new site today.

But a CMS *feels* like a reasonable thing to want. I could imagine any number of people setting that up without realizing the care and feeding requirements (like I did)

1
0
0

@0xabad1dea @r @mcc @0x2ba22e11 @glyph that, and modern sites often download, like, a hundred megs on every page load, in the form of a javascript bundle or whatever

the reason our site was fine is that we designed it to be small from the outset, but nobody in the past 20 years has learned to do it that way. what used to be common knowledge is now obscure magic.

1
2
0

@0xabad1dea @r @mcc @0x2ba22e11 @glyph if you don't mind us repeating our usual refrain....

stories are the lifeblood of society. if we care about certain development practices, such as static sites and minimizing server-side work, we need to tell the story of what they are and why they're worth treasuring.

1
0
0

@0xabad1dea @r @mcc @0x2ba22e11 @glyph people have forgotten to tell that one, and it's fallen by the wayside. of course, we can always pick it up and start telling it again...

2
0
0

@ireneista @0xabad1dea @r @mcc @0x2ba22e11 @glyph part of the issues is that SSGs and efficiency are things that requires a certain amount of sophistication

you can either use a website builder, or go straight to a custom less-performant option

1
0
0

@kouhai @0xabad1dea @r @mcc @0x2ba22e11 @glyph but that comes down to the fact that the tooling to make it easy is out-of-date and not widely talked about

2
0
0

@ireneista @kouhai @0xabad1dea @mcc @0x2ba22e11 @glyph we'll be quite honest that... we don't really understand how or where people picked up the stories *to use CMSs*!

1
0
0

@r @ireneista @kouhai @0xabad1dea @0x2ba22e11 @glyph CMSes predate SSGs (shtml is older, but the "story" around that is less coherent, it was a templating system and nothing else). HTML is easy enough for a casual to write but complex templates and designs are another matter and CSS/HTML was harder to write in the era standardization was worse. Dynamic features are nice to have. Trackback was a great feature in the blog golden age and comments were a primary driver of community

1
0
0

@r @ireneista @kouhai @0xabad1dea @0x2ba22e11 @glyph Also just try doing a group blog with SSGs. How's that even work? Your backend is a git repo? Miserable.

0
0
0

@ireneista Right. There is certainly no law of nature (or even one of technology) which says that to be easy to work with a web site *must* require megabytes of dependencies for a page to render.

SSGs are a bit technical to use in part because for a lot of the people who use them, that's not really a problem, so there is little impetus to reduce that complexity.

We used to have WYSIWYG tooling that emitted static HTML. We could have that again.

@kouhai @0xabad1dea @r @mcc @0x2ba22e11 @glyph

1
0
0

@mkj @kouhai @0xabad1dea @r @mcc @0x2ba22e11 @glyph our personal site is just hand-written HTML. we went to considerable trouble to make the source easy to read and imitate.

we could have that again, too

1
0
0

@mkj @kouhai @0xabad1dea @r @mcc @0x2ba22e11 @glyph but yeah, we do think it would be really interesting to revisit the Dreamweaver approach in a modern context

1
0
0

@ireneista @mkj @kouhai @0xabad1dea @mcc @0x2ba22e11 @glyph modern in what sense though? at least some of the tools from back in the day *still exist*, including dreamweaver

it doesn't feel like new WYSIWYG tools do anything to solve the "collaboration" issue mentioned in another thread?

1
0
0

@r Take any WYSIWYG HTML editor that emits modern, preferably semantic, HTML. (Some of the WYSIWYG HTML editors of the time were definitely better than others at emitting *reasonable* HTML.) Add integration with source code revision control and you've probably got a workable collaboration toolset right there.

@ireneista @kouhai @0xabad1dea @mcc @0x2ba22e11 @glyph

1
0
0

@mkj @r @kouhai @0xabad1dea @mcc @0x2ba22e11 @glyph right, so, the thing here - the key strategic point that allowed CMSes to take over - is that throwing things directly into git is only workable for people whose primary focus is code.

2
0
0

@ireneista @mkj @r @kouhai @0xabad1dea @0x2ba22e11 @glyph CMSes also, literally, predate git! I've seen build-on-commit CI for CVS/SVN but I'm not sure I've specifically heard of anyone using pre-git VCS tech to drive a commit-to-publish SSG. (SVN would do a better job than git, honestly.)

Simplicity is a technology and it took a while for people to think simple enough to produce the recognizably modern SSG.

2
0
0

@ireneista @0xabad1dea @r @mcc @0x2ba22e11 @glyph (my fedi feed is full of people telling this story over and over practically every day and i've never really selected for it)

1
0
0

@mcc @0xabad1dea @r @ireneista @0x2ba22e11 @glyph there are things you can do, like the wp-supercache plugin (which makes it apache's problem). if you know the tricks, you can serve a surprising amount of wordpress traffic on a cheap machine.

1
0
0

@dysfun I used wp-supercache for many years but about a year ago (after an upgrade…) it abruptly stopped working with an opaque error https://mastodon.social/@mcc/113195976151912873 and never worked again. I'm now using cachify which I thought had fixed things, but the mastodon preview card hug of death brought me down yesterday, so maybe not

0
0
0

@whitequark @0xabad1dea @r @mcc @0x2ba22e11 @glyph there's this interesting reverse-osmosis effect in social situations, where anyone with sufficient visibility becomes surrounded by people like themselves. we leverage it quite consciously in our community-building efforts, but the implication we need to be careful of is that the people around us aren't representative of the general population.

1
0
0

@ireneista @0xabad1dea @r @mcc @0x2ba22e11 @glyph the thing is that i'm not exactly an outspoken advocate of small web

the only website i built from scratch in the last 2 years (not including like, just pushing mdbook output) uses react! for good reasons and without enthusiasm, but still

the main reason i even use static websites is that github hosts them on infra i don't have to keep up

my irc logger hits the database multiple times for every page.

you get the idea

1
0
0

@ireneista @0xabad1dea @r @mcc @0x2ba22e11 @glyph the main reason i resisted (and continue to resist) the encroachment of react and its ilk on my development practices isn't some philosophical stance but rather the fact that it's a pain in the ass to keep up with and it makes me feel stupid to have to keep up with a literal 1000 dependencies where 1 can do. it's completely self-serving

0
0
0

@mcc @mkj @r @kouhai @0xabad1dea @0x2ba22e11 @glyph we would love to know more about newsroom CMSes in the minicomputer era. they for sure existed... we had that talk a while ago about reporters filing from the field via modem; they were filing into something

1
0
0

@ireneista @mcc @mkj @r @kouhai @0xabad1dea @0x2ba22e11 @glyph

I was young when my dad worked at a newspaper during the mini computer era, but I can tell you what little I remember:

He used a DEC VT-220. I assume it was plugged into a VAX, but I don't know that for sure. They had a big traffic light on the wall that showed if the computer was working.

I was too young for the linotype era. The layout people were using Macs.

1
0
0

@ireneista @mcc @mkj @r @kouhai @0xabad1dea @0x2ba22e11 @glyph

When he called in a story from the field, he used a TRS-80 model 100, at 300 baud. He transmitted the file in plain text with a line at the top representing the meta data. The remote end gave absolutely no feedback at all. He had to call someone to make sure they got the story.

2
0
0

@MegaMichelle @mcc @mkj @r @kouhai @0xabad1dea @0x2ba22e11 @glyph nice!!!!! that exact machine has come up in past discussions. that is fascinating that he had to call to confirm it worked!

1
0
0

@ireneista @MegaMichelle @mcc @mkj @r @kouhai @0xabad1dea @0x2ba22e11 @glyph Reminds me of when my parents got their piano tuned (mom was a piano teacher so this was important preventive maintenance).

When he finished up mom would hand him the credit card and he'd call his bank on our landline phone, give them our card number (i forget if it was verbal to a human or DTMF keyed), and make the charge that way.

0
0
0

@ireneista @mcc @mkj @r @kouhai @0xabad1dea @0x2ba22e11 @glyph

Oh! After the TRS-80 model 100, my dad's paper started sending him out with a "Grid" computer! Still talking to the same silent backend. It wasn't the original Grid Compass because it used a 286.

0
0
0

@glyph @0xabad1dea @mcc It's entirely a matter of certain CMS's being so bad. This isn't to blame folks to use them, rather their parties and processes which normalized and pushed them.

Even if 10000 Mastodon instances all requested a page at once, it would make no significant impact on a site where the software isn't doing all sorts of gratuitously wrong stuff to serve a page.

1
0
0

@dalias @glyph @0xabad1dea I've seen forking webservers fall over under spontaneous heavy load just from forking until the RAM runs out, and Apache ships (or shipped for many years?) the forking configuration as the default

1
0
0

@mkj @r @kouhai @0xabad1dea @mcc @0x2ba22e11 @glyph we do personally believe that interacting with version control is a skill everyone would benefit from, but the UX needs to be, like........ not what it is right now. better than that.

1
0
0

@ireneista @mkj @r @kouhai @0xabad1dea @mcc @0x2ba22e11 @glyph hmm, maybe then we should focus on better version control systems, integrable into the tool perhaps, and a bonus point if it can work on top of a git repository? Hmm, maybe something like this tool, what do you think?

https://github.com/jj-vcs/jj

Also, it's written in rust, so...bragging points for the developer I guess? :p

1
0
0

@esoteric_programmer @ireneista @mkj @kouhai @0xabad1dea @mcc @0x2ba22e11 @glyph this is still an extremely code-centric view of version control

as mentioned elsewhere, the types of people who would most benefit from this are people who do not think in terms of code at all

there is also likely not a universal answer to this, as different groups of people probably conceptualize and think about versioning very differently

1
0
0

@r @ireneista @mkj @kouhai @0xabad1dea @mcc @0x2ba22e11 @glyph I mean, I thought the issue people have with git is that they have to do git add and so on, git commit, for every intentional change to their website, same about rebasing and making branches and all that stuff. Isn't that why people don't like git? if those issues didn't exist, or could be made much less problematic with something like this, won't that be enough? I thought that would be enough because html is just text after all, but yeah, I'm probably not seeing through the right lense here as I'm a programmer and used to vcs systems already. How would a good vcs look like in your opinion?

1
0
0

@esoteric_programmer @r @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 @glyph git has, in my opinion, a bad set of verbs presented badly. but even a good command line interface is still a command line interface. I think the ideal VCS for collaboration with non techies would have literally the same interface as Dropbox. Dropbox works. There's no reason for it to look or after any different.

And then maybe you need a second UI for anyone too mobile phone brained to understand a filesystem.

3
0
0

@mcc this makes me want to build a website that only ONE person can ever view at a time, I want it to literally just timeout anyone after a single person is viewing it (until they stop and someone else views it)…. I think that could count as art? lol

1
2
0

@mcc @esoteric_programmer @r @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 there's been a lot of commentary here and it's super hard to filter it all but I should also point out that some of us who are not terminally mobile phone brained do also have mobile phones. I use an SSG and I technically _can_ make updates to my site because it's built with a janky combination of Github Actions and Pelican, and thus Working Copy on iOS can push to it, but gosh do I wish I had a real CMS every time

0
0
0

@mcc @glyph @0xabad1dea Yeah forking a large process like that is a gigabit hidden cost. But even if you imagine 10k connections spread out over 20-30 seconds (likely fewer instances, more spread, in real life) that's a completely inconsequential number of forks.

2
0
0

@dalias @glyph @0xabad1dea I think the hug of death is more like one to five seconds

1
0
0

@mcc @dalias @0xabad1dea the lack of any staggering is really inexcusable at this point. 600 seconds of jitter could probably ~completely fix this problem

0
0
0

@dalias @mcc @0xabad1dea I feel like your choice of the word "consequential" here is not really appropriate, as the real-life number of forks has been shown to literally in fact have consequences. You imagine, or you wish, it were an inconsequential number but that does not accord with reality

1
0
0

@dalias @mcc @0xabad1dea There's a lot that is very frustrating about the various diverging threads that have spawned in this conversation and I have many, many thoughts, but perhaps none quite so frustrating as the fact that this was an observation that I made in 2002 and thought "well gosh I should make a webserver that works a different way that doesn't have this problem" and then I did, and I use it, and it works great, and it doesn't matter because nobody else adopted it

1
0
0

@glyph @dalias @0xabad1dea So on Apache the workaround for the excess forking problem is to setup mpm-worker, which I assume literally follows the same forking strategy as your bespoke server. But I think I don't use this strategy on my WordPress box because WordPress is supposed to have caching plugins that make this unnecessary.

…supposed

1
0
0

@mcc I think it converts a 3-digit hex CSS colour that’s the first element of an array to a six-digit one if needed. I don’t know why it’s using curly braces instead of square brackets. You can replace them with square ones, they do exactly the same thing.

1
0
0

@mcc @dalias @0xabad1dea the whole thing where wordpress doesn't actually work is a huge impediment to using wordpress for this :(

0
0
0

@froge I did once see a website that degraded over time as more people looked at it, like tourists causing actual erosion walking through the old city where the site author lived. Every time someone opened a page it would lighten the color of one of the divs just a bit until nothing was readable

0
0
0

@mcc Does the theme not provide updates?

1
0
0

@mcc @r @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 @glyph from what I remember of dropbox, once you change something, your change is recorded as the final file, and there's no revision history. Was that right, or was there actually a version control system there that I overlooked?

1
0
0

@esoteric_programmer @mcc @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 @glyph there's a way to retrieve previous versions, and there's a "a conflict was detected" warning (no merge though)

with that being said, we haven't used Dropbox (the specific product) in over 10 years? it feels like it faded from relevance once *everybody* jumped on the "it's all in The Cloud™️" bandwagon?

1
0
0

@r @esoteric_programmer @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 @glyph changes are tracked to individual files, but you can't easily rewind the entire repo at once (this also means deleting a file deletes its history).

Lack of merge is less important for art assets, which are generally not mergeable anyways. VCS systems which accommodate artists or video games often have explicit locking systems so that no one tries to edit a file someone else is updating. P4, SCCS have this. Not git

1
0
0

@jonfr600 It was custom made by my friend Alice. I don't know how to contact Alice. I unexpectedly ran into her in person at a trade show in 2018 and that's the only time I've spoken to her in a decade. I didn't pay her so I can't really demand support

1
0
0

@cy @mcc wait, what? How so? I know they have facilitated my propensity to try all the shiny web apps.

1
0
0
They're inefficient, dividing the computer into a bunch of redundant mutually incompatible operating systems, that all need to be maintained and updated separately. They enable programmers to produce trash software that is neither future proof nor backwards compatible, because you can always (cough, only, cough) install it with the container that has all the obscure versions of libraries it depends on. They compound security risks, where every single one of the old, outdated libraries in every container might contain a critical vulnerability. And don't even think about compiling containers from source. If you have 1000 different versions of a given library in 1000 different containers, that takes 1000 times as long to compile. So everyone uses untrusted binaries that they just downloaded from ubuntu.org so surely they're safe and not tampered with, nobody compiles anything, thus nobody uses the source code that makes software open source. And so source code writers are free to make it harder and harder for the average person to compile...

I've had nothing but pain from containers. They're bad for the same reason that javascript is bad: their strategy is to contain untrusted software such that it surely can't possibly do any harm to your system. So you're safe, right??? 🙂 🙂

CC: @mcc@mastodon.social
0
0
0

@r @esoteric_programmer @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 @glyph Yes, where else would they put them? Assets and code are generally inextricable, they form a coherent whole, at least with modern tooling

0
0
0

@r @mcc @esoteric_programmer @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 Yes. And they often use P4 because doing this with Git is still a misery. (Or they use AlienBrain, which is too expensive for me to actually know how it works)

2
0
0

@glyph @r @esoteric_programmer @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 There's a thing called git-lfs and it's fine. It's fine. It's written in this weird way that makes it currently impossible to use with alternate git frontends like JJ or HG though :(

Everyone I've talked to who uses P4 for gamedev seems very happy. There's also an apparently excellent games specific VCS called Plastic, but Unity bought it, so I think nobody's using it for new projects (since everyone hates Unity now)

2
0
0

@r @mcc @esoteric_programmer @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 AlienBrain's solution to the "it's too difficult to implement a generalized merge algorithm for proprietary binary formats, you'd need to write and maintain custom binary plugins for dozens of extremely complex proprietary tools" problem is "okay, sure"

0
0
0

@mcc @r @esoteric_programmer @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 I had some early experiences maintaining a p4 server which made me *quite* dislike it, but it's probably not fair to hold on to a 20-year-old grudge, and yeah, the people who use it seem at worst unbothered by it

1
0
0

@jonfr600 oh. The thread above is from yesterday and the problem is already resolved. Thanks tho

1
0
0

@mcc Sorry, I rushed my answer. They did the same thing *on strings* until PHP 8, that is, access characters by index.

https://www.php.net/manual/en/language.types.string.php#:~:text=Prior+to+PHP+8,same+purpose

1
0
0

@oscherler So I cannot replace the curly braces with square braces?

0
0
0

@glyph @r @esoteric_programmer @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 Nobody I know who likes p4 maintains p4. They just use it. Any workplace that has a budget to pay for p4 is by nature large enough to have A Guy to maintain it. Maybe that guy is you

1
0
0

@mcc @glyph @r @esoteric_programmer @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 fwiw i had an extremely bad, project destroying experience with plastic scm before unity bought it.

1
0
0

@mcc I didn't see it. Since Mastodon makes it very difficult to track discussions.

1
0
0

@mcc @glyph @r @esoteric_programmer @ireneista @mkj @kouhai @0xabad1dea the way you describe this sounds like the version control system of Omelas. 😂

2
0
0

@mcc @esoteric_programmer @r @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 @glyph Or maybe something like the interface of Wikipedia. After all, a wiki is a collaborative, versioned website. It could certainly be improved, but it clearly shows who changed what and when.

2
0
0

@r I used mediawiki as a CMS once and then I discovered how bad its spam mitigations are :(

0
0
0

@bob_zim @esoteric_programmer @r @ireneista @mkj @kouhai @0xabad1dea @0x2ba22e11 @glyph Actually, Git*Hub*, now that they've added the builtin text editor, would make for an entirely acceptable CMS frontend, if they could make it run at GitHub 2018 speeds instead of GitHub 2025 speeds, and if they removed the dizzying, distracting buckshot spray of "feature" "asks" that litter every part of the interface except the thing you wanted to click on (we've learned to ignore these, a writer hasn't)

0
0
0

@mcc I like to call Movable Type the OG SSG. It was popular before Wordpress, written in Perl 😱, rendered the whole site to static pages (Even with comments. Posting a comment did hit the CGI, but that re-rendered the post page, and viewing comments was static,) and could handle a lot of traffic.

When Wordpress came by, it was so easily slashdotted it was not even funny.

(Not saying this to imply you’re wrong, Movable Type was never called an SSG. Just making a funny parallel.)
@Walker

1
0
0

@oscherler @Walker you're making it sound like i want to use movable type, like… *now*. a wordpress-like cms that renders to static html sounds great.

0
0
0

@alan @mcc WP Super Cache author here. Sorry it stopped working. As well as that caching plugin I also use WP Rest Cache. The load on my server goes up every time I get bombarded by fediverse servers (and I post daily) but so far it's behaving. I hope you get your WP troubles sorted!

1
0
0

@donncha Hello… serious question, if I can get my Wordpress copy back into the wp-supercache error state w/current versions, would you be interested in a detailed bug report? It was at MINIMUM doing something where the diagnostic messages needed to be improved (it kept printing messages that were flatly wrong).

Not saying it's your job to fix my blog, just some projects find it useful to get detailed single-incident bug reports and some don't… I have been told I write good bug reports :P

0
0
0

@mcc

That "hug of death" is real; it's sometimes called the Mastodon stampede.

As your post spreads from instance to instance, they all fetch the page to generate a preview of it. Widely-shared stuff can really hammer a site, because it's a huge surge of traffic.

I think there are still discussions going on about whether something needs to change in Mastodon. It's certainly been a known problem for a long time.

0
1
0