Very sorry about this one, guys.
For reasons that I'm currently unsure of, the database decided to eat itself. I'm giving it something like 40/40/20 "hacker", "postgres bug", or "host glitch".
The site currently has two different backup methods. The manual backup triggers whenever I do a site update; the last site update was on 1/31. The automatic backup is supposed to be daily, and I check it once in a while to make sure it's working. It's been working literally ever since before the main Motte site was launched . . . and it broke on 2/4. Good timing, thanks, system.
In theory, the quality-contribution system captured all reported quality contributions during this time. I'll try to retrieve those. Any opinions on whether I should just go ahead and repost them, or whether I should send them to the person so they can repost them?
I do have a dump of a bunch of text snippets that are all that was left of the database. If you remember some phrases you used I might be able to retrieve parts of lost posts. That said, someone's tried this with a few posts and got 0/2, so absolutely no promises here. Feel free to ask though! If you want to take data recovery more seriously, make a copy of your browser cache, which can then be pored over to find people's posts. I'm not totally sure how important this is, but I bet at least a few people will be sad to lose effortposts they made.
I've fixed the backup issue and set up better monitoring so it will yell at me if it fails again. I've also temporarily increased backup frequency to hourly, just in case there's some serious stability issue right now that I'm not aware of. The good news is that this shouldn't happen again, at least with as much lost data. But that doesn't really fix this one.
Apologies again.
This too shall pass.
This is essentially a followup to the last meta post.
Big scary updates are done and seem to be fine, but our volunteers have been going absolutely mad with minor updates. Which is great! We have a bunch of people contributing tons of valuable tweaks and fixes and improvements to the codebase, thank you, I literally could not do this without you.
I'm just gonna repost this again because it worked the last time:
Are you a software developer? Do you want to help? We can pretty much always use people who want to get their hands dirty with our ridiculous list of stuff to work on. The codebase is in Python, and while I'm not gonna claim it's the cleanest thing ever, it's also not the worst and we are absolutely up for refactoring and improvements. Hop over to our discord server and join in. (This is also a good place to report issues, especially if part of the issue is "I can't make comments anymore.")
Are you somewhat experienced in Python but have never worked on a big codebase? Come help anyway! We'll point you at some easy stuff.
Are you not experienced in Python whatsoever? We can always use testers, to be honest, and if you want to learn Python, go do a tutorial, once you know the basics, come join us and work on stuff.
(if you're experienced in, like, any other language, you'll have no trouble)
Rules Changes
Thank you for discussion on the rule proposals! Here's what we ended up with.
Courtesy: Keep to a single account
We strongly discourage people from making alt accounts without good reason, and in the absence of a good reason, we consider alt accounts to be bannable on sight. Alt accounts are almost exclusively used for mod evasion purposes and very rarely used for any purpose that helps the community; it makes moderation more difficult and it makes conversation more difficult.
If you do feel you need an alt account (most commonly, if you're a well-established user who wants to post something that can't be linked to their public persona), please ask the mods.
If you don't want the mods to know about it either, be aware that there's a good chance we'll find out about it anyway.
Content: Post on multiple subjects
We occasionally have trouble with people who turn into single-issue posters, posting and commenting only on a single subject. We'd like to discourage this. If you find yourself posting constantly on a single subject, please make an effort to post on other subjects as well.
This doesn't mean you need to write megaposts! This can be as simple as going to the Friday Fun Thread once in a while and posting a few paragraphs about whatever video game you last played. But this community is fundamentally for people, and if a poster is acting more like a propaganda-bot than a person, we're going to start looking at them suspiciously.
This rule is going to be applied with delicacy; if I can find not-low-effort comments about three different subjects within your last two weeks or two pages of comments, you're likely fine.
These are still prototypes, if you have objections they can still be changed, without objections they'll get added to the Official Rules probably in a week or so.
Private Profiles
Again, thank you for discussion! I refined the planned system a bit (original plans: "remove private profiles".) The current system is that private profiles are available to established users or on request. We're leaving "established" intentionally vague, but it's basically a measure of how much you've been contributing. If the system considers you established, the checkbox will be in your settings; if the system doesn't consider you established, it'll be there, but grayed out and have a link to contact us.
(This is using roughly the same standard as our filtering system, but with much bigger numbers.)
We've also grandfathered in everyone who had a private profile, even those who don't meet the bar. This was definitely a carefully-considered decision! It has nothing to do with me not wanting to write the SQL query to revert profiles.
That said, if you're a newbie account that gets yourself banned, don't be surprised if a mod also resets your private flag.
Long Comments
A while back there was a meta post where I proposed relaxing the comment character limit. I came up with a proposal, people on the dev discord convinced me to relax it even further, then it just sorta sat there and moldered in the Issues queue for a bit because it wasn't the priority. Then I wrote an effortpost and said "shucks, this is over the limit! Okay, I'm going to just go and implement that long-comment request now so I can post my megapost for the good of the community. Aaaaand also so I can post my megapost."
Then one of our volunteers, without any knowledge whatsoever of the above decision, sniped it out from under me and implemented it, like, two days before I was going to sit down and do it.
Anyway, it's in now! The new limit is . . .
. . . a little more complicated.
The new limit is 50,000 characters if you don't want to be filtered. Are you okay with your comment being filtered as if you were a new user? Well, good news, the new limit is 500,000 characters. Yes, this is literally enough to post an entire novel, albeit a short one, as long as you're OK with the mods seeing it before the rest of the userbase does.
This is experimental; if it gets abused, don't be surprised if this gets changed.
This is now a general-purpose feedback post. Let me know how things are going!
There's a pretty big set of changes coming down the pipe. These shouldn't have much impact on users - it's all internal bookkeeping - but there's a lot of it, and if there's bugs, it might cause issues. Let me know if anything weird happens! Weird, in this case, is probably "comments you can see that you think you shouldn't be able to", or "comments you can't see that you think you should be able to", or anything else strange that goes on. As an example, at one point in development reply notifications stopped working. So keep your eyes out for that. I'm probably pushing this in a day or two, I just wanted to warn people first.
EDIT: PUSH COMPLETE, let me know if anything goes wrong
Are you a software developer? Do you want to help? We can pretty much always use people who want to get their hands dirty with our ridiculous list of stuff to work on. The codebase is in Python, and while I'm not gonna claim it's the cleanest thing ever, it's also not the worst and we are absolutely up for refactoring and improvements. Hop over to our discord server and join in. (This is also a good place to report issues, especially if part of the issue is "I can't make comments anymore.")
Are you somewhat experienced in Python but have never worked on a big codebase? Come help anyway! We'll point you at some easy stuff.
Are you not experienced in Python whatsoever? We can always use testers, to be honest, and if you want to learn Python, go do a tutorial, once you know the basics, come join us and work on stuff.
(if you're experienced in, like, any other language, you'll have no trouble)
Alt Accounts: Let's talk about 'em. We are consistently having trouble with people making alt accounts to avoid bans, which is against the rules, or making alt accounts to respond to their own stuff, which isn't technically against the rules, and so forth. I'm considering a general note in the rules that alt accounts are strongly discouraged, but if you feel the need for an alt, contact us; we're probably okay with it if there's a good reason. (Example: We've had a few people ask to make effortposts that aren't associated with their main account for various reasons. We're fine with this.) If you want to avoid talking to us about it, it probably isn't a good reason.
Feedback wanted, though! Let me know what you think - this is not set in stone.
Single-Issue Posting: Similarly, we're having trouble with people who want to post about one specific topic. "But wait, Zorba, why is that a problem" well, check out the Foundation:
The purpose of this community is to be a working discussion ground for people who may hold dramatically different beliefs. It is to be a place for people to examine the beliefs of others as well as their own beliefs; it is to be a place where strange or abnormal opinions and ideas can be generated and discussed fairly, with consideration and insight instead of kneejerk responses.
If someone's posting about one subject, repeatedly, over and over, then it isn't really a discussion that's being had, it's prosletyzing. I acknowledge there's some value lost in removing this kind of behavior, but I think there's a lot of value lost in having it; letting the community be dominated by this behavior seems to lead to Bad Outcomes.
Feedback wanted, though! Let me know what you think - this is also not set in stone.
Private Profiles: When we picked up the codebase, it included functionality for private profiles, which prevents users from seeing your profile. I probably would have removed this if I'd had a lot more development time, but I didn't. So it exists.
I'm thinking of removing it anyway, though. I'm not sure if it provides significant benefit; I think there's a good argument that anything posted on the site is, in some sense, fair game to be looked over.
On the other hand . . . removing it certainly does encourage ad hominem arguments, doesn't it? Ad hominems are kind of useless and crappy and poison discourse. We don't want people to be arguing about the other person's previously-stated beliefs all the time, we want people to be responding to recent comments, in general.
But on the gripping hand . . .
. . . well, I just went to get a list of the ten most prolific users with hidden profiles. One of them has a few quality contributions! (Thanks!) Two of them are neutral. And seven of them have repeated antagonism, with many of those getting banned or permabanned.
If there's a tool mostly used by people who are fucking with the community, maybe that's a good argument for removing the tool.
On the, uh, other gripping hand, keep in mind that private profiles don't even work against the admins. We can see right through them (accompanied by a note that says "this profile is private"). So this feature change isn't for the sake of us, it's for the sake of you. Is that worth it? I dunno.
Feedback wanted! Again!
The Volunteer System is actually working and doing useful stuff at this point. It doesn't yet have write access, so to speak, all it's doing is providing info to the mods. But it's providing useful info. Fun fact: some of our absolute most reliable and trustworthy volunteers don't comment. In some cases "much", in some cases "at all". Keep it up, lurkers! This is useful! I seriously encourage everyone to click that banner once a day and spend a few minutes at it. Or even just bookmark the page and mash the bookmark once in a while - I've personally got it on my bookmark bar.
The big refactor mentioned at the top is actually for the sake of improving the volunteer system, this is part of what will let it turn into write access and let us solve stuff like filtered-comments-in-limbo, while taking a lot of load off the mods' backs and maybe even making our moderation more consistent. As a sort of ironic counterpart to this, it also means that the bar might show up less often.
At some point I want to set up better incentives for long-time volunteers, but that takes a lot of code effort. Asking people to volunteer more often doesn't, so that's what I'm doing.
(Feedback wanted on this also.)
I want your feedback on things, as if that wasn't clear. These threads basically behave like a big metadiscussion thread, so . . . what's your thoughts on this whole adventure? How's it going? Want some tweaks? Found a bug? Let me know! I don't promise to agree but I promise to listen.
The Wednesday Wellness threads are meant to encourage users to ask for and provide advice and motivation to improve their lives. It isn't intended as a 'containment thread' and any content which could go here could instead be posted in its own thread. You could post:
-
Requests for advice and / or encouragement. On basically any topic and for any scale of problem.
-
Updates to let us know how you are doing. This provides valuable feedback on past advice / encouragement and will hopefully make people feel a little more motivated to follow through. If you want to be reminded to post your update, see the post titled 'update reminders', below.
-
Advice. This can be in response to a request for advice or just something that you think could be generally useful for many people here.
-
Encouragement. Probably best directed at specific users, but if you feel like just encouraging people in general I don't think anyone is going to object. I don't think I really need to say this, but just to be clear; encouragement should have a generally positive tone and not shame people (if people feel that shame might be an effective tool for motivating people, please discuss this so we can form a group consensus on how to use it rather than just trying it).
I've got a new feature almost ready to go. I'm pretty stoked about this one because I've been wanting it for quite literally years, but it was never possible on Reddit.
Hey, guess what? We're not on Reddit!
But before I continue, I want to temper expectations. This is a prototype of a first revision of an experimental feature. It is not going to look impressive; it is not going to be impressive. There's a lot of work left to do.
The feature is currently live on our perpetually-running dev site. Log in, click any thread, and go look below the Comment Preview. You'll see a quokka in a suit asking you for help. (His name is Quincy.) Click the cute li'l guy and you'll be asked to rate three comments. Do so, and click Submit. Thank you! Your reward is another picture of Quincy and a sense of satisfaction.
So, uh . . . . what?
Okay, lemme explain.
This is the first part of a feature that I'm calling Volunteering. Once in a while, the site is going to prompt you to help out, and if you volunteer, it'll give you a few minutes of work to do. Right now this is going to be "read some comments and say if they're good or not". Later this might include stuff like "compare two comments and tell me if one of them is better", or "read a comment, then try to come up with a catchy headline for it".
These are intentionally small, and they're entirely optional. You can ignore it altogether if you like.
I'm hoping these can end up being the backbone of a new improved moderation system.
Isn't this just voting, but fancy?
You'd think so! But there are critical differences.
First, you do not choose the things to judge. The system chooses the things it wants you to judge. You are not presented with thousands of comments and asked to vote on the ones you think are important, no, you are given (at the moment) three specific comments and information is requested of you.
This means that I don't need to worry about disproportionate votecount on popular comments. Nor do I need to worry about any kind of vote-brigading, or people deciding to downvote everything that a user has posted. The system gets only the feedback it asks for. This is a pull system; the system pulls information from the userbase in exactly the quantities it wants instead of the userbase shoving possibly-unwanted information at the scoring systems.
Second, you can be only as influential as the system lets you. On the dev site you can volunteer as often as you want for testing purposes, but on the live site, you're going to - for now - be limited to once every 20 hours. I'll probably change this a lot, but nevertheless, if the system decides you've contributed enough, it'll thank you kindly and then cut you off. Do you want to spend all day volunteering in order to influence the community deeply? Too bad! Not allowed.
But this goes deeper than it sounds. Part of having the system prompt you is that not all prompts will be the system attempting to get actionable info from you. Some of the prompts will be the system trying to compare your choices against a reference, and the system will then use this comparison to figure out how much to trust your decisions.
That reference, of course, is the mods.
I've previously referred to this as the Megaphone system or the Amplifier system. One of our devs called it a "force multiplier". I think this gets across the core of what I'm aiming for. The goal here is not majority-rules, it's not fully decentralized moderation. It's finding people who generally agree with the mods and then quietly harnessing them to handle the easy moderation cases.
(We have a lot of easy moderation cases.)
There's another important point here. The mods are only human and we make mistakes. My hope is that we can get enough volunteer help to provide significantly more individual decisions than the mods can, and my hope is that the combined efforts of several people who don't quite agree with the mods in all cases is still going to be more reliable than any single mod. In fact, it wouldn't surprise me if there's people out there who are better at judging posts than our mods are! It's just hard to find you; some of you may not even comment, and you're pretty undiscoverable right now, but you will certainly get a chance to volunteer!
Also, this will hopefully improve turnaround time a lot. I'm tired of filtered comments taking hours to get approved! I'm tired of really bad comments sticking around for half a day! There are many people constantly commenting and voting, and if I can get a few minutes of help from people now and then, we can handle those rapidly instead of having to wait for a mod to be around.
Wow! You get all of this, with absolutely no downsides or concerns!
Well, hold on.
The big concern here is that virtually nobody has ever done this before. The closest model I have is Slashdot's metamoderation system. Besides that, I'm flying blind.
I also have to make sure this isn't exploitable. The worst-case scenario is people being able to use this to let specific bad comments through. I really want to avoid that, and I've got ideas on how to avoid it, but it's going to take work on my part to sort out the details.
And there's probably issues that I'm not even thinking of. Again: flying blind. If you think of issues, bring 'em up; if you see issues, definitely bring 'em up.
Oh man! So, all this stuff is going to be running real soon, right?
Nope.
First I need some data to work off. Full disclosure: all the current system does is collect data, then ignore it.
But it is collecting data, and as soon as I've got some data, I'll be working on the next segment.
This is the first step towards having a platform that's actually better-moderated than the current brand of highly-centralized sites. I don't know if it'll work, but I think it will.
Please go test it out on the dev site, report issues, and when it shows up here (probably in a few days) click the button roughly daily and spend a few minutes on it. Your time will not be wasted.
Blocking
Right now this site's block feature works much the same as Reddit's. But I want to change that, because it sucks.
My current proposal is:
-
If you block someone, you will no longer see their comments, receive PMs from them, or be notified if they reply to your comments.
-
This does not stop them from seeing your comments, nor does it stop them from replying to your comments.
-
If they attempt to reply to your comment, it will include the note "This user has blocked you. You are still welcome to reply, but your replies will be held to a stricter standard of civility."
-
This note is accurate and we will do so.
That's the entire proposed feature. Feedback welcome!
User Flair and Usernames
We're going to start cracking down a bit on hyperpartisan or antagonistic user flair. Basically, if we'd hit you with a warning for putting it in a comment, we'll hit you with a warning for putting it in your flair. If anyone has a really good reason for us to not do this, now's the time to mention it!
Same goes for usernames. On this site, you can actually change your display username, and we're just leaving that in place. So we'll tell you to change your name if we have to. Extra for usernames: don't use a misleading or easily-confused username, okay? If it looks like you're masquerading as an existing well-known user, just stop it.
I'm currently assuming that both of these fall under our existing ruleset and don't need new rules applied. If you disagree strongly, let me know.
The Usual Stuff
Give feedback! Tell me how you're doing? Do you have questions? Do you have comments? This is the place for them!
Are you a coder and want to help out? We have a lot of work to do - come join the dev discord.
This weekly roundup thread is intended for all culture war posts. 'Culture war' is vaguely defined, but it basically means controversial issues that fall along set tribal lines. Arguments over culture war issues generate a lot of heat and little light, and few deeply entrenched people ever change their minds. This thread is for voicing opinions and analyzing the state of the discussion while trying to optimize for light over heat.
Optimistically, we think that engaging with people you disagree with is worth your time, and so is being nice! Pessimistically, there are many dynamics that can lead discussions on Culture War topics to become unproductive. There's a human tendency to divide along tribal lines, praising your ingroup and vilifying your outgroup - and if you think you find it easy to criticize your ingroup, then it may be that your outgroup is not who you think it is. Extremists with opposing positions can feed off each other, highlighting each other's worst points to justify their own angry rhetoric, which becomes in turn a new example of bad behavior for the other side to highlight.
We would like to avoid these negative dynamics. Accordingly, we ask that you do not use this thread for waging the Culture War. Examples of waging the Culture War:
-
Shaming.
-
Attempting to 'build consensus' or enforce ideological conformity.
-
Making sweeping generalizations to vilify a group you dislike.
-
Recruiting for a cause.
-
Posting links that could be summarized as 'Boo outgroup!' Basically, if your content is 'Can you believe what Those People did this week?' then you should either refrain from posting, or do some very patient work to contextualize and/or steel-man the relevant viewpoint.
In general, you should argue to understand, not to win. This thread is not territory to be claimed by one group or another; indeed, the aim is to have many different viewpoints represented here. Thus, we also ask that you follow some guidelines:
-
Speak plainly. Avoid sarcasm and mockery. When disagreeing with someone, state your objections explicitly.
-
Be as precise and charitable as you can. Don't paraphrase unflatteringly.
-
Don't imply that someone said something they did not say, even if you think it follows from what they said.
-
Write like everyone is reading and you want them to be included in the discussion.
On an ad hoc basis, the mods will try to compile a list of the best posts/comments from the previous week, posted in Quality Contribution threads and archived at /r/TheThread. You may nominate a comment for this list by clicking on 'report' at the bottom of the post and typing 'Actually a quality contribution' as the report reason.
Be advised; this thread is not for serious in depth discussion of weighty topics, this thread is not for anything Culture War related. This thread is for Fun. You got jokes? Share 'em. You got silly questions? Ask 'em.
This weekly roundup thread is intended for all culture war posts. 'Culture war' is vaguely defined, but it basically means controversial issues that fall along set tribal lines. Arguments over culture war issues generate a lot of heat and little light, and few deeply entrenched people ever change their minds. This thread is for voicing opinions and analyzing the state of the discussion while trying to optimize for light over heat.
Optimistically, we think that engaging with people you disagree with is worth your time, and so is being nice! Pessimistically, there are many dynamics that can lead discussions on Culture War topics to become unproductive. There's a human tendency to divide along tribal lines, praising your ingroup and vilifying your outgroup - and if you think you find it easy to criticize your ingroup, then it may be that your outgroup is not who you think it is. Extremists with opposing positions can feed off each other, highlighting each other's worst points to justify their own angry rhetoric, which becomes in turn a new example of bad behavior for the other side to highlight.
We would like to avoid these negative dynamics. Accordingly, we ask that you do not use this thread for waging the Culture War. Examples of waging the Culture War:
-
Shaming.
-
Attempting to 'build consensus' or enforce ideological conformity.
-
Making sweeping generalizations to vilify a group you dislike.
-
Recruiting for a cause.
-
Posting links that could be summarized as 'Boo outgroup!' Basically, if your content is 'Can you believe what Those People did this week?' then you should either refrain from posting, or do some very patient work to contextualize and/or steel-man the relevant viewpoint.
In general, you should argue to understand, not to win. This thread is not territory to be claimed by one group or another; indeed, the aim is to have many different viewpoints represented here. Thus, we also ask that you follow some guidelines:
-
Speak plainly. Avoid sarcasm and mockery. When disagreeing with someone, state your objections explicitly.
-
Be as precise and charitable as you can. Don't paraphrase unflatteringly.
-
Don't imply that someone said something they did not say, even if you think it follows from what they said.
-
Write like everyone is reading and you want them to be included in the discussion.
On an ad hoc basis, the mods will try to compile a list of the best posts/comments from the previous week, posted in Quality Contribution threads and archived at /r/TheThread. You may nominate a comment for this list by clicking on 'report' at the bottom of the post and typing 'Actually a quality contribution' as the report reason.
We have somehow survived another move.
I feel like a broken record here, but, seriously, good job everyone, and thanks. While the moderators of a community are important, the community simply doesn't exist without its members. Y'all came over here and kept on posting, and that's exactly what we needed.
With luck, this is going to be the last move we ever need to make; we have our own domain and servers, we're no longer really existing with any specific other person's permission.
We are, however, not out of the woods.
I mentioned during some of the original Reddit-exodus posts that I had a serious medium-term worry about userbase. We've cut ourselves off from the Reddit pipeline and that means we're in danger of slowly eroding away; people will always leave the community and right now we don't have a good way of getting new users. We wouldn't be the first community to do so! Every community needs an influx of people, and now we need to figure out the right way to manage that.
So I now have a few requests, ordered roughly by how comfortable I am asking it.
First: Send links to people that you think will be interested. If you know someone looking for political discussion, send them a link to the site as a whole; if there's a specific post you think they'll be interested in, link that. Remember that we have The Vault, which has unfortunately gone a bit neglected while I worked on this changeover. Please don't spam anyone - I don't want anyone just posting links to our front page on a hundred subreddits - but if you have a good opportunity, either regarding friends or communities that you're an established member of, take it.
Second: Propose places that might be willing to do a link trade. I'm planning to reach out to a bunch of subreddits shortly and see if they're willing to crosslink, especially places that are serious-political-discussion-adjacent in the hopes that we can draw off that section of their population and both be better off for it. If you have personal connections you can bring it up to them yourself, otherwise just let me know and I'll see what I can do. I expect a low success rate but even a low success rate might be pretty dang valuable.
(And don't limit this to subreddits! There's a number of good communities out there that aren't on the big social sites.)
Third: If you have time, help out. We have a dev server that you can join if you want to work on a huge number of pending issues, and it's thanks to the people on this server that we've had such a constant flow of updates, fixes, and tweaks. If you're less programmery but more editorial, we do have a lot of Vault-related editing that we'd like to get done; this goes faster than you might think. If there's some other skill you have that you think might be valuable, hop on the dev server and send me a message.
And finally, fourth, which is the one that I really hate to ask, but I'm doin' it anyway.
I've set up a Patreon to take donations. If you have spare cash and think this is a worthy destination for it, please chip in.
I'm not sure what this whole "money" thing is going to end up looking like. At the very least this will pay for server costs; any income above that will go into making the site better, in whatever way seems most valuable. I've been thinking about taking out ads in an attempt to pull more users here, for example, and that isn't cheap.
This is going to be very experimental and will probably involve false starts. I'd love to hear suggestions on good ways to spend money on the site - if you have any, let me know - but note that in order to hire programmers we would need a lot of money.
For those who are more crypto-minded, I'm also taking donations via Ethereum (0xa97e126DCEcC7Ea3AF05d252B49c03ae35547dD9) and Bitcoin (bc1qnj0mvg90dfawjq3kxq4wdvcq0ejksgyf2m0xnq). All of these links are on the new (and very primitive) Support page.
I know there's going to be people who think that we left Reddit just so I could cash out. I frankly suspect that even if I just pile all of the results into a giant sack with a dollar sign on it and walk off while cackling evilly, I still won't be making minimum wage, so this would be a terrible plan :V No, I do actually like this community a ton, and want it to keep going, but I can't fund an indefinite amount of stuff on my own. And part of this push is to figure out just how useful this site is to all of you, in order to see what can be justified and what can't be justified.
So there's the ask! If you have connections, use them; if you have time, contribute it; if you have money and want to put it towards this, please provide financial support so I can figure out how to keep the new-user pipeline going.
If you don't, that's cool! Keep on posting and I hope you enjoy your time here.
Finally, this is the new Bugs/Suggestions/Small Comments thread. If you have feedback, post it here! A lot of the stuff in that Pending Issues link up above was submitted by users, and we're getting through it slowly.
This weekly roundup thread is intended for all culture war posts. 'Culture war' is vaguely defined, but it basically means controversial issues that fall along set tribal lines. Arguments over culture war issues generate a lot of heat and little light, and few deeply entrenched people ever change their minds. This thread is for voicing opinions and analyzing the state of the discussion while trying to optimize for light over heat.
Optimistically, we think that engaging with people you disagree with is worth your time, and so is being nice! Pessimistically, there are many dynamics that can lead discussions on Culture War topics to become unproductive. There's a human tendency to divide along tribal lines, praising your ingroup and vilifying your outgroup - and if you think you find it easy to criticize your ingroup, then it may be that your outgroup is not who you think it is. Extremists with opposing positions can feed off each other, highlighting each other's worst points to justify their own angry rhetoric, which becomes in turn a new example of bad behavior for the other side to highlight.
We would like to avoid these negative dynamics. Accordingly, we ask that you do not use this thread for waging the Culture War. Examples of waging the Culture War:
-
Shaming.
-
Attempting to 'build consensus' or enforce ideological conformity.
-
Making sweeping generalizations to vilify a group you dislike.
-
Recruiting for a cause.
-
Posting links that could be summarized as 'Boo outgroup!' Basically, if your content is 'Can you believe what Those People did this week?' then you should either refrain from posting, or do some very patient work to contextualize and/or steel-man the relevant viewpoint.
In general, you should argue to understand, not to win. This thread is not territory to be claimed by one group or another; indeed, the aim is to have many different viewpoints represented here. Thus, we also ask that you follow some guidelines:
-
Speak plainly. Avoid sarcasm and mockery. When disagreeing with someone, state your objections explicitly.
-
Be as precise and charitable as you can. Don't paraphrase unflatteringly.
-
Don't imply that someone said something they did not say, even if you think it follows from what they said.
-
Write like everyone is reading and you want them to be included in the discussion.
On an ad hoc basis, the mods will try to compile a list of the best posts/comments from the previous week, posted in Quality Contribution threads and archived at /r/TheThread. You may nominate a comment for this list by clicking on 'report' at the bottom of the post and typing 'Actually a quality contribution' as the report reason.
Do you have a dumb question that you're kind of embarrassed to ask in the main thread? Is there something you're just not sure about?
This is your opportunity to ask questions. No question too simple or too silly.
Culture war topics are accepted, and proposals for a better intro post are appreciated.
Be advised; this thread is not for serious in depth discussion of weighty topics, this thread is not for anything Culture War related. This thread is for Fun. You got jokes? Share 'em. You got silly questions? Ask 'em.
This weekly roundup thread is intended for all culture war posts. 'Culture war' is vaguely defined, but it basically means controversial issues that fall along set tribal lines. Arguments over culture war issues generate a lot of heat and little light, and few deeply entrenched people ever change their minds. This thread is for voicing opinions and analyzing the state of the discussion while trying to optimize for light over heat.
Optimistically, we think that engaging with people you disagree with is worth your time, and so is being nice! Pessimistically, there are many dynamics that can lead discussions on Culture War topics to become unproductive. There's a human tendency to divide along tribal lines, praising your ingroup and vilifying your outgroup - and if you think you find it easy to criticize your ingroup, then it may be that your outgroup is not who you think it is. Extremists with opposing positions can feed off each other, highlighting each other's worst points to justify their own angry rhetoric, which becomes in turn a new example of bad behavior for the other side to highlight.
We would like to avoid these negative dynamics. Accordingly, we ask that you do not use this thread for waging the Culture War. Examples of waging the Culture War:
-
Shaming.
-
Attempting to 'build consensus' or enforce ideological conformity.
-
Making sweeping generalizations to vilify a group you dislike.
-
Recruiting for a cause.
-
Posting links that could be summarized as 'Boo outgroup!' Basically, if your content is 'Can you believe what Those People did this week?' then you should either refrain from posting, or do some very patient work to contextualize and/or steel-man the relevant viewpoint.
In general, you should argue to understand, not to win. This thread is not territory to be claimed by one group or another; indeed, the aim is to have many different viewpoints represented here. Thus, we also ask that you follow some guidelines:
-
Speak plainly. Avoid sarcasm and mockery. When disagreeing with someone, state your objections explicitly.
-
Be as precise and charitable as you can. Don't paraphrase unflatteringly.
-
Don't imply that someone said something they did not say, even if you think it follows from what they said.
-
Write like everyone is reading and you want them to be included in the discussion.
On an ad hoc basis, the mods will try to compile a list of the best posts/comments from the previous week, posted in Quality Contribution threads and archived at /r/TheThread. You may nominate a comment for this list by clicking on 'report' at the bottom of the post and typing 'Actually a quality contribution' as the report reason.
Do you have a dumb question that you're kind of embarrassed to ask in the main thread? Is there something you're just not sure about?
This is your opportunity to ask questions. No question too simple or too silly.
Culture war topics are accepted, and proposals for a better intro post are appreciated.
The Wednesday Wellness threads are meant to encourage users to ask for and provide advice and motivation to improve their lives. It isn't intended as a 'containment thread' and any content which could go here could instead be posted in its own thread. You could post:
-
Requests for advice and / or encouragement. On basically any topic and for any scale of problem.
-
Updates to let us know how you are doing. This provides valuable feedback on past advice / encouragement and will hopefully make people feel a little more motivated to follow through. If you want to be reminded to post your update, see the post titled 'update reminders', below.
-
Advice. This can be in response to a request for advice or just something that you think could be generally useful for many people here.
-
Encouragement. Probably best directed at specific users, but if you feel like just encouraging people in general I don't think anyone is going to object. I don't think I really need to say this, but just to be clear; encouragement should have a generally positive tone and not shame people (if people feel that shame might be an effective tool for motivating people, please discuss this so we can form a group consensus on how to use it rather than just trying it).
Have you found a problem in the site? Do you want to make a suggestion on improvement? Do you just want to say "hi everyone"? Post it here!
If you'd like to help with development, check out the Github and the dev Discord. We have a practically infinite list of small things that need to be fixed or changed.
I think anyone who's been watching this switchover has noted it hasn't been the smoothest. I'm still kinda decompressing from that and I figured I'd write up why, just so you could all marvel at the ridiculous chain of catastrophes.
So.
We get the site up. People register their accounts. People start almost immediately reporting 429 errors when registering.
429 Too Many Requests is an error that means a user has done too much stuff lately, commonly known as "rate limiting". A lot of the site is rate limited, but it should be rate limited well above what an actual human will do. For example, the account creation is rate-limited at 10 per day per person; if you need more than ten accounts every day then uh maybe you're not behaving quite like we want.
Of course, people weren't making ten accounts per person; rate limiting was broken.
We looked into the rate limiting code. Rdrama runs on a service called Cloudflare, which relays connections and does a bunch of fancy caching and performance optimization and also doesn't provide service if you're farming kiwis. An annoying thing about this kind of a service is that it makes it a little trickier to figure out "who" someone is; Cloudflare includes that information on requests, but it's not in the normal place. The rate limiting code was using the Cloudflare-specific IP info. Problem: We're not on Cloudflare. So that info was just wrong. I took out the Cloudflare-specific stuff and the problem did not get fixed in any way.
Well, Cloudflare does all this fancy optimization (it's called "reverse proxying", please don't ask why), but actually, so do we. The Motte runs on the same server setup as The Vault, and The Vault is specifically designed to be extremely cacheable. We've got our own little similar frontend server doing something identical, and all connections, including Motte connections, go through it. This means we needed to get the IP from our own reverse proxy, using a different technique, which we did, and which also entirely failed to fix the issue.
At this point I tried to disable the rate limiter entirely. The rate limiter refused to disable. We'll get back to this one.
The reason, I guessed, the reverse-proxy IP didn't work is that our reverse proxy is actually behind another reverse proxy. It's reverse proxies all the way down. You may not like it, but this is what peak web development looks like. Anyway, we were getting one layer further up, but we needed to be another layer further up. The hosting service I use does in fact have a switch for enabling this; it's called Proxy Protocol. I turned Proxy Protocol on and the entire site instantly went down. So I flipped it back and the site came back up. Then I did this a few more times just to be sure it wasn't a coincidence. It wasn't.
It turns out that the reverse proxy run by me requires some very specific configuration settings to be compatible with the Proxy Protocol setting. The problem is that I'm running this proxy in sort of a weird way. Most people using this server architecture have, like, an entire devops team. I don't! It's just me. And I don't really know what I'm doing. So cue half an hour of occasional outages as I try something new. It is worth noting that some of the changes I made also broke the site, but I was suspicious that the two changes had to be made together to work at all, so sometimes I'd break the site, then I'd break the site in another way, then I'd sit there for a minute hoping it worked, and it wouldn't, and then I'd revert both changes.
Finally I figured out the magic incantation! The site worked, we got IPs, the rate limiting was functional. The 429 error was forever vanquished! I looked at the site, and checked the perf charts, and noted that we were capping the CPU on the absolute-bottom-barrel server I'd chosen, so I figured, hey, I tried moving servers before as part of a test, this should be fine, let's just fork over an extra $12/mo and boost the server a bunch, and I did this, and the site broke entirely.
I spent another thirty minutes trying to fix it; if anyone noticed the site being entirely down for a while, well, that was me trying to untangle what was wrong. I tried connecting directly to the site from its own computer; it didn't work. I spent twenty minutes analyzing this and eventually realized I was just doing it wrong. Worked fine once I did it wrong. I eventually decided this was a routing issue and had a deep suspicion.
See, Proxy Protocol was set using a switch on the hosting provider's GUI. But that's sketchy as hell - why is it a manual switch? I went back and checked and sure enough it had gotten turned off. So I turned it back on.
Site back up and running.
As near as I can tell, there is a switch on the GUI. But this switch is also overridden by some settings in my configuration. Importantly, it's overridden irregularly; sometimes you'll do something, and it'll say "oh shucks, gotta go check that switch!" Because I hadn't realized this, it went and checked it and dutifully turned it off again.
I think I've fixed that now.
So, what was the deal with rate limiting not turning off?
If you use Kubernetes to run a process, and you tell it you want the latest version of a Docker image, it will download that latest version every time you restart the process.
If you tell it you want a specific labeled version, then it won't. It'll just use whatever it has, even if the label has changed.
So if you changed from "latest" to "dev" and "main" . . . then things just don't update when you think they will, and this change happens silently unless you're aware of what Kubernetes is about to do.
I think I've fixed that now too.
I bet this new server makes things faster, doesn't it?
Nope.
Turned out the CPU usage wasn't even coming from The Motte. It was an Archive Warrior I was running on that just to soak up some extra bandwidth. Apparently it's just stupidly CPU-hungry?
I think I've fixed that also.
And that was my day, more or less.
How's your day going?
(Extra thanks to the various people who were helping out on Discord, incidentally, especially Snakes who fixed a whole bunch of not-quite-as-critical-but-still-pretty-dang-important stuff while I was fighting with the servers.)
(Edit: I forgot to mention that I also spent a few hours trying to unclog an HVAC drain line so it wouldn't flood the house. That doesn't even feel like the same day anymore.)
I'm going to talk about what the Boring Company is doing and why I think it is not only not a terrible idea, but actively a good idea!
Preamble:
This is a complicated idea with a lot of moving parts, both metaphorically and literally. You will have totally reasonable questions! Hopefully they will be answered by the time I reach the end, but keep reading until you get to the end; in written format I can only answer questions one at a time, and your specific question might take longer to get to.
In addition, this is describing the system that I think Elon Musk is working on. He hasn't announced that this is what he's working on - it's guesswork and theorycrafting by me - but there is some evidence to it.
A summary: Elon Musk is attempting to redesign urban and suburban transportation on a grand scale, so thoroughly that the majority of commuters choose to use this system because it's better. This is not a thing you accomplish by building a few tunnels under Las Vegas. The Loop is a prototype of a prototype of a prototype; the beginnings can be seen there, but claiming his plans are invalid because of Loop's problems is like criticizing the concept of trains based on Locomotion #1's terrible speed.
Elon Musk has a unique goal: to make a fast inexpensive public transportation system.
Uber and Lyft have a similar goal! They want to make a fast public transportation system, and they have succeeded! They don't care about inexpensive, and in fact they can't accomplish inexpensive, because drivers are expensive. They're working on self-driving vehicles, and this will help, but it won't solve the issue because Uber and Lyft need lots of roads, roads take up land, and land is also expensive. Note that land isn't just financially expensive, it's valuable - we only have so many square meters of sunlight surface on this planet, and it's a shame we're using it on transportation. This is opportunity-cost even if we don't normally count it as a cost of roads; it's kinda factored in right now because we don't have an alternative, but we could have an alternative and we should consider land usage as part of cost.
Car manufacturers also have a similar goal! They want to make a fast inexpensive transportation system, and they have succeeded! They've abandoned "public" by requiring people to buy into the system with a large upfront expenditure (specifically, "buying a car".) This allows them to get rid of that whole "pay for a driver" thing - the passenger is the driver. It's not as inexpensive as it could be, though, because cars need lots of roads, thus land, thus expense.
Public transport systems also have a similar goal! They want to make an inexpensive public transportation system, and they have succeeded! But it's not fast. In fact, it cannot be fast. Group transportation is intrinsically slow; putting more people on a vehicle either requires frequent stops which slows down everyone else on board, or it requires stops at junction nodes which implies transfers which also take a lot of time. Short-to-mid-distance buses, trains, and subways cannot match uncongested cars, and you can test this on Google Maps by going to a city of your choice, picking two positions, and twiddling with the "Start At" option until you find the fastest times for cars and the fastest times for public transportation; in almost all cases, cars are significantly faster, and I've never found a case where cars are more than a minute slower.
(Airplanes have the same problem, but they're fast enough that people put up with it; nevertheless, an airplane trip still involves an hour or two of bureaucracy and waiting on either side, and chances are good you're not landing at the exact time you'd prefer to. Long-distance trains also have the same problem and the same solution, specifically, "we put up with it because the speed makes it worth it". In both cases, avoiding all that added complexity would make them significantly better. If you can think of a way to accomplish that without a drastic price increase you will become extremely rich.)
tl;dr: Transportation has traditionally been "fast, inexpensive, public; pick two", and Elon Musk is trying to pick all three at the same time.
The Basic Idea
If you haven't heard of the Boring company or the Las Vegas Loop, here's the concept:
Elon Musk thinks tunnels can be built for much cheaper than they previously could be. He is building a large underground network under Las Vegas, with something like 45 stops (this number keeps increasing as they add more to the plan). You will walk up to a stop, request a car, and travel to any other stop in the network. You can do this today, although right now they only have 3 stops, but construction continues.
This is literally the basis of the plan; "let's make tunnels and drive cars through them". I acknowledge this sounds dumb, but it may actually be the best way to accomplish Fast, Inexpensive, and Public.
Let's tackle the easy ones first.
Boring Company tunnels are public because you don't need to buy in with a large investment to use them. You can just show up at a stop, pay a fare, and ride a vehicle to wherever you want to go.
Boring Company tunnels are fast . . . sort of . . . because it's point-to-point transportation. The vehicle is ideally already at the stop, or close by, when you request it, and it takes you directly to your destination, as long as your destination is on the system. This "on the system" limitation is a flaw! We'll get back to that, though.
Boring Company cars currently require drivers, which is expensive. They've said multiple times that this is a stopgap until they have self-driving working. I see no reason to doubt them and the rest of this post is going to take on faith that they'll get self-driving working. Again, prototype of a prototype of a prototype. If you're skeptical about self-driving in general, note that as of this writing there are multiple companies running public services in multiple cities; if you're skeptical about Tesla self-driving, well, me too, but they can always license it. I'm going to just accept this part as solved-in-the-next-decade-one-way-or-another.
Boring Company tunnels are inexpensive because oh god this is where the complicated part starts
Price
Tunnels are, traditionally, very expensive.
There's a lot of reasons for this. Cost disease, in general, is one of the big ones, and if Boring Company gets hit by cost disease then this entire thing might be doomed. I think they're more resistant to this because they are not having cities come to them asking for services, they are going to cities to propose services, and if they're expensive, they won't get any contracts. Note that Boring Company has already turned down a contract because the company was going to waste a lot of money on things that weren't the tunnel, and they just didn't want to be a part of that. I'm going to just cross my fingers that this doesn't happen.
Tunnel size is another big one. Tunnels get much more expensive as they get larger. Train tunnels need to be surprisingly large; they need to hold a train that's big enough for people to stand up in and walk around in. They also need to hold some kind of emergency exit system. With trains, this traditionally hasn't been compatible with the train rails themselves; the cross-ties are a tripping hazard. If you have to run a second extra walkway next to your train then that makes your tunnels even larger. Finally, you need a lot of emergency equipment. The reason this is required is that stations are rather far apart; if stations were closer, the safety regulations let you basically say "look, there's an exit right there, just walk to the exit". Far-apart stations cause significant added tunnel expenses.
The biggest issue, surprisingly, is the underground stations. The most common way of making an underground station is as simple as it is costly:
-
Knock down all the buildings above the station
-
Dig a giant rectangular hole
-
Reinforce the top of the hole
-
Fill the top of the hole back in
-
Build new buildings on top
This isn't a lack of foresight on the part of the builders, this is actually how it tends to be done. Underground stations are horribly expensive, and this has consequences for the rest of the system. Remember how I kind of skimmed past "far-apart stations cause significant tunnel expenses"? Well, they do, but this is still cheaper than building more underground stations!
This is how the Boring Company is going to solve tunnel price:
-
Cars are much smaller than trains [citation needed] and don't require as much sheer size.
-
Cars travel on concrete, not rail, and this surface is perfectly suited for passenger exit, meaning that you don't need an extra passenger lane as long as there's enough room to get past the cars. (Note: in the current Loop tunnels, there is, even though it's not obvious in a lot of the videos that have been posted. It's not comfortable, but it's enough for emergency evac.)
-
We can reduce the necessary emergency equipment by having frequent stations. Trust me on this for now! I'll get back to this one very quickly.
All of this put together makes Boring Company tunnels a whole lot cheaper than train tunnels.
Stations
Twice, now, I've glossed past issues with stations. The Las Vegas Loop requires stations at every stop so people can get on and off; our emergency system also requires frequent stations. These can both be solved by having lots of stations.
but wait, I thought stations were expensive Nope! Stations are cheap. Underground stations are expensive. The solution is that you just put your stations above-ground. Any parking lot can become a station terminal, as can underground floors of already-constructed buildings.
This works for Boring Company cars because car station positioning is far more flexible than train station positioning is. Train stations have to be long because trains are long; cars are short and so car stations can have basically any layout. Trains run on rails, which have extremely low friction - this is good from an efficiency perspective, but means that trains cannot handle significant slopes without expensive equipment like cable cars. If trains can't handle slopes then above-ground stations for underground rails simply aren't possible. Meanwhile, the minimum footprint of a full-fledged aboveground car station connecting to an underground network is the same footprint as a small house; a tunnel up, a tunnel down, and a few parking spaces, done.
Now we have cheap stations! We can toss a station at every casino on the Las Vegas Loop and not think twice about it. Our tunnels become smaller because we don't need as much emergency equipment, and our trips are faster because you can enter and exit from the cars in more places.
This is a reasonable solution. But it's not a great solution. We still have to drop people off at stations and pick people up at stations; what if someone doesn't have a station nearby? What if someone wants a car from their house off in a suburb or true rural area? Do we need to build tunnels to every single neighborhood, and then require that people walk across half their neighborhood to get home? It's 108 degrees out right now, I'm not walking in that weather. Screw that. And worst, we still need significant land dedicated to this system for the parking-lot terminuses, and land, as I've mentioned, is expensive.
We can do better.
Stationless Point-To-Point
This is where I move into speculation territory. But I really do think this is the plan.
We have an underground network of self-driving vehicles. We have cheap entry and exit tunnels. This is all we need to finish the entire system.
We keep our entry and exit tunnels, and we put them everywhere (which also solves our emergency exit requirements.) However, we get rid of the stations. The tunnels are simply a way of transiting from the underground network to the aboveground road network. "The aboveground road network", you ask? Sure; we're going to co-opt the aboveground road network for part of this. We're not using it for long-distance travel, so we can get rid of the giant tangles of freeways and onramps. But we are using it for last-mile travel, because it's there.
When you request a vehicle, one shows up at your doorway. You get inside and it heads to the nearest convenient tunnel entrance. Most of your trip is spent underground, and then it pops back up into the sunlight to bring you straight to your destination.
No stations, low land usage, point-to-point congestionless travel.
That's the actual goal.
Common Objections
Moved to its own comment due to character count limitations.
Conclusion
The goal of the Boring Company is to make the first fast inexpensive public transportation system. Cars are fast and kinda inexpensive, but not public; Uber/Lyft are fast and public, but expensive; trains and buses are inexpensive and public, but not fast. Elon Musk is trying to get all three at once, and the decisions being made are in service to that. The thing being designed really could not exist before self-driving vehicles; it is a truly 21st-century transportation system and hopes to redesign the urban landscape on a level that we haven't seen in a century.
I have no idea if it will succeed.
This weekly roundup thread is intended for all culture war posts. 'Culture war' is vaguely defined, but it basically means controversial issues that fall along set tribal lines. Arguments over culture war issues generate a lot of heat and little light, and few deeply entrenched people ever change their minds. This thread is for voicing opinions and analyzing the state of the discussion while trying to optimize for light over heat.
Optimistically, we think that engaging with people you disagree with is worth your time, and so is being nice! Pessimistically, there are many dynamics that can lead discussions on Culture War topics to become unproductive. There's a human tendency to divide along tribal lines, praising your ingroup and vilifying your outgroup - and if you think you find it easy to criticize your ingroup, then it may be that your outgroup is not who you think it is. Extremists with opposing positions can feed off each other, highlighting each other's worst points to justify their own angry rhetoric, which becomes in turn a new example of bad behavior for the other side to highlight.
We would like to avoid these negative dynamics. Accordingly, we ask that you do not use this thread for waging the Culture War. Examples of waging the Culture War:
-
Shaming.
-
Attempting to 'build consensus' or enforce ideological conformity.
-
Making sweeping generalizations to vilify a group you dislike.
-
Recruiting for a cause.
-
Posting links that could be summarized as 'Boo outgroup!' Basically, if your content is 'Can you believe what Those People did this week?' then you should either refrain from posting, or do some very patient work to contextualize and/or steel-man the relevant viewpoint.
In general, you should argue to understand, not to win. This thread is not territory to be claimed by one group or another; indeed, the aim is to have many different viewpoints represented here. Thus, we also ask that you follow some guidelines:
-
Speak plainly. Avoid sarcasm and mockery. When disagreeing with someone, state your objections explicitly.
-
Be as precise and charitable as you can. Don't paraphrase unflatteringly.
-
Don't imply that someone said something they did not say, even if you think it follows from what they said.
-
Write like everyone is reading and you want them to be included in the discussion.
On an ad hoc basis, the mods will try to compile a list of the best posts/comments from the previous week, posted in Quality Contribution threads and archived at /r/TheThread. You may nominate a comment for this list by clicking on 'report' at the bottom of the post and typing 'Actually a quality contribution' as the report reason.
Do you have a dumb question that you're kind of embarrassed to ask in the main thread? Is there something you're just not sure about?
This is your opportunity to ask questions. No question too simple or too silly.
Culture war topics are accepted, and proposals for a better intro post are appreciated.
- Prev
- Next