Blog: Stack Overflow

Most of these posts were originally posted somewhere else and link to the originals. While this blog is not set up for comments, the original locations generally are, and I welcome comments there. Sorry for the inconvenience.

As 5782 draws to a close...

There years ago there was a pile of bad behavior at Stack Overflow Inc. This week, one of the people involved, who no longer works for them, posted Reflections on years of guilt, through the lens of Teshuva. How unexpected and refreshing! Some excerpts:

To Monica, who I hope still thinks of me as a friend: I failed you because I couldn’t stop a horrible train of bad decisions without exposing things about myself that could have ended my family if they came out in the wrong way, and the health insurance I desperately needed. I was also worried that those who knew these things about me were increasingly strained in their restraint and that things coming out was a possibility; I had very real reason to believe more people would speak out. You did not deserve to be let go the way that you were and I’m sorry that I couldn’t stop it. You really didn’t understand what everyone was taking issue with, and I didn’t get you the space necessary for that to happen. Clarity now exists around this, but it came at your expense, and my failure to act enabled that. Monica Cellio isn’t a bigot, she’s a pillar that I stepped on instead of building up more.

To coworkers that I steered away from helping Monica: I had the most terrible of best intentions, keeping you out of harm’s way. I realize that I took away your choice to do something better than the person I was capable of being due to … constraints. While it was coming top-down, I should have refused to let it go any further. Resigning wasn’t an option I could take. I didn’t feel like I could even privately question anything anymore. What’s bad for a manager is twice as bad for those that report to them; I won’t make that mistake again. My piece in the puzzle should have broken by design.

To coworkers that were let go due to retrenching — I didn’t know it was coming, but I sure as hell didn’t fight the thing that was running you over once I saw it running you over. I’m not proud of my silence that day and you deserved something way kinder than what you got.

I had thought of Tim as a friend in the past. Then that happened and I didn't. I feel like we now have a basis for rebuilding.

Activity trends on Stack Exchange (mostly downward)

Stack Exchange published some year-end statistics, as they've done for the last few years. Their focus was on looking at how many questions get closed, per site (sometimes a few, sometimes more than 60%) and how many of them get edited and reopened (very few). I don't really care about that, at least at the level of detail they have in some wide tables, but the data includes the number of questions asked for the year, and that piqued my curiosity. My impression has been that activity in general and new questions are down, sometimes a lot, across the network, but I hadn't looked at all the data. Until now.

I downloaded the CSV files for 2018 through 2021. As with all such efforts, the task starts with data-cleaning -- some site names were not consistent across the four files, which messes up sorting and grouping. There are older files, but I got tired of hand-adjusting site names and filling in placeholders for sites that didn't exist that year. While, anecdotally, SE's been in decline for much longer, it feels like things accelerated in 2018 and 2019, so that's what I looked at.

I loaded everything into a spreadsheet for now, just to be able to eyeball it easily. (I might load it into a database later for actual queries, and would include the close-related data if I do that.) I added a "trend" column, up/down/stable, based on eyeballing the data. There were some edge cases that led to me adding an 'erratic" option too. And sometimes it's a judgement call; I didn't work out precise formulas, and some of my "stable"s could be "down"s or vice-versa. I can share the file I assembled, if you want to ignore my assessments and make your own.

The counts include all questions that were asked; we don't know how many were subsequently deleted.

There were a few sites with upward trends:

  • Biblical Hermeneutics
  • Chess
  • Engineering
  • History of Science and Math
  • Islam
  • MathOverflow
  • Quantum Computing (which has a corporate sponsor and is a hot research topic)
  • Christianity (recent rise)
  • Literature (recent rise)
  • Operations Research (recent rise, site created in 2020)
  • Retrocomputing (recent rise)

There are about 30 I judged to be steady; while there are fluctuations year to year, the activity is all in the same general ballpark.

The other ~140 sites are having more difficulties.

