Blog: Codidact

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.

Odds and ends

I haven't been posting regularly. Oops.

I've been baking bread about once a week. This past week I finally scored some rye flour (that was not exorbitantly priced), so I made a rye sourdough for the first time. I think I prefer less molasses than this recipe called for, so I'll adjust that next time or try a different recipe. The bread is tasty, aside from the molasses overwhelming the caraway. Most "rye bread" recipes I've seen use rye for only one third of the flour, which sent me searching for "all rye" rye bread, which apparently works and tastes good but might not rise as much? I'll probably try it at some point, especially since I had to buy four (small) bags of rye flour to get it.

Dani and I play board games every Shabbat now, and occasionally we have two other friends (who are also careful, and I guess this is a "pod"?) over to play. We play Pandemic in every session because, well, pandemic. Yesterday we pulled out Kings and Things, a game we all had vague memories of, and by the end had concluded that while it's appealing it's also kind of tedious and maybe sort of a shorter Titan, a game I like in principle but dislike actually playing. Ok, now we've refreshed our memories...

A friend has a game called McMulti, which is an economic game (oil/gas theme)... in German. There are lots of places where text matters, so when we've played we've used cheat sheets since none of us read German. We recently became aware of an English-language derivative, called Crude, and got it recently. They've changed some of the mechanics and made one really annoying change to how the board is laid out, but other changes are positive and the game's a little faster. I like it, but am tempted to figure out how to print my own board. The game is really strongly designed for four players, but there are rules for a two-player version, which Dani and I have played once, which seen to work ok.

Codidact, the project that consumes most of my spare time, is in the process of incorporating as a non-profit. We've got our lawyer on our Discord server and having conversations about incorporation documents via Google Docs comments. It looks like we will be able to clear an important hurdle soon. Neat!

On the project front, I'm not writing code -- I keep feeling like I should learn Ruby and the dev environment so I can help, then concluding that I probably won't be helping because I'd be taking time and attention from the developers who are actually being productive. But I've taken over bug-wrangling -- some analysis and testing, clarifying vague reports, and, especially, triaging. I was surprised to find that GitHub counts filing issues as contributions. I think that's new?

We just had our first birthday, counting from when the project founder set up a Discord server to talk about maybe building an alternative to Somewhere Else. We've still got a lot of work ahead of us, both technical and community development, but I'm pleased with where we are.

I've been reading a lot of fiction, a mix of short stories, novellas, and novels, many through the BookFunnel network (and also StoryBundle). I'm "meeting" a lot of authors I didn't previously know. I should really write a separate post about that.

Community philosophy: centralized structure or self-determination?

A few days ago I wrote about moderator selection in online communities, and somebody asked in a comment which is a better approach, Stack Exchange's centralized control or Reddit's anarchy, where the founder of a subreddit is in charge and communities can have whatever rules they want about content and moderator selection. I responded:

I hope we're drawing on the best of both and avoiding the worst of both. On our network we have a community-proposal mechanism, which is much lighter-weight than Stack Exchange's. (Stack Exchange now makes it very difficult to create a community, which fits with both their business model and the fact that they've got 170 of them already.) On Codidact, we'll create a community if -- hand-waving ahead -- there's "enough" interest. "Enough" is a fuzzy mix of number of people, people's specific interests (e.g. if nobody's prepared to answer questions that'd be a problem), and level of enthusiasm. The Judaism community had several enthusiastic people within hours of being proposed; we launched that in a few days. A proposal for role-playing games feels like it ought to have support but people aren't participating much in the discussion so we don't know if we should create it or wait. And, of course, we're new to this and learning as we go. Read more…

Goodbye 5780

The year 5780 began for me, personally, on a terrible note caused by evildoers at Stack Exchange Inc. I won't say more about that here (I wrote plenty at the time). As above so below -- the door to their teshuvah remains open should they choose to correct their transgressions, but I, unlike the Holy One, do not hold out infinite hope for sinners to mend their ways. There are more important things in life to focus on.

5780 was the (sob) first year of the global pandemic crisis. On top of the sickness, the deaths, the changes in daily life that come with any pandemic, we in the US saw reckless endangerment, needless deaths, and political profiteering to levels even those of us already worried about the authoritarian trends of the toddler-in-chief did not imagine. He knew. And he let it run rampant anyway. Because he thought, somehow, that it would hurt his political opponents and not his own supporters. Because that oath he swore on taking the office, those words about serving the people (all of them, not just red states) and upholding the constitution and suchlike, was just fluff to him, not a commitment. Having thrown the people under the bus, he's now in full sabotage-the-election mode, betting that he can get away with it as he's gotten away with so much more. At worst, he figures, someone will manage to sue him years from now and he'll pay someone off. I fear for our country.

I fear for our country in other ways too. The white-supremacist-in-chief emboldened bigots ranging from crowds chanting against Jews to attacks on houses of worship to vigilantes fatally "protecting" the public from unarmed demonstrators to police who kill and recklessly endanger black and brown people who are already restrained and thus not threats. (Whites, on the other hand, generally get the benefit of the doubt.) And it would be easy to say that the bigot-in-chief is responsible for all this and we have only to remove him from office, but that's obviously not true -- the roots run much deeper. Our society has work to do.

And that work involves nuance, discussion, hearing and trying to understand others' perspectives, working together with people who are different, acknowledging the humanity of every person. Too many on the far right and the far left believe that they are keepers of the One Truth and that anybody who doesn't commit 100% to their view of truth is an enemy to be disparaged, cancelled, or killed. People are complicated, and attempts to paint monochrome pictures, while enticing to crusaders seeking us-vs-them litmus tests, are failures if the goal is to solve problems rather than to triumph. Too few people are willing to consider positions that exceed the length of a catchy slogan, but that's where the work has to get done.

But for all the trouble that 5780 brought, both personally and on a larger scale, it also brought some moments of personal light. Read more…

New Codidact communities

I am delighted by how well things are going on the Judaism community on Codidact. We have a lot of active people and interesting questions. I have my people back. And in time we'll broaden our activities; there are discussions of an on-site blog (for torah commentary) and a dictionary or wiki of Jewish and halachic terms and concepts. We've also integrated with Sefaria, the big online collection of sources, which is cool and produces bidirectional links.

Paging Dr. Whom and other linguists: Languages & Linguistics is a new site and currently has questions about Hebrew, Arabic, a comparison between Arabic and Chinese, English, and (language-agnostic) linguistic concepts.

People have been asking us for a programming site for a while. Friday we launched Software Development, which has a slow start so far presumably because of the weekend. We wouldn't normally launch on a Friday, but this was the best timing for the SRE-type who would be keeping an eye on things for the first few days. Its scope is broad; we're planning for spin-offs from the start but we're starting with one big tent rather than creating specialized communities that struggle more to achieve critical mass.

Now we have to get the word out. I have a draft of the next newsletter for our mailing list, so that should go out soon.

(Our other communities: Writing, Outdoors, Photography & Video, Scientific Speculation, Cooking, Electrical Engineering, and the "town hall", Meta.)

New Judaism community on Codidact!

I'm so excited!

Last Wednesday, an active user on Mi Yodeya asked on meta about trying out Codidact. By the end of the day it has something like 18 votes, which is a strong show of community support on this site.

On Thursday (by which time it had picked up a few more votes), this same user proposed it on Codidact's "site proposals" section. Several people participated in that discussion, including Isaac, the founder of Mi Yodeya (who is one of the moderators there). Isaac also posted an answer on the Mi Yodeya meta question commending my involvement.

On Friday it was pretty clear to us on the Codidact team that the proposal had the support it needed to go forward. We tested Hebrew fonts and the lead developer added a Hebrew keyboard for typing posts, adapted from a userscript a Yodeyan had written for use there. (Eventually Stack Exchange took that script and built it in, so not having it would be a regression for our users on Codidact.) We tried to figure out what to use for a logo.

Saturday night after Shabbat we talked about some final details. Sunday morning we launched the site.

Monday I had a brief conversation with somebody at Sefaria about their source linker, a server-side package that finds citations (like "Genesis 1:1") on web pages and turns them into links to source texts on Sefaria. After a bit of poking and a code review we turned that on. Much excitement on our site ensued.

It's now been a few days, and Judaism Codidact is going great so far! We're still having some initial meta discussions, including what data to import from Mi Yodeya and whether to broaden scope in certain ways, but that doesn't stop us from asking and answering questions right now, which people are doing. People I miss from Mi Yodeya are showing up, and I hope in time more will. I've missed my friends. I've missed being part of this community.

We asked Isaac to be an initial moderator on the Codidact site, and he wrote a thoughtful explanation of why he accepted on Mi Yodeya. This is the model of collaboration and cooperation. Online Jewish learning is not a zero-sum game; Mi Yodeya and Judaism Codidact can exist side by side, working together to spread knowledge and build community. I'm delighted to have him on Codidact along with Mi Yodeya.

Codidact progress

We sent out a newsletter to our announcements mailing list a few days ago, and now that we've got the features to support it I created a blog on our site too. You can read the latest message there. I'm especially excited by four new communities (now six total, plus Meta), the "article" post type (not everything is Q&A) which is being used on the cooking site for recipes (which I did not anticipate, and it works), MathJax so we can support science/math sites, and smaller additions like suggested edits and better tools for building on-site help.

The four new communities are: Cooking, Electrical Engineering, Scientific Speculation (an offshoot of Worldbuilding on SE), and Photo & Video.

Since we sent the newsletter out we added Wilson scoring for answers, meaning we take controversy into account when deciding what order to show answers in. On SE a post with 10 upvotes and 5 downvotes (+10/-5) is treated the same as one with 5 upvotes and no downvotes (+5/-0), but if you're trying to figure out which one to use to fix your out-of-memory problem or the short circuit in your appliance or your bread that's still gooey on the inside when it's burnt on the outside, we don't think those two answers are equivalent. We're also showing the raw votes everywhere (still working on the presentation there; I spent an evening last week with our design lead collaborating in Figma).

We're still based in the UK (that's where the servers are, and the person who oversees them). We need to learn more about UK libel laws, which sounds like a problem for platforms hosting user-contributed content.

Neat bird pictures

There is a new Outdoors site on Codidact, and they are run a series of (monthly) photo contests. The theme for May is birds, and there are some really striking pictures there. (I did submit one, but really, most of the others are way better!)

It occurred to me that some of y'all would enjoy these. They also have a bunch of questions about birds. (In case you're wondering about the low scores, data was recently imported and it all came in at score 0, so until people browse and vote on the imported data, even good questions and answers will show with low scores.)

The next site to launch will be Photography, coincidentally.

Community-driven Q&A

I've been spending some of my free time working with two open-source projects that are building new, community-driven Q&A platforms. (Yes, two. We're cooperating, including on common interfaces, but have some different goals. We didn't know about each other right off.) I don't have useful programming skills to contribute, but I'm helping with other aspects, including functional design, some feature design, and general cat-herding (on the larger one). Also, one of them asked me to serve as doc lead. :-)

Codidact is a platform for networks of sites on specific topics, much like Stack Exchange is a network of sites. Lots of (current and former) moderators and users from Stack Exchange are involved. (No I did not start this project; I was recruited after it had started.) We're talking about better management of comments/discussion/feedback, and about answer scoring that takes controversy into account, and tying user privileges not to a single "reputation" number but to related activity on the site. We're also talking about allowing more per-site customization, the trick there being to support customization while preserving the sense of an overall network. We have a wiki, a draft functional spec, a front-end design framework, and a forum where we're hashing out a lot of the details. I hope we'll see a database schema soon.

As you can infer from all that, we don't have running code yet. However, we have one community that has been pretty much destroyed on its previous platform, and the Codidact team lead had previously built a prototype Q&A platform, so Writing has a temporary site now, as a stopgap and to keep the community together, while waiting for Codidact to be ready. (Site introduction.)

The team building the Codidact platform will also run an instance (a network of sites). Others are free to take the software and run their own instances if they want to follow different policies or prefer to have full control.

TopAnswers is being built by a few people from the DBA site on SE. They are being much more agile than Codidact is; they have a running site already, which gets improvements on a near-daily basis. Chat is tightly integrated; they actually built chat first so they'd have a place to coordinate building Q&A. They have an interesting voting model where people who've gained more stars (reputation-equivalent) can cast multiple votes on a post, essentially giving experts (to the extent that stars = expertise) optional weighted votes. They also integrate both meta posts and blog posts into a site's main question list instead of isolating those types of content elsewhere. I find this idea intriguing and am advocating it for Codidact too. (The link I provided is to the network-wide meta site. If you choose "Databases" from the selector at the top, you'll see what a "regular" site would look like.)

TopAnswers has a blog post laying out its high-level goals. I wrote some stuff too, from a "consumer's" perspective.

When some sort of incorporation is needed, both projects are planning on going the non-profit route (a la WikiMedia), so that the communities, not profit-seeking, remain central. Right now I think both are running on donated hosting.

Both approaches look interesting to me, and I can see some communities preferring one over the other. I'll be interested in seeing how things work out -- what ends up getting implemented on each, what lessons both positive and negative we learn from past experience, what changes stick, and where individual communities end up being active.