:wtf: How can this be so wrong??? (AKA the Discopocalypse thread)
-
That is mean. What did ever do to deserve that?
-
https://meta.discourse.org/t/inactive-users-can-reply-by-email/36544
Whooooooooops.
Can inactive users submit whispers?
-
-
@Lorne_Kates said:
So the ShitshowDevs never bothered using indexes on their tables.
They did, but they thought it was just like MySQL indexes. It's not.
-
@Lorne_Kates said:
So visiting a usercard compiles all that user's stats-- from scratch-- and will take 13-30 seconds to load on a good day. On most other days it'll crash Discourse.
So, how often do anonymous users access certain users' usercards on meta.d?
-
So, how often do anonymous users access certain users' usercards on meta.d?
Probably quite a lot if the user in question is @undefined.. .
-
-
@Lorne_Kates said:
So the ShitshowDevs never bothered using indexes on their tables.
Fuck, but I'm tired of this bullshit you people keep spouting! There are a lot of indexes in the database. You really don't understand the quality of discodevelopment and system design if you think some indexes are going to be enough to prevent them from finding ways to make things slow and broken.
-
@Lorne_Kates said:
So the ShitshowDevs never bothered using indexes on their tables.
Fuck, but I'm tired of this bullshit you people keep spouting! There are a lot of
indexesindicesin the database. You really don't understand the quality of discodevelopment and system design if you think someindexesindicesare going to be enough to prevent them from finding ways to make things slow and broken.
-
Do you have to keep indexating every error someone makes?
-
I will until I get that spellar/gramming badge!
-
I will until I get that spellar/gramming badge!
For fuck's sake. Someone give him the fucking badge now!
-
-
For fuck's sake. Someone give him the fucking badge now!
But... cooties when indexes get updated!
-
@boomzilla said:
@Lorne_Kates said:
So the ShitshowDevs never bothered using indexes on their tables.
Fuck, but I'm tired of this bullshit you people keep spouting! There are a lot of
indexesindicesin the database. You really don't understand the quality of discodevelopment and system design if you think someindexesindicesare going to be enough to prevent them from finding ways to make things slow and broken.Actually, those aren't really corrections. Both
indexes
andindices
are proper plural forms ofindex
[1], [2], [3]. All you're really doing is exposing your fear of the formindexes
.I suppose that the argument could potentially be made that the form
indices
tends to be preferred in technical situations, but that is only a preference, not a requirement. A preference does not make the use ofindexes
incorrect.So kindly take your
indexes
phobia to the -phobia thread. It's over there .
-
@mott555 said:
I will until I get that spellar/gramming badge!
For fuck's sake. Someone give him the fucking badge now!
Not when he's actually wrong!!!
-
-
We have badges for that now?
No, we have badgers.
Personally, I'll pass, but if they are consenting, hey, more power to you!
-
-
Not when he's actually wrong!!!
But, he wasn't wrong.
Both indexes and indices are proper plural forms of index
Well, wrong-ish.
Oh, OK then.
-
-
The cute things thread is
-
Well, sometimes cuteness leaks.
-
But... cooties when indexes get updated!
Indexes get updated as records are changed, not afterwards.
-
Both indexes and indices are proper plural forms of index
I use some software that has
indexs
. Plenty of s in that - like the optimal screen resolution is 800x600. As the screen resolution goes bigger, the program tries to scale. Badly.
-
Is it made by Realtek?
-
I can imagine doing something fucked somehow with
indiciesindexesdatabase looky uppy shit
-
Well, not unless they hacked their own DB access layer. It's part of the DB engine. Has to be, if you think about it.
I'm guessing what @boomzilla meant is that since (we need a :dischorse: emoji) Discurse is built of libraries on top of libraries, most of which are either crummy or written in non-performant languages, shit just doesn't run fast, or with low memory usage, etc.
And of course it's possible that there's a couple of indexes that should be there but aren't. I once had a program that took ten minutes to run (on a high-end Unix box in 1999) that someone took away an index I was using in a deeply nested loop, that made the thing run so long it never finished before the nightly shutdown for backup.
-
I agree with you, but this is the team that brought you the letter avatar cache server. I'm not about to put anything past them until I have proof they haven't done the harder, dumber thing.
although in this case I can't see them fucking up the database that much
-
although in this case I can't see them fucking up the database that much
Yeah, that's why I discount it--it seems like it'd be a lot more than jeff's cut out for.
-
letter avatar cache server
Did they ever do more WTF comparable to this one? It's been a while and I still can't accept they did something that stupid. (apart from the mass-banning, that is)
-
No, it's some specialized scoring software for dog agility.
-
I don't know off the top of my head, but I do know that that is the only one to make me laugh every fucking time it comes up. Did they ever post an explanation as to why they thought it was a good idea? All I ever got when I asked was
It's a complicated problem and you should understand why choices were made before questioning it
-
@Nocha said:
letter avatar cache server
Did they ever do more WTF comparable to this one? It's been a while and I still can't accept they did something that stupid. (apart from the mass-banning, that is)
They way they did it is bad enough (it's not even a cache server). But when you consider their history with the gravatar CDN, it makes it even worse.
: Here you go, when you sign up, we automagically pull your current gravatar based on whatever external account you used to sign up! It's our user friendly default!
: But that's a security problem. First, you can link all sorts of different profiles together based on them having the same avatar. Second, the image URL contains an MD5 hash of your email address. MD5 has been cracked for ages. That makes it crazy easy for people to track you across multiple sites and figure out your IRL identity.
: All right. I guess we can just auto-generate some letters with colorful backgrounds to use as the default avatars.
…
: All these instances are having trouble generating these letter avatars all the time. It's really putting a load on all these instances. Let's build a central server that can handle the load of building the letter avatars on request!
: How is that significantly different from using gravatar? Sure, it's not available across the entire interwebz, but it works across all discourse instances. And you've shown that security between instances in the same container isn't that reliable anyway.
: You are no longer welcome here.
-
the image URL contains an MD5 hash of your email address
Wait wtf I missed that part. That was a thing!???!?!?!!!?
Oh Gravatar, nvm. We already knew about that one...
-
All these instances are having trouble generating these letter avatars all the time. It's really putting a load on all these instances.
Which wouldn't be a problem if they didn't, well, generate these letter avatars all the time, instead of just doing it once on signup, faking an avatar upload and then treating it just as if it was any other uploaded avatar. But noooo, they went so far out of their fucking way to treat them specially it bit them in the ass in the end. Surprise, surprise.
-
Wait wtf I missed that part. That was a thing!???!?!?!!!?
It's not like you needed to crack any MD5 hashes to leak emails from Discourse. For quite a while, all you needed was some good timing.
-
Or... do what NodeBB does and choose a (random?) color, put a HTML letter in front... and... problem solved.
It's not like you needed to crack any MD5 hashes to leak emails from Discourse. For quite a while, all you needed was some good timing.
Heh, yeah, I remember that. That was... fun...
-
Or... do what NodeBB does and choose a (random?) color, put a HTML letter in front... and... problem solved.
I still think my idea is the simplest and best. NodeBB still goes out of its way to special handle the letters, but at least they offload it to the client, so well, that's something?
-
Yeah. Either one works - I don't really see an advantage to either.
The way Discourse did it before and the way they do it now is still just stupid though.
-
The way Discourse did it before and the way they do it now is still just stupid though.
And instead of just fixing the problem, they throw resouces at it and hope it goes away.
"Mr. J, Mr. J, profile pages take ages to load and cause the servers to catch fire!"
Jeff from parallel universe: "What? This is unacceptable! Tell our DBA to get their shit together stat, I don't care what they're gonna do, but we need that load time down to at most one second!"
Jeff from this universe: "So what? Just tell them to buy better servers. ...wait, what do you mean they're paid customers? You mean we'd have to buy them better servers? Well... guess we'll just setup a beefy CDN for profile pages. Yep. That's it. And yeah, make it a default on every instance that all profile pages live onprofiles.discourse.org
now, I don't want those pesky TDWTFers and other crazies complaining either".
-
Yeah. There are... a multitude of ways this could've been handled. But instead they chose the option that was almost stupider than the original...
-
For quite a while, all you needed was some good timing.
When I helped find the leak, all you needed was something capturing requests on your profile page and to like some posts. No timing required.
-
But instead they chose the option that was almost stupider than the original...
Almost?
Having an underperforming functionality of generating default avatars, that's stupid. Moving that underperforming functionality to a fucking dedicated server living on Discourse's premises, that's batshit crazy.
I mean, imagine if say, Git decided calculating the diffs on XML files took kinda long, so every XML file with more than a hundred lines gets sent to
xmldiffs.linustorvalds.com
where a beefy machine wastes its cycles doing nothing but calculating XML diffs from every single Git instance in the world. That's not just stupid. That's beyond retarded.
-
@sloosecannon said:
But instead they chose the option that was almost stupider than the original...
Almost?
Having an underperforming functionality of generating default avatars, that's stupid. Moving that underperforming functionality to a fucking dedicated server living on Discourse's premises, that's batshit crazy.
I mean, imagine if say, Git decided calculating the diffs on XML files took kinda long, so every XML file with more than a hundred lines gets sent to
xmldiffs.linustorvalds.com
where a beefy machine wastes its cycles doing nothing but calculating XML diffs from every single Git instance in the world. That's not just stupid. That's beyond retarded.But hey, at least the problem is solved!!!!!!!!!!
Filed Under: If it works for them, it should work for everyone...
-
But hey, at least the problem is solved!!!!!!!!!!
No it's not. In the same way that smashing the Rubik's cube with a hammer, then taping it together doesn't count as solving the Rubik's cube.
-
Or... do what NodeBB does and choose a (random?) color, put a HTML letter in front... and... problem solved.
Choose one:-
Doesn't work at all on IE6, Opera for Nintendo Wii and DS, Webkit for PlayStation3, or Pale Moon.
-
Safari adds extra pixels during antialiasing, making hairline look like extra bold.
-
Chrome's definition of baseline is different from everybody else's, so the letters appear at the very top rather than vertically centered.
-
The most that can be changed in the template is where we load the image from, and we can't change the template because it was lovingly crafted by @waffles' grandmother as the last thing for him before she
diedwent to Aruba and didn't tell him, so it can never ever be changed. -
canvas.js, though available both on the client and on the server, isn't a ruby gem.
-
Why would you use something other than an image for an image, stoopid?
-
-
Eh... OK
Valid points, I suppose.
I haven't really encountered problems with them (I use Chrome, so... meh).
-
Option seven: do a Google Images search for the user's nickname, pick a random image from the first 25 results, and set a resized version of that as the user's default avatar.
What could possibly go wrong?
-
It sounds about as sane as what they currently do...