A few that jumped out at me and/or are of personal interest:

  • Mi Yodeya had about 4000 questions in 2018. In 2019 there was an organized activity that led to more questions, about 4500. It took a drop after that (~2900 and then ~2600).

  • Writing was at ~1800 in 2018. 2019 was the year of the question drive and a big push to finally be allowed to graduate. We succeeded, and then six weeks later Stack Overflow Inc. blew up our world. 2021 is down to ~1200, which is actually higher than I expected.

  • Some technical sites are down by about half, including Software Engineering and Quality Assurance. Hmm.

  • Cooking went from ~2700 questions in 2018 to ~2300 in each of the next two years and then to ~1500 in 2021. I would have expected that site to get a boost from the pandemic (more people are cooking at home). On the other hand, Travel dropped a ton from 2019 to 2020 (and stayed low for 2021); I think the reason is pretty obvious there.

  • English Language and Usage dropped by half, from ~22k in 2018. The Workplace is also down by half, from ~5500 to ~2500. Graphic Design is down even more, from ~6800 to ~2700.

  • Interpersonal Skills had ~2600 questions in 2018. In mid-October of that year, they were kicked off the hot network questions list amidst some controversy, reducing their advertising reach. That doesn't explain everything, but the next year was down by half, and in 2021 they were down to ~450, less than 20% of the number from 2018. Noteworthy: when SE decided to "graduate" almost all remaining beta sites, this one asked to stay in beta. So they seem to recognize that they have things to sort out.

  • Beer, Wine, and Spirits, which has struggled for years, is down from 151 questions in 2018 to 70 in 2021. Homebrewing is also down by two-thirds.

I couldn't figure out how to make Markdown tables without a ton of manual effort. Here are a few screenshots for the curious. Read more…

Licenses: only as strong as the will to enforce them

I realized, while doing some digital housekeeping, that Stack Overflow Inc. is using some of my writing, without attribution, in violation of the Creative Commons license under which they obtained it. To correct it, I would have to file a DMCA takedown demand, which would require me to be in contact with them and their lawyers, which is icky quite aside from any retaliation they might engage in. I don't currently have the will to deal with that, so they get away with violating my copyright and license.

I'd likely be ok with them using it, at least on the public sites, with the required attribution, and if they do so for other people's work they've taken, too. (I know I'm not the only one, because another help-center article that I wrote is in turn built on something by someone else.) I think they're banking on the fact that engaged users don't tend to mind and people they've driven out don't want to take on the burden of securing a correction. Such things do a lot more damage to the individual than to the corporate behemoth, after all. In their younger days they would have readily done the honest and ethical thing, but these days?

They can get away with it because they can make things unpleasant. But having noticed it, I can also note it here.

Tainted elections

Stack Overflow (Stack Exchange) has been faltering for a while for a variety of reasons that boil down to "still don't know how to work with rather than against their communities and power users". Even so, I'm surprised to see three corrupted moderator elections in a span of two weeks, one of them on the one site they actually kind of care about, Stack Overflow.

First up is a Stack Overflow election. I became aware of this incident when I noticed an extreme spike in view stats for Dear Stack Overflow, we need to talk on one day and looked around to see what might be causing it. During the voting stage of the election (the second week, after a week for nominations), the moderators and community managers (SO employees) jointly decided to remove a candidate. They did not suspend the user, so this is already on very shaky ground -- the community is supposed to choose its moderators from candidates who meet the eligibility requirements, which this candidate still did. Now, this candidate had done something problematic, and if they had suspended him for it then his candidacy would have been revoked legitimately, but they decided it wasn't bad enough to suspend over.

They didn't stop there, though. They announced on their meta site that the candidate had been removed, they talked about the allegations, and they did all of this before talking with the candidate. Their reasoning was that they had to make a prompt announcement so that people who had already voted would know to review their votes. Except, no -- they didn't need to do that. SO is fully capable of pausing an election; they only needed to announce a pause (without removing anyone), discuss it with the candidate, and reach a resolution -- like letting the candidate gracefully withdraw. SO recently restarted an election on another site, so there's already precedent for intervening in the timeline for extraordinary reasons.

I would think that "we'd like to avoid smearing a user in public" would count as extraordinary reasons, but apparently not. The candidate returned a day or two later, having suffered a local Internet outage in his part of the world. Imagining getting back online, going to a site you care enough about to want to lead, and seeing that. Cringe.

It was completely avoidable, had the community managers running things cared to avoid it.

Read more…

New VP of community at Stack Exchange, prognosis unknown

Stack Exchange recently promoted someone to VP of Community, and he posted on Meta asking what to change and what is inviolate. It's too soon to tell if these are just empty words, as is the norm with Stack Exchange leaders in recent years, or if he intends to and will be allowed to work with the community. Someone pointed all this out to me, so I figured, hey, I'd log in for the first time in many months and accept his invitation (posted yesterday afternoon):


Today is Tisha b'Av, the date the ancient Jewish temple was destroyed. (I promise this is relevant.) According to our tradition, the second temple was destroyed because of baseless hatred, sinat chinam. Among all the problems of the time, one incident stood out as the precipitating event:

A wealthy man held a party and sent his servant to invite his friend Kamtza. The servant misunderstood and made the invitation to Bar Kamtza, whom the host hated. Bar Kamtza, thinking the man was offering an olive branch, attended. The host was furious and ordered him to leave. Bar Kamtza, trying to save face, repeatedly tried to make peace, offered to pay for his food, and even offered to pay for half the party. But the host expeled him in front of all his other guests, none of whom objected, setting in motion a chain of events that led to the destruction.

The host hated Bar Kamtza so much that he no longer saw him as a fellow human being deserving of basic decency and dignity. Presented with the results of a misunderstanding, the man in power escalated instead of de-escalating, harming everybody present (and, according to the account in the Talmud, the whole nation).

Philippe, your predecessors didn't destroy a whole people or a national treasure, but there has been a lot of baseless hatred and harm and pain to lots of people over the last few years. Some of that can never be repaired, but some still can be, even at this late date. What has been missing is not the ability to correct errors but the will.

What should you change as quickly as possible? This ongoing failure to make what amends and repairs can be made. It's the ethical thing to do, and -- to speak to the company's business-driven interests -- it would show the people who build Stack Overflow and the SE network that you're willing and able to correct mistakes. Everybody makes mistakes; we learn a lot about people and institutions by seeing how they handle their effects. Yes you have the power of the wealthy party host, but is that the kind of person you want to be?

What should you never touch? The community's goodwill. You have the potential for awesome partners in growth, people who still want to see Stack Overflow succeed despite it all, people who know a lot about how to do that on the community side. You've got lots of professional experience but you're new to SE and SE jettisoned decades of its CM expertise in January 2020. The previous people at upper levels not only didn't engage with the communities but shunned them. By coming to Meta and starting this conversation you've taken an important step. Keep that up and follow through: engage with the community, participate on some of the 170 communities, ask for feedback regularly, carefully listen to feedback (which is not the same as "do what we say"), don't spring disruptive changes on people -- treat the community as partners not enemies.

(I realize much of the previous paragraph belongs in the "what should I change" paragraph, because what needs to change is the corporate attitude, but the reason it needs to change is that somehow you still have a community here that cares, and you should work hard to maintain a good relationship with it.)


I was asked in a comment some time later if anybody from the company had contacted me. On 2021-09-27 I updated the post to say that I have not been contacted.

The future of Stack Overflow

Yesterday Stack Overflow was bought by Prosus, a tech company based in the Netherlands, for a jaw-dropping $1.8B (yes billion). In the world of recent tech acquisitions that might be small change, but it's about three times what I thought their current valuation was. It's kind of a mystery what Prosus (yeah, I'd never heard of them before either) is getting out of this.

I might have more to say about this later, but for now I'm going to post here what I wrote on Reddit (which I joined for other reasons a couple months ago but hadn't posted on before), in response to a comment referring to "SO’s bonkers relationship with its moderator community" and suggesting that getting bought by a mega-corp would make that even worse.


I don't know how the sale will affect their disastrous relationship with the people they rely on to donate and curate content for their financial gain. Often a new owner doesn't understand what it's bought and makes things worse by meddling. On the other hand, the claim is that Stack Overflow will still operate independently and make its own decisions. In the acquisition of a successful company that would be good news (they can keep doing what they're doing), but in a declining company that shouldn't keep doing what it's doing because it's not working, pressure from the new owner could help, if Prosus will actually apply that pressure.

Stack Overflow and the Stack Exchange network have been in decline for several years (since at least 2017 by my reckoning, some say longer). Some of that decline is due to outside factors and a lot is due to the company's actions. The good news is that most of the architects of those bad decisions are gone now, so the company could take the opportunity to say "y'know, we've been doing it wrong and we need to fix that" without anybody still there having to eat crow. The bad news is that, historically, this is not what Stack does; they double down on bad decisions, I assume because admitting mistakes is embarrassing. Several people still there who weren't part of those decisions now appear to be endorsing them -- whether due to internal pressure or because they drank the kool-aid I don't know.

Thus, the future is pretty unclear to me when it comes to how Stack Overflow treats its moderators and users. If Prosus allows them to operate independently, I expect they'll keep mistreating people even though they no longer have to placate departed leaders. If Prosus takes a closer look at what they've bought, they could make things either worse or better depending on what they decide and how well they execute it. On the current trajectory, I would expect the community, people's willingness to become moderators, and the quality of content to continue their current decline, and the invasiveness of ads and promotion of their Teams and Enterprise products to accelerate. SO is the gateway to the company's for-sale products; it doesn't matter to them independently. The company doesn't need quality and it does need to overcome SO's reputation of hostility, so they're willing to sacrifice the former to attempt the latter. The sad thing is that they could end up with neither even though it's actually possible to get both.

How sad -- the 800-pound gorilla is afraid of the little guy

Gosh, Stack Overflow thinks our little open-source project is a threat to them. I'm flattered! Also saddened.

For several years, Stack Exchange has allowed some of its sites to control some (local) ads. Communities can nominate ads that they think will be of interest to their own members, and if enough community members agree, those ads run. Mi Yodeya has ads to promote Sefaria, its own publications, and some other resources. Science sites have ads for professional and research organizations and publications. Several sites have ads that promote other related SE sites. Stack Overflow has ads for open-source projects looking for contributors.

The general philosophy is (or was) that the people building a site are the right ones to decide what to promote on that site -- they know their audience better than the company does. (Which, if you've seen some of the other ads the company runs across the network, is self-evident.1)

This week the company announced a change in qualifications for these community ads: Read more…

The Value of Aspirational Rules

In my part of the physical and digital world, discourse has gotten a lot more polarized in recent years. People are less likely to presume good intent and are more likely to take the worst possible view of another’s words. People are less likely to consider nuanced positions and instead take binary views: either you’re fully on my side or you’re a bad person. People are more likely to take things out of context or ignore the time and place in which something now objectionable was said.

People aren’t doing this for jollies; it happens because people are hurt, have been systematically hurt for years or decades or longer (personally or as part of a group), and want it to stop — and because fast, available, many-to-many communication has finally given people a platform to raise their voices. People want to make society safer and less hurtful — worthy goals! People want to be heard.

Owners and moderators of platforms and public spaces are now more mindful of their roles in public discourse. Many have concluded that aspirational rules like “be nice” or “treat others as you would like to be treated” or Victorian Sufi Buddha Lite don’t work. Instead, rule lists and codes of conduct grow more detailed as new ways to cause discomfort arise. Unfortunately, the authors of these tomes don’t always follow their own rules or consider how those rules can be misused.

We need to stop doing that. I don’t mean “don’t have rules”; I mean we need the aspirational, nuanced, people-oriented rules to be front and center, even though they don’t come with easy checklists. We need to use them with a dose of humanity and thoughtfulness, and we need to be willing to examine individual cases with transparency, working together with our communities. Read more…

2020

Somebody on Twitter asked:

What did you learn in 2020 (besides how to make bread)?

I responded there:

  • To grow food in pots.
  • To cut men's hair.
  • To cook more new things.
  • That my cat loves me being home all the time.
  • More about community-building.
  • How to set up a nonprofit foundation.
  • To cut people w/no morals or human decency out of my life.
  • And yes, sourdough.

I was up against a character limit there, but I'm not here. Read more…

Election mechanics (not about the US)

A few days ago I was musing elsewhere about some online elections. Specifically, Stack Exchange has been running elections to replace all the moderators who have quit, and it's highlighting some weaknesses in their election scheme. Ranked voting is much better than "first past the post" but you still have to put the right checks in place.

If your election system uses ranked voting, think about how voters can reject candidates. The Hugo awards have "no award" as an automatic candidate in each category and you rank all candidates. My local SCA group lets you mark candidates as not acceptable and any who get 35% NA are removed, which gives the voters a veto when needed. Systems in which you pick N candidates lack this safety check.

"Cast N votes" doesn't let you distinguish between "this candidate is ok but not in my top N" and "I oppose this candidate". And even if you allow "not acceptable" marks on candidates (like my SCA group), you still need to allow ranking those candidates so voters can express "the clueless candidate before the evil one". If I recall correctly, my SCA group gets that part wrong; if you vote "not acceptable" you can't also rank the candidate, so you can't express degrees of unacceptability. If your goal is to deter NA votes that's a positive; if your goal is to elect people who are broadly acceptable then it's a negative. Read more…