Busride-rs

Feb. 14th, 2024 02:42 pm
roadrunnertwice: Dialogue: "Craigslist is killing mothra." (Craigslist is killing Mothra (C&G))

Okay, so I know this is going to shock you, but I've been working on something arcane and impractical.

I'm in a new band called Kuwait Grips

I made a wrapper for normal HTTP-speaking Rust web apps so their traffic can take an extra round trip through a totally different protocol, before being translated back into HTTP for the outside world. Specifically, I plan to serve Axum-based apps via FastCGI, a protocol that went out of fashion in the mid '00s.

This probably sounds dubiously useful, but, man, listen,

Or don't! Contents: historical background and some technical exegesis. )

Anyway, I Did It!

Here's a little 3m demo I recorded when I got my initial proof-of-concept working. If you know anything about deploying a self-hosted app in the 2020s, it will shock and scandalize you.

And, here's the code itself, including a demo project:

I found a FastCGI server library for Rust (I'm SO curious about why the author made this, but yeah it's very precisely what I needed) and put together a server loop that translates between the normal HTTP that an inner app understands and the FastCGI protocol that Apache is willing to accept. As long the binary you build knows how to start up in the weird environment that classic FastCGI provides, you can just install it, drop in an .htaccess file, and wander off to go do something else.

At the moment, it's Axum-specific and has to be built into your app as an alternate server mode. In theory it ought to be possible to make a fully generalized wrapper that can spawn any program as a child process and proxy real-actual HTTP to it, but that's more work than I want to do on this; at the moment, this should work fine for me.

So... Why??

Here's another interesting point about apps that run in this mode: anyone else can install them on their shared hosting just as easily, if I give them a build and a README.

In the last few years, there's been a medium amount of big talk about how we need to re-wild the interwebs; bring back some spirit of curiosity and generosity and chaos that we thought we perceived in the '90s and the '00s.

In a recent thread that rolled across my Mastodon feed (wish I could remember and link it, but it took a while to percolate before I took it to heart), someone pointed out the short version of what I described above — that hosting has gotten better for pros at the expense of amateurs — and then said: if we think there's a connection between self-hosting and re-wilding the web, then we're going to have to reverse that, because getting out of a tech-dominated world of walled gardens is going to require empowering the type of normal users who could kinda-sorta keep a Wordpress installation afloat back in the day but who have no hope of, say, sysadmining a Mastodon instance.

I've been thinking about that in the background, a bit.

roadrunnertwice: Dialogue: "Craigslist is killing mothra." (Craigslist is killing Mothra (C&G))
@Skud: not sure how i feel about http://app.net. i'm all for paid services to avoid values mismatch b/w users/advertisers/service operators
@Skud: but the sites i know that do that best (eg. @dreamwidth, @Pinboard) also have a very human/community feel that i don't see here
@nfagerlund: @Skud I feel that. W/ DW, I was immediately like “seems legit; I can tell who these folk are & how big it can get.” A.n is like Diaspora.
@nfagerlund: @Skud …by which I mean their story is critically incomplete in some way I can’t yet put my finger on.
@Skud: @nfagerlund yeah, i get that feeling too. which is not necessarily an impediment to their platform taking off...
@Skud: @nfagerlund ... but does mean that my gut feeling about them is a bit nervous

Yeah, so [twitter.com profile] skud was doubting on app.net, and I am doubting on it too, and I don't have much more to say about said putative service at the moment. But I'm posting because I think I finally DID put my finger on what was wrong with Diaspora! And I am very proud of myself for it.

So Diaspora was meant to be Facebook without all the evil, right? Here's the problem with that: Facebook without the evil is NOTHING.

Because what the hell even IS Facebook? The answer changes significantly every nine or ten months. I joined it in January 2005 because it was a visual address book to my college, and I needed that when I was looking for a new sublet. Then it turned into a walled-garden email replacement. Then it turned into Flickr for spring break photos, then it finally managed to replace the .plan file, then it was also Livejournal for about a month, then it tried to be Craigslist for a summer, then it was Twitter with less focus, then it was a platform for shitty little games that you pay real money in order to not have to play. Now it's just sort of an undifferentiated mishmash, although it seems to be turning into Tumblr lately, mostly to accomodate George Takei.

Obviously there is no common thread. Facebook's soul is not in what it does for you or allows you to do. The product itself, the THING that Diaspora tried to copy, is frankly irrelevant. The one thing that has always made Facebook Facebook is that fucking practically everybody you know is on the goddamn thing, and they got there because Facebook was persistently and craftily evil.

The original short-lived college-scope restrictions on the thing were brilliant, because they made people let their guards down, join up, and put their personal info in. That made it easier for peoples' friends in other colleges to find them, which anchored them further in. All the effort to make it difficult to add people to your normal email address book meant that you were signing in on a regular basis to get/send messages, and would be more likely to see new friend requests and other activity, which would keep you interested. Let's not even get into that Zynga Skinner box. Etc. etc. etc. The only reason you're on Facebook now is because they were evil, and although you'd leave if your friends left, they're all still on there because of the evil. The fact that everyone is there makes Facebook a horrible place most of the time, but it also makes it indispensable, and the fact that you can't properly export your information makes it non-disposable and non-replaceable.

I don't think the people behind Diaspora ever understood any of that. They thought people were on Facebook because Facebook was a good app, and people actually wanted some atrocity that was kind of like Tumblr/Flickr/Twitter/LJ/toilet-graffiti/emotionally-abusive-Gameboy except worse. That's manifestly not the case. People want everyone they know in one place, and the only way to give them that is to be evil. Which makes it impossible to replace Facebook with any less-evil alternative -- whatever eventually kills Facebook will win by being either MORE evil, or more SOPHISTICATEDLY evil. And since Diaspora was unable to compete with Facebook, it found itself competing with all the non-Facebook focussed-purpose services like Twitter and Flickr and DW and Tumblr, and it since it was built to be worse than all of them, you probably still aren't using it. Of course, you're probably not using Dreamwidth, either. You probably ARE using Twitter, and I'll be interested to hear app.net's plan for dealing with the fact that 80% of Twitter joined Twitter because all their friends were on Twitter.

Yes, this is depressing and annoying. Whatever, let me have my moment of explanatory triumph.
roadrunnertwice: Me looking up at the camera, wearing big headphones and a striped shirt. (Default)
First of all, Sedumphotos.net is now "all the way live." The pictures are all uploaded, I'm finishing up putting out the minorest of minor technical fires, and Dad is doing the hard work of writing the descriptions for all the plants. So anyway, if you're looking for high-res photos of the family Crassulaceae, you know the time and you know the place. (Seriously, there is some stunning stuff in there. Check it out.)

Secondly... the newly cut-loose SeaMonkey saw release recently. If you're in the mood for a retro trip, download it, and be reminded all over again why Firefox was such a great idea in the first place. (And yet... I can't bring myself to hate it. Nostalgia's a bizatch.)
roadrunnertwice: Me looking up at the camera, wearing big headphones and a striped shirt. (Default)
Can't keep me down, nosir. Every nasty-little-issue I've found on every browser I have access to has been dealt with straightaway. That includes IE's transparency brain-damage, Safari's fuglification of certain imageframes, and IE's major malfunction with the cute little Javascript FAQ link (seriously, what IS it with that browser?!).

I'm pretty sure that Gecko >1.4 won't let me down, but I'd like to humbly ask anyone who has IE <6, Safari 1.x, any reasonably current version of Opera, and/or anything more exotic to please kick the tires for a while. Much obliged, amigos.

EDIT: Aaaaand a tofu sandwich with black beer cures the rest of my ills.
roadrunnertwice: Me looking up at the camera, wearing big headphones and a striped shirt. (Default)
GODDAMMIT! Stupid fucking Internet Exploder! I finally booted up sedumphotos.net in there to take a look at it, and everything looks like total and complete ass! IT CAN'T UNDERSTAND PNG TRANSPARENCY! My logo and all my imageframes are totally shot! It's the newest frickin' version! What is wrong with you monkeys up in Redmond! ARG!

I feel like I'm in Neuromancer: It's like someone just inserted a chip containing a veteran web-designer's hate for IE directly into my brain.

Anyway, there's nothing for it; the only fix is going to be hardcoding the background color directly into the png files and saving new versions of them. We'll call that priority ten.

EDIT: Oh man, I had the coolest dream last night! It's not interesting to talk about, but it was nice. I just wanted you all to know. There was a pretty girl? Okay, bye.