<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>The Lego Mirror - MediaWiki</title><id>https://blog.legoktm.com/</id><updated>2026-01-15T17:00:00+00:00</updated><link href="https://blog.legoktm.com/" rel="alternate"/><link href="https://blog.legoktm.com/feeds/mediawiki.atom.xml" rel="self"/><entry><title>Wikipedia’s 25th birthday proves the power of free speech</title><id>tag:blog.legoktm.com,2026-01-15:/2026/01/15/wikipedias-25th-birthday-proves-the-power-of-free-speech.html</id><updated>2026-01-15T17:00:00+00:00</updated><author><name>legoktm</name></author><category term="MediaWiki"/><category term="fpf"/><category term="freedom"/><category term="pointer"/><category term="uspol"/><category term="wikipedia"/><link href="https://blog.legoktm.com/2026/01/15/wikipedias-25th-birthday-proves-the-power-of-free-speech.html" rel="alternate"/><published>2026-01-15T17:00:00+00:00</published><summary type="html">In the mid-1700s, Denis Diderot published his Encyclopédie in France, collecting the work of more than 140 authors to summarize the Enlightenment. It quickly landed on the Catholic Church&apos;s banned books list for including contrarian thoughts, and, at one point, his publisher preemptively censored some content without Diderot&apos;s knowledge. Around…</summary><content type="html">&lt;p&gt;&lt;em&gt;Originally published on &lt;a href=&quot;https://freedom.press/issues/wikipedias-25th-birthday-proves-the-power-of-free-speech/&quot;&gt;freedom.press&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the mid-1700s, Denis Diderot published his &lt;a href=&quot;https://en.wikipedia.org/wiki/Encyclop%C3%A9die&quot;&gt;&lt;em&gt;Encyclopédie&lt;/em&gt;&lt;/a&gt; in France, collecting the work of more than 140 authors to summarize the Enlightenment. It quickly landed on the Catholic Church&apos;s banned books list for including contrarian thoughts, and, at one point, his publisher &lt;a href=&quot;https://en.wikipedia.org/wiki/Denis_Diderot#:~:text=he%20discovered,dangerous&quot;&gt;preemptively censored&lt;/a&gt; some content without Diderot&apos;s knowledge.&lt;/p&gt;
&lt;p&gt;Around the same time, King George III censored the first edition of Encyclopaedia Britannica, &lt;a href=&quot;https://media.nls.uk/news/librarys-gift-to-the-world-to-mark-britannicas-250th-anniversary&quot;&gt;requiring the removal&lt;/a&gt; of some anatomically correct drawings in an article about midwifery.&lt;/p&gt;
&lt;p&gt;So when the 13 newly independent American states ratified the First Amendment a few decades later, it laid the groundwork not only for a free press but also for an encyclopedia that was not censored by an oppressive government.&lt;/p&gt;
&lt;p&gt;Today, we celebrate the realization of that dream in the form of Wikipedia, which over the past 25 years has been collaboratively built by unpaid strangers on the internet. Wikipedia went from the source that teachers universally clamored &amp;quot;you can&apos;t trust it&amp;quot; to one of the most reliable sources in a world of &amp;quot;disinformation&amp;quot; and AI-generated slop.&lt;/p&gt;
&lt;p&gt;Despite not being written by professional journalists (I edit it myself as a volunteer and used to work for its nonprofit host, Wikimedia Foundation), it&apos;s still able to set trends and drive narratives. For example, in 2011, &lt;a href=&quot;https://en.wikipedia.org/wiki/Talk:Lists_of_killings_by_law_enforcement_officers_in_the_United_States#c-LUOF-20230207203000-MZMcBride-20230207191300&quot;&gt;Wikipedia editors started collating&lt;/a&gt; a list of people killed by law enforcement in the U.S., three years before &lt;a href=&quot;https://www.pulitzer.org/winners/washington-post-staff&quot;&gt;The Washington Post would win a Pulitzer&lt;/a&gt; for its version of the same.&lt;/p&gt;
&lt;p&gt;And for better or worse, Wikipedia is most likely the largest single source powering today&apos;s AI models. All in all, it&apos;s the largest repository of knowledge in human history.&lt;/p&gt;
&lt;p&gt;But it&apos;s important to understand and appreciate that Wikipedia only exists because of the robust free speech and free press protections that exist in the United States.&lt;/p&gt;
&lt;p&gt;Wikipedia has never been actively censored in the U.S., nor has any U.S.-based editor ever been arrested for their edits to Wikipedia. There&apos;s never even been a serious threat of censorship of Wikipedia by the federal government. (The FBI once demanded Wikipedia stop using its seal under a law written to stop impersonation of federal agents; Wikipedia&apos;s legal team &lt;a href=&quot;https://www.nytimes.com/2010/08/03/us/03fbi.html&quot;&gt;laughed it off&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;The same cannot be said about Wikipedia in other countries. In France, &lt;a href=&quot;https://www.theguardian.com/world/2013/apr/07/french-secret-service-wikipedia-page&quot;&gt;intelligence operatives held a Wikipedia administrator&lt;/a&gt; until he deleted an article about a military radio station, under the guise it contained classified information. Agents made this demand even though the information in question wasn&apos;t classified at all and was mostly based on a documentary that the French air force had worked on and publicly released.&lt;/p&gt;
&lt;p&gt;In India, a &lt;a href=&quot;https://en.wikipedia.org/wiki/Asian_News_International_v._Wikimedia_Foundation&quot;&gt;court required Wikipedia&lt;/a&gt; to remove an article about a news agency because it was supposedly defamatory. To top it off, the court then demanded Wikipedia remove the separate article that was written about the court case and removal order!&lt;/p&gt;
&lt;p&gt;This kind of censorship shouldn&apos;t happen in the U.S. &lt;a href=&quot;https://freedom.press/the-classifieds/the-pentagon-papers/#Supreme%20Court%20and%20the%20Espionage%20Act:~:text=The%20court%20ruled%206%2D3%20that%20publishing%20excerpts%20of%20the%20papers%20could%20continue&quot;&gt;The Supreme Court ruled&lt;/a&gt; the First Amendment protects publishing classified information in a case about the Pentagon Papers. A U.S. court cannot order an article to be taken down, as that would be an unconstitutional prior restraint.&lt;/p&gt;
&lt;p&gt;In the U.S., the law known as &lt;a href=&quot;https://chicago.suntimes.com/other-views/2025/02/28/durbin-repeal-section-230-legislation-free-speech-social-media-seth-stern&quot;&gt;Section 230&lt;/a&gt; would also protect Wikipedia from defamation claims, and instead require litigants to sue the editor who actually wrote and published the allegedly defamatory content. Those editors would be protected under the First Amendment and the high court&apos;s New York Times v. Sullivan decision, which requires defamation claims from public officials — later expanded to public figures — to meet the much higher standard of &lt;a href=&quot;https://en.wikipedia.org/wiki/Actual_malice&quot;&gt;actual malice&lt;/a&gt; to win (nearly every biography on Wikipedia is of a public figure, by &lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia:Notability_(people)&quot;&gt;policy&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;And to state the obvious, the U.S. has never blocked all of Wikipedia, unlike China (since 2015), Myanmar (since 2021), or Turkey, which did so from 2017 until an appeal to the European Court of Human Rights forced that nation to unblock it in 2020. We know of one editor, Bassel Khartabil, who was executed for their online activity, and a &lt;a href=&quot;https://en.wikipedia.org/wiki/List_of_people_imprisoned_for_editing_Wikipedia&quot;&gt;few others who are incarcerated&lt;/a&gt; in Belarus and Saudi Arabia.&lt;/p&gt;
&lt;p&gt;Certainly, there are plenty of people in power who wish they could censor or control Wikipedia. At first, &lt;a href=&quot;https://en.wikipedia.org/wiki/Timeline_of_Wikipedia%E2%80%93U.S._government_conflicts&quot;&gt;it was through editing&lt;/a&gt;: In 2006, a number of Congressional staffers were caught whitewashing their bosses&apos; biographies, and, in 2007, someone at the FBI tried to remove images from the Guantánamo Bay detention camp article.&lt;/p&gt;
&lt;p&gt;Then, in 2013, Edward Snowden leaked that the National Security Agency was illegally spying on Wikipedia readers and editors, revealing that the U.S. had adopted the same playbook as China. Wikipedia &lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2021-01-31/Technology_report#Strong_security&quot;&gt;responded by encrypting all connections using HTTPS&lt;/a&gt; a few years later, and (unsuccessfully) sued the NSA for First and Fourth amendment violations.&lt;/p&gt;
&lt;p&gt;The attacks against Wikipedia are starting to ramp up once again; last year saw &lt;a href=&quot;https://freedom.press/issues/rights-organizations-file-comprehensive-ethics-complaint-against-ed-martin/&quot;&gt;ethically compromised interim U.S. Attorney Ed Martin&lt;/a&gt; and &lt;a href=&quot;https://arstechnica.com/tech-policy/2025/10/ted-cruz-picks-a-fight-with-wikipedia-accusing-platform-of-left-wing-bias/&quot;&gt;Sen. Ted Cruz&lt;/a&gt; complain about Wikipedia&apos;s supposed left-wing bias, despite the First Amendment prohibiting the government from acting as speech police. We&apos;ve also seen bits of the First Amendment firewall begin to crumble, with &lt;a href=&quot;https://pressfreedomtracker.us/prior-restraint/?&quot;&gt;judges green-lighting prior restraints&lt;/a&gt;, or bipartisan groups of lawmakers &lt;a href=&quot;https://www.cjr.org/the_media_today/section_230_bipartisan_bill_repeal.php&quot;&gt;working to repeal Section 230&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It will require a concerted effort by all of us to not just maintain existing First Amendment protections, but to expand them. That&apos;s the only way Wikipedia will thrive for another 25 years.&lt;/p&gt;
</content></entry><entry><title>My 2024 Wikipedia editing</title><id>tag:blog.legoktm.com,2025-01-24:/2025/01/24/my-2024-wikipedia-editing.html</id><updated>2025-01-24T03:08:00+00:00</updated><author><name>legoktm</name></author><category term="MediaWiki"/><category term="wikipedia"/><link href="https://blog.legoktm.com/2025/01/24/my-2024-wikipedia-editing.html" rel="alternate"/><published>2025-01-24T03:08:00+00:00</published><summary type="html">I racked up 526 edits and created 8 new articles on the English Wikipedia over the past year. 2024 was a relatively quiet year for my editing (in 2023 I had 1,137 edits). I really tried to take the Marie Kondo aproach to it: I only edited if it sparked…</summary><content type="html">&lt;p&gt;I racked up 526 edits and created 8 new articles on the English Wikipedia over the past year. 2024 was a relatively quiet year for my editing (in 2023 I had 1,137 edits). I really tried to take the Marie Kondo aproach to it: I only edited if it sparked joy.&lt;/p&gt;
&lt;p&gt;The eight article creations, plus one split, in chronological order:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;While watching Michigan win the 2023 National Championship, I saw &lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Bill_Hancock_(sports_executive)&quot;&gt;Bill Hancock&lt;/a&gt;&lt;/strong&gt; appear on TV, so I created his article. (Easy guideline: if someone appears on a nationally televised sports broadcast, they&apos;re probably notable.)&lt;/li&gt;
&lt;li&gt;I ressurrected the article on &lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Project_Maven&quot;&gt;Project Maven&lt;/a&gt;&lt;/strong&gt;, the Pentagon&apos;s project to use AI, etc. that multiple Google employees had walked out over back in 2018. I didn&apos;t write the text myself, I took it from the existing article on the &lt;a href=&quot;https://en.wikipedia.org/wiki/Artificial_intelligence_arms_race&quot;&gt;Artificial intelligence arms race&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Created &lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Wedding_of_Anant_Ambani_and_Radhika_Merchant&quot;&gt;Wedding of Anant Ambani and Radhika Merchant&lt;/a&gt;&lt;/strong&gt;, because it was basically on par with British royal weddings. (And then successfully defended it &lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Wedding_of_Anant_Ambani_and_Radhika_Merchant&quot;&gt;from deletion&lt;/a&gt;.)&lt;/li&gt;
&lt;li&gt;Learned about &lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Jeep_ducking&quot;&gt;Jeep ducking&lt;/a&gt;&lt;/strong&gt;, which of course led to writing a Wikipedia article and obtaining an accompanying photo.&lt;/li&gt;
&lt;li&gt;We went to the Montauk Point Lighthouse, which has a nice museum about itself and found there was a whole room dedicated to &lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Giorgina_Reid&quot;&gt;Giorgina Reid&lt;/a&gt;&lt;/strong&gt; and no article for her.&lt;br&gt;I &lt;a href=&quot;https://en.wikipedia.org/wiki/Template:Did_you_know_nominations/Giorgina_Reid&quot;&gt;submitted&lt;/a&gt; this article to be featured on the main page&apos;s &amp;quot;did you know&amp;quot; section, to which it received &lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia_talk:Did_you_know/Archive_202#c-Black_Kite-20240929140800-Why_is_it_deemed_OK_to_be_misleading_in_DYK_hooks?&quot;&gt;rave reviews&lt;/a&gt; from my fellow editors.&lt;/li&gt;
&lt;li&gt;Unfortunately I learned about &lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Jack_Limpert&quot;&gt;Jack Limpert&lt;/a&gt;&lt;/strong&gt; when he died. He&apos;s credited with shaping the &amp;quot;city magazine&amp;quot; format (another missing article I researched but still haven&apos;t written yet), but really I was more impressed that he succesfully figured out &lt;a href=&quot;https://en.wikipedia.org/wiki/Deep_Throat_(Watergate)&quot;&gt;Deep Throat&lt;/a&gt;&apos;s identity as Mark Felt back in 1974.&lt;/li&gt;
&lt;li&gt;There aren&apos;t very many dogs notable enough for articles, but &lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Ben_Herbstreit&quot;&gt;Ben Herbstreit&lt;/a&gt;&lt;/strong&gt; was one; I had known about him for a year now, but only realized he was notable after he died.&lt;br&gt;The &lt;a href=&quot;https://www.youtube.com/watch?v=7YCzj-SDYmY&quot;&gt;tribute ESPN put together&lt;/a&gt; is one of the saddest videos you&apos;ll ever watch.&lt;/li&gt;
&lt;li&gt;I saw a tweet claiming that China&apos;s &lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/12345_hotline&quot;&gt;12345 hotline&lt;/a&gt;&lt;/strong&gt; was a fantastic government service. I couldn&apos;t find any non-state media sources to back it up, but it was notable, similar to the US and Canada&apos;s 3-1-1.&lt;/li&gt;
&lt;li&gt;Tanking is easily one of the worst parts about professional sports, so I was pretty excited when the PWHL adopted the &lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Gold_Plan_(sports)&quot;&gt;Gold Plan&lt;/a&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 class=&quot;header&quot; id=&quot;article-writing-3cf3&quot;&gt;&lt;span class=&quot;header-text&quot;&gt;Article writing&lt;/span&gt;&lt;a href=&quot;/2025/01/24/my-2024-wikipedia-editing.html#article-writing-3cf3&quot; class=&quot;header-link&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I try to write about subjects I don&apos;t already know a bunch about. Doing so helps less of my personal bias and opinions slip in and helps reinforce Wikipedia being an amateur project. I&apos;m far more likely to do a better job at solely summarizing what sources say if that&apos;s literally all I know about a subject.&lt;/p&gt;
&lt;p&gt;Once I&apos;ve found a subject, itt usually takes me around two to three hours to write an article from scratch. Most of the time is spent searching for and reading sources and then ~30 minutes to write it all up.&lt;/p&gt;
&lt;p&gt;This may seem counterintuitive, but I try to ensure that all the articles I create are incomplete. I don&apos;t add infoboxes, categories, WikiProject banners, etc. I&apos;ll often leave links to sources that are useful but that I didn&apos;t include on the talk page, with editorial suggestions.&lt;/p&gt;
&lt;p&gt;I think it&apos;s important that there are always easy ways for people to get involved with editing, and leaving &amp;quot;basic&amp;quot; elements of an article out provides an easy pathway. Along the same vein, I&apos;ll proofread the article once before saving, but if I spot a minor error afterwards (like, a grammar or spelling error, not a factual mistake), I&apos;ll just leave it.&lt;/p&gt;
&lt;p&gt;For every new article I created this year, I wrote a short Mastodon post with a link (&lt;a href=&quot;https://wikis.world/@legoktm/113416297555748238&quot;&gt;example&lt;/a&gt;), which did a decent job at getting my followers to improve them :)&lt;/p&gt;
&lt;h2 class=&quot;header&quot; id=&quot;administrative-work-3cf3&quot;&gt;&lt;span class=&quot;header-text&quot;&gt;Administrative work&lt;/span&gt;&lt;a href=&quot;/2025/01/24/my-2024-wikipedia-editing.html#administrative-work-3cf3&quot; class=&quot;header-link&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I&apos;ve primarily been helping out as an administrator at the &lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia:Redirects_for_discussion&quot;&gt;Redirects for discussion&lt;/a&gt; process, which is perenially backlogged. I find it incredibly interesting because most of the subjects tend to be rather niche, with people trying to assess whether a redirect is useful for navigation or not, in addition to plenty of other factors.&lt;/p&gt;
&lt;p&gt;Some fun examples: &lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia:Redirects_for_discussion/Log/2024_September_16#B%C4%ABn&quot;&gt;Bīn&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia:Redirects_for_discussion/Log/2024_October_17#Tighten&quot;&gt;Tighten&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia:Redirects_for_discussion/Log/2024_October_9#Asplode&quot;&gt;Asplode&lt;/a&gt;.&lt;/p&gt;
</content></entry><entry><title>gerrit-grr 5.0</title><id>tag:blog.legoktm.com,2024-08-19:/2024/08/19/gerrit-grr-50.html</id><updated>2024-08-19T00:00:00+00:00</updated><author><name>legoktm</name></author><category term="MediaWiki"/><category term="gerrit"/><category term="mediawiki"/><category term="rust"/><link href="https://blog.legoktm.com/2024/08/19/gerrit-grr-50.html" rel="alternate"/><published>2024-08-19T00:00:00+00:00</published><summary type="html">I recently released 5.0.0 of my grr tool that makes working with Gerrit easier. It is an alternative to git-review; I personally think grr is more straightforward to use, but I also haven&apos;t used git-review since 2014 when I first got frustrated enough to create grr. I had let it…</summary><content type="html">&lt;p&gt;I recently released 5.0.0 of my &lt;a href=&quot;https://gitlab.com/legoktm/rust-grr&quot;&gt;&lt;code&gt;grr&lt;/code&gt; tool&lt;/a&gt; that makes working
with Gerrit easier. It is an alternative to &lt;a href=&quot;https://pypi.org/project/git-review/&quot;&gt;&lt;code&gt;git-review&lt;/code&gt;&lt;/a&gt;;
I personally think &lt;code&gt;grr&lt;/code&gt; is more straightforward to use, but I also haven&apos;t used &lt;code&gt;git-review&lt;/code&gt; since 2014 when I first got frustrated enough to create &lt;code&gt;grr&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;I had let it bitrot since I wasn&apos;t doing as much code review and it seemed like Wikimedia
was going to &lt;a href=&quot;https://www.mediawiki.org/wiki/GitLab/Migration_status&quot;&gt;move away from Gerrit&lt;/a&gt; but both
of those have changed now!&lt;/p&gt;
&lt;p&gt;There&apos;s no user-facing changes, it was just a lot of internal refactoring
that required breaking API changes, and then removing that API entirely because it was blocking further
refactoring. Rewriting &lt;code&gt;grr&lt;/code&gt; in Rust was one of my &lt;a href=&quot;/2020/06/14/learning-rust-week-2.html&quot;&gt;first Rust projects&lt;/a&gt; and the code really showed that. It&apos;s now cleaned up and I also dropped all the dependencies that linked to C code (OpenSSL/libgit2) to make builds
easier and more portable.&lt;/p&gt;
&lt;p&gt;Fundamentally, &lt;code&gt;grr&lt;/code&gt; is a small wrapper around Gerrit&apos;s native functionality. I don&apos;t think it&apos;s widely known that submitting a patch to Gerrit is as straightforward as &lt;code&gt;git push origin HEAD:refs/for/&amp;lt;branch&amp;gt;&lt;/code&gt;. And if you want to set a custom topic, you can append &lt;code&gt;%topic=&amp;lt;...&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;So that&apos;s exactly what &lt;code&gt;grr&lt;/code&gt; executes; but much shorter. To submit a patch just run: &lt;code&gt;grr&lt;/code&gt;. (If you need to push to the non-primary branch, use &lt;code&gt;grr &amp;lt;branch&amp;gt;&lt;/code&gt;.) And to pull down a patch for review, run &lt;code&gt;grr fetch &amp;lt;id&amp;gt;&lt;/code&gt;. There&apos;s some more commands &lt;a href=&quot;https://gitlab.com/legoktm/rust-grr#usage&quot;&gt;documented in the README&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Going back to the &lt;code&gt;%topic=&lt;/code&gt; example, &lt;code&gt;grr&lt;/code&gt; provides a &lt;code&gt;--topic &amp;lt;...&amp;gt;&lt;/code&gt; option that turns into that. If you want to immediately set a Code-Review +2 vote when uploading (e.g. to automatically trigger CI
to merge), you can provide &lt;code&gt;--code-review=+2&lt;/code&gt; (turns into &lt;code&gt;%l=Code-Review+2&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;To install, run &lt;code&gt;cargo install --locked gerrit-grr&lt;/code&gt;. &lt;a href=&quot;https://gitlab.com/legoktm/rust-grr/-/releases&quot;&gt;Pre-built binaries&lt;/a&gt; and an &lt;a href=&quot;https://gitlab.com/legoktm/rust-grr#grr&quot;&gt;OCI image&lt;/a&gt; are also available.&lt;/p&gt;
</content></entry><entry><title>Building a less terrible URL shortener</title><id>tag:blog.legoktm.com,2024-07-23:/2024/07/23/building-a-less-terrible-url-shortener.html</id><updated>2024-07-23T05:33:14+00:00</updated><author><name>legoktm</name></author><category term="MediaWiki"/><category term="mediawiki"/><category term="urlshortener"/><category term="wwiki"/><link href="https://blog.legoktm.com/2024/07/23/building-a-less-terrible-url-shortener.html" rel="alternate"/><published>2024-07-23T05:33:14+00:00</published><summary type="html">The demise of goo.gl is a good opportunity to write about how we built a less terrible URL shortener for Wikimedia projects: w.wiki. (I actually started writing this blog post in 2016 and never got back to it, oops.) URL shorteners are generally a bad idea for a few main…</summary><content type="html">&lt;p&gt;The &lt;a href=&quot;https://developers.googleblog.com/en/google-url-shortener-links-will-no-longer-be-available/&quot;&gt;demise of goo.gl&lt;/a&gt; is a good opportunity to write about how we built a less terrible URL shortener for Wikimedia projects: &lt;a href=&quot;https://w.wiki/&quot;&gt;w.wiki&lt;/a&gt;. (I actually started writing this blog post in &lt;a href=&quot;https://meta.wikimedia.org/w/index.php?title=Wikimedia_Blog/Drafts/Introducing_w.wiki&amp;amp;oldid=15805022&quot;&gt;2016&lt;/a&gt; and never got back to it, oops.)&lt;/p&gt;
&lt;p&gt;URL shorteners are generally a bad idea for a few main reasons:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;They obfuscate the actual link destination, making it harder to figure out where a link will take you.&lt;/li&gt;
&lt;li&gt;If they disappear or are shut down, the link is broken, even if the destination is fully functional.&lt;/li&gt;
&lt;li&gt;They often collect extra tracking/analytics information.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;But there are also legitimate reasons to want to shorten a URL, including use in printed media where it&apos;s easier for people to type a shorter URL. Or circumstances where there are restrictive character limits like tweets and IRC topics.
The latter often affects non-ASCII languages even more when limits are measured in bytes instead of Unicode characters.&lt;/p&gt;
&lt;p&gt;At the end of the day, there was still &lt;a href=&quot;https://meta.wikimedia.org/wiki/Community_Wishlist_Survey_2019/Reading/Create_URL_Shortener_extension_for_Wikimedia_wikis&quot;&gt;considerable demand&lt;/a&gt; for a URL shortener, so we figured we could provide one that was well, less terrible. Following a &lt;a href=&quot;https://www.mediawiki.org/wiki/Requests_for_comment/URL_shortener&quot;&gt;RfC&lt;/a&gt;,
we adopted &lt;a href=&quot;https://www.mediawiki.org/wiki/Requests_for_comment/URL_shortener#Tim.27s_implementation_suggestion&quot;&gt;Tim&apos;s proposal&lt;/a&gt;, and a plan to avoid the aforementioned flaws:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Limit shortening to Wikimedia-controlled domains, so you have a general sense of where you&apos;d end up. (Other generic URL shorteners are banned on Wikimedia sites because they bypass our &lt;a href=&quot;https://www.mediawiki.org/wiki/Extension:SpamBlacklist&quot;&gt;domain-based spam blocking&lt;/a&gt;.)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://phabricator.wikimedia.org/T116986&quot;&gt;Proactively provide dumps&lt;/a&gt; as a guarantee that if the service ever disappeared, people could still map URLs to their targets. You can find them on &lt;a href=&quot;https://dumps.wikimedia.org/other/shorturls/&quot;&gt;dumps.wikimedia.org&lt;/a&gt; and they&apos;re mirrored to the &lt;a href=&quot;https://phabricator.wikimedia.org/T257782#6376253&quot;&gt;Internet Archive&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Intentionally avoid any extra tracking and metrics collection. It is still included in Wikimedia&apos;s general &lt;a href=&quot;https://wikitech.wikimedia.org/wiki/Data_Platform/Data_Lake/Traffic/Webrequest&quot;&gt;webrequest&lt;/a&gt; logs, but there is no dedicated, extra tracking for short URLs besides what every request gets.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Anyone can create short URLs for any approved domain, subject to some rate limits and anti-abuse mechanisms via a special page or the API.&lt;/p&gt;
&lt;p&gt;All of this is &lt;a href=&quot;https://gerrit.wikimedia.org/g/mediawiki/extensions/UrlShortener/+/refs/heads/master&quot;&gt;open source&lt;/a&gt; and usable by any MediaWiki wiki by installing the &lt;a href=&quot;https://www.mediawiki.org/wiki/Extension:UrlShortener&quot;&gt;UrlShortener extension&lt;/a&gt;.
(Since this launched, additional functionality was added to use multiple character sets and generate QR codes.)&lt;/p&gt;
&lt;p&gt;The dumps are nice for other purposes too, I use them to provide &lt;a href=&quot;https://shorturls.toolforge.org/&quot;&gt;basic statistics&lt;/a&gt; on how many URLs have been shortened.&lt;/p&gt;
&lt;p&gt;I still tend to have a mildly negative opinion about people using our URL shortner, but hey, it could be worse, at least they&apos;re not using &lt;code&gt;goo.gl&lt;/code&gt;.&lt;/p&gt;
</content></entry><entry><title>Making it easier for Toolforge tools to surface replag</title><id>tag:blog.legoktm.com,2024-07-12:/2024/07/12/making-it-easier-for-toolforge-tools-to-surface-replag.html</id><updated>2024-07-12T04:34:04+00:00</updated><author><name>legoktm</name></author><category term="MediaWiki"/><category term="mysql"/><category term="replag"/><category term="rust"/><category term="toolforge"/><link href="https://blog.legoktm.com/2024/07/12/making-it-easier-for-toolforge-tools-to-surface-replag.html" rel="alternate"/><published>2024-07-12T04:34:04+00:00</published><summary type="html">A number of tools hosted on Toolforge rely on the replicated MediaWiki databases, dubbed &quot;Wiki Replicas&quot;. Every so often these servers have replication lag, which affects the data returned as well as the performance of the queries. And when this happens, users get confused and start reporting bugs that aren&apos;t…</summary><content type="html">&lt;p&gt;A number of tools hosted on Toolforge rely on the replicated MediaWiki databases,
dubbed &lt;a href=&quot;https://wikitech.wikimedia.org/wiki/Help:Wiki_Replicas&quot;&gt;&amp;quot;Wiki Replicas&amp;quot;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Every so often these servers have &lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia:Replication_lag&quot;&gt;replication lag&lt;/a&gt;, which affects the data
returned as well as the performance of the queries. And when this happens,
users get confused and start reporting bugs that aren&apos;t solvable.&lt;/p&gt;
&lt;p&gt;This actually used to be way worse during the Toolserver era (sometimes replag would be on the scale of months!), and users were
well educated to the potential problems. Most tools would display a banner if
there was lag and there were even bots that would update an &lt;a href=&quot;https://en.wikipedia.org/w/index.php?title=Wikipedia:Toolserver/status&amp;amp;diff=prev&amp;amp;oldid=613794158&quot;&gt;on-wiki template&lt;/a&gt;
every hour.&lt;/p&gt;
&lt;p&gt;A lot of these practices have been lost since the move to Toolforge since
replag has been basically zero the whole time. Now that more database
maintenance is happening (yay), replag is happening slightly more often.&lt;/p&gt;
&lt;p&gt;So to make it easier for tool authors to display replag status to users
with a minimal amount of effort, I&apos;ve developed a new tool:
&lt;a href=&quot;https://replag-embed.toolforge.org/demo&quot;&gt;replag-embed.toolforge.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It provides an iframe that automatically displays a small banner if there&apos;s
more than 30 seconds of lag and nothing otherwise.&lt;/p&gt;
&lt;p&gt;As an example, as I write this, the current replag for commons.wikimedia.org looks like:&lt;/p&gt;
&lt;p class=&quot;replag-lagged&quot;&gt;
The replica database (s4) is currently lagged by 1762.9987 seconds (00:29:22), you may see outdated results
or slowness. See the &lt;a href=&quot;https://replag.toolforge.org/&quot; target=&quot;_blank&quot;&gt;replag tool&lt;/a&gt; for more details.
&lt;/p&gt;
&lt;p&gt;Of course, you can use CSS to style it differently if you&apos;d like.&lt;/p&gt;
&lt;p&gt;I&apos;ve integrated this into my &lt;a href=&quot;https://streaks.toolforge.org/&quot;&gt;Wiki streaks&lt;/a&gt; tool, where the banner appears/disappears depending on what wiki you select and whether it&apos;s lagged.
The actual code required to do this was &lt;a href=&quot;https://gitlab.wikimedia.org/toolforge-repos/streaks/-/commit/e3f96926ada74fa33cef04716f38042ef7446b82&quot;&gt;pretty simple&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;replag-embed is written in Rust of course, (&lt;a href=&quot;https://gitlab.wikimedia.org/toolforge-repos/replag-embed/&quot;&gt;source code&lt;/a&gt;) and leverages in-memory
caching to quickly serve responses.&lt;/p&gt;
&lt;p&gt;Currently I&apos;d consider this tool to be beta quality - I think it is promising
and ready for other people to give it a try, but know there are probably some
kinks that need to be worked out.&lt;/p&gt;
&lt;p&gt;The Phabricator task tracking this work is
&lt;a href=&quot;https://phabricator.wikimedia.org/T321640&quot;&gt;T321640&lt;/a&gt;; comments there would be
appreciated if you try it out.&lt;/p&gt;
</content></entry><entry><title>#wikimedia-rust Matrix to IRC bridge is back</title><id>tag:blog.legoktm.com,2024-06-19:/2024/06/19/wikimedia-rust-matrix-to-irc-bridge-is-back.html</id><updated>2024-06-19T20:11:08+00:00</updated><author><name>legoktm</name></author><category term="MediaWiki"/><category term="irc"/><category term="matrix"/><category term="mwbot"/><category term="rust"/><link href="https://blog.legoktm.com/2024/06/19/wikimedia-rust-matrix-to-irc-bridge-is-back.html" rel="alternate"/><published>2024-06-19T20:11:08+00:00</published><summary type="html">tl;dr: You can now chat in #wikimedia-rust:matrix.org and reach folks on IRC Nearly a year ago, the official Libera.Chat &lt;-&gt; Matrix bridge was shut down. There&apos;s a lot that went wrong in the technical and social operation of the bridge that the Libera.Chat staff have helpfully documented, but from a…</summary><content type="html">&lt;p&gt;tl;dr: You can now chat in &lt;a href=&quot;https://matrix.to/#/#wikimedia-rust:matrix.org&quot;&gt;&lt;code&gt;#wikimedia-rust:matrix.org&lt;/code&gt;&lt;/a&gt; and reach folks on IRC&lt;/p&gt;
&lt;p&gt;Nearly a year ago, the official Libera.Chat &amp;lt;-&amp;gt; Matrix bridge was &lt;a href=&quot;https://libera.chat/news/matrix-bridge-disabled-retrospective&quot;&gt;shut down&lt;/a&gt;.
There&apos;s a lot that went wrong in the technical and social operation of the bridge
that the Libera.Chat staff have helpfully documented, but from a community management perspective
the bridge, when it worked, was fantastic.&lt;/p&gt;
&lt;p&gt;But, we now have a bridge back in place! &lt;a href=&quot;https://wikitech.wikimedia.org/wiki/Tool:Bridgebot&quot;&gt;Bridgebot&lt;/a&gt; is a deployment of
&lt;a href=&quot;https://github.com/42wim/matterbridge&quot;&gt;matterbridge&lt;/a&gt;, which is primarily used in Wikimedia spaces for bridging IRC and Telegram, but it also
speaks Matrix reasonably well.&lt;/p&gt;
&lt;p&gt;Thanks to Bryan Davis for starting/maintaining the bridgebot project and Lucas Werkmeister
for deploying the change; we now have a bot that relays comments between IRC and Matrix.&lt;/p&gt;
&lt;pre style=&quot;background-color:#e3eaf2;&quot;&gt;&lt;code class=&quot;language-irc&quot;&gt;&lt;span style=&quot;color:#111b27;&quot;&gt;12:12:50 &amp;lt;wm-bb&amp;gt; [matrix] &amp;lt;legoktm&amp;gt; ooh, I think the Matrix bridging is working now
&lt;/span&gt;&lt;span style=&quot;color:#111b27;&quot;&gt;12:12:58 &amp;lt;legoktm&amp;gt; o/
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And if you look at the &lt;a href=&quot;https://view.matrix.org/alias/%23wikimedia-rust:matrix.org&quot;&gt;view.matrix.org logs&lt;/a&gt;, those messages are there too.&lt;/p&gt;
&lt;p&gt;So if you&apos;re interested in or working on Wikimedia-related things that are in
Rust, please join us, in either IRC or Matrix or both :)&lt;/p&gt;
</content></entry><entry><title>&quot;Skip Mobile Wikipedia&quot; add-on available on Android (again)</title><id>tag:blog.legoktm.com,2023-12-27:/2023/12/27/skip-mobile-wikipedia-add-on-available-on-android-again.html</id><updated>2023-12-27T05:42:30+00:00</updated><author><name>legoktm</name></author><category term="MediaWiki"/><category term="firefox"/><category term="wikipedia"/><link href="https://blog.legoktm.com/2023/12/27/skip-mobile-wikipedia-add-on-available-on-android-again.html" rel="alternate"/><published>2023-12-27T05:42:30+00:00</published><summary type="html">In 2018 I announced the creation of my &quot;Skip Mobile Wikipedia&quot; Firefox add-on, which automatically redirects you to the desktop version of the site. At the time it worked on both standard desktop Firefox and in Firefox for Android, life was great. Unfortunately at some point, Firefox stopped allowing arbitrary…</summary><content type="html">&lt;p&gt;In 2018 I &lt;a href=&quot;/2018/04/14/firefox-add-on-to-skip-mobile-wikipedia-redirect.html&quot;&gt;announced&lt;/a&gt; the creation of my &amp;quot;&lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/skip-mobile-wikipedia/&quot;&gt;Skip Mobile Wikipedia&lt;/a&gt;&amp;quot; Firefox add-on, which automatically
redirects you to the desktop version of the site. At the time it worked on both standard desktop Firefox and in Firefox for Android, life was great.&lt;/p&gt;
&lt;p&gt;Unfortunately at some point, Firefox stopped allowing arbitrary add-ons on Android and it was disabled. It was still usable in the &amp;quot;Nightly&amp;quot; edition, but that wasn&apos;t very user friendly.&lt;/p&gt;
&lt;p&gt;Anyways, fast-forward to earlier this month, Firefox has &lt;a href=&quot;https://blog.mozilla.org/addons/2023/12/14/a-new-world-of-open-extensions-on-firefox-for-android-has-arrived/&quot;&gt;re-enabled&lt;/a&gt; general add-on support, so
&amp;quot;Skip Mobile Wikipedia&amp;quot; is installable and works again on Android. The &lt;a href=&quot;https://git.legoktm.com/legoktm/skip-mobile-wikipedia&quot;&gt;source code&lt;/a&gt; is the same, I haven&apos;t had any need to update it since 2020.&lt;/p&gt;
&lt;p&gt;I personally use the responsive &lt;a href=&quot;https://www.mediawiki.org/wiki/Skin:Timeless&quot;&gt;Timeless skin&lt;/a&gt;, which I think provides a nicer viewing and editing experience from my phone. Happy browsing!&lt;/p&gt;
</content></entry><entry><title>2023 Wikimedia Hackathon recap</title><id>tag:blog.legoktm.com,2023-05-31:/2023/05/31/2023-wikimedia-hackathon-recap.html</id><updated>2023-05-31T23:59:59+00:00</updated><author><name>legoktm</name></author><category term="MediaWiki"/><category term="athens"/><category term="greece"/><category term="hackathon"/><category term="mediawiki"/><category term="wikimedia"/><link href="https://blog.legoktm.com/2023/05/31/2023-wikimedia-hackathon-recap.html" rel="alternate"/><published>2023-05-31T23:59:59+00:00</published><summary type="html">I had a wonderful time at the 2023 Wikimedia Hackthon in Athens, Greece, earlier this month. The best part was easily seeing old friends that I haven&apos;t met in person since probably 2018 and getting to hack and chat together. I also met a ton of new friends for the…</summary><content type="html">&lt;p&gt;I had a wonderful time at the &lt;a href=&quot;https://www.mediawiki.org/wiki/Wikimedia_Hackathon_2023&quot;&gt;2023 Wikimedia Hackthon&lt;/a&gt; in Athens, Greece, earlier this month. The best part was easily seeing old friends that I haven&apos;t met in person since
probably 2018 and getting to hack and chat together. I also met a ton of new friends for the first time, even though we&apos;ve been working together for multiple years at this point! I very much enjoy the remote, distributed nature
of working in Wikimedia Tech, but it&apos;s also really nice to meet people in person.&lt;/p&gt;
&lt;p&gt;This post is very scattered because that was my experience at the hackathon itself, just constantly running around, bumping into people.&lt;/p&gt;
&lt;p&gt;I wrote that I wanted to work on: &amp;quot;mwbot-rs and Rust things, technical governance (open to nerd sniping)&amp;quot;. I definitely did my fair share of Rust evangelism and had good discussions regarding technical governance (more on that another
time). And some Mastodon evangelism and a bunch of sticker trading.&lt;/p&gt;
&lt;p&gt;But before I got into hacking things, I tabulated and published the results of the &lt;a href=&quot;https://commons.wikimedia.org/wiki/Commons:Picture_of_the_Year/2022/Results&quot;&gt;2022 Commons Picture of the Year contest&lt;/a&gt;, which I think turned out
pretty well this year. Of course, the list of things to improve for next year keeps getting longer and longer (again, more on that in a future post).&lt;/p&gt;
&lt;p&gt;At some point during conversation, I/we realized that the GWToolset extension was still deployed on Wikimedia Commons despite being, well, basically dead. It hadn&apos;t been used in over a year and &lt;a href=&quot;https://commons.wikimedia.org/wiki/Commons:GLAMwiki_Toolset/Obituary&quot;&gt;last rites were administered back in November&lt;/a&gt; (literally, you have to look at the photos).&lt;/p&gt;
&lt;p&gt;With a &lt;a href=&quot;https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/921252&quot;&gt;thumbs-up from extension-undeploying expert Zabe&lt;/a&gt; (and others), I undeployed it! There was a &amp;quot;fun&amp;quot; moment when the venue WiFi dropped so the scap output
froze on my terminal, but I knew it sucessfully went through a few minutes later because of the IRC notification, phew. Anyways, RIP, end of an era.&lt;/p&gt;
&lt;p&gt;And then Taavi &lt;a href=&quot;https://phabricator.wikimedia.org/T324535&quot;&gt;deployed the RealMe extension&lt;/a&gt;, which allows wiki users to verify their Mastodon accounts and vice versa. But we went for dinner immediately after so Taavi wasn&apos;t even the
first one to announce it, &lt;a href=&quot;https://social.cologne/@Raymond/110396164044936279&quot;&gt;Raymond beat him to it&lt;/a&gt;! :-)&lt;/p&gt;
&lt;p&gt;I spent a while rebasing &lt;a href=&quot;https://gerrit.wikimedia.org/r/c/mediawiki/core/+/589166&quot;&gt;a patch to bring EventStreams output to parity with the IRC feed&lt;/a&gt; that was first posted in April 2020 and got it merged (you&apos;re welcome Faidon ;)).&lt;/p&gt;
&lt;p&gt;One of the last things I did before leaving was an &lt;a href=&quot;https://phabricator.wikimedia.org/T336990#8886706&quot;&gt;interview about MediaWiki in the context of spinning up a new MediaWiki platform team&lt;/a&gt; (guess which one I am). At one point the
question was &amp;quot;What is the &lt;em&gt;single&lt;/em&gt; biggest pain point of working in MediaWiki?&amp;quot; Me: &amp;quot;can I have two?&amp;quot;&lt;/p&gt;
&lt;p&gt;Reviewed a bunch of stuff:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://gerrit.wikimedia.org/r/c/mediawiki/core/+/919386&quot;&gt;Add Authorization to default $wgAllowedCorsHeaders&lt;/a&gt; - this is something 0xDeadbeef had asked for. Reedy, sitting next to us, verbally approved the security aspect, but since I had already
packed away my laptop, I tried to +2 it from Lucas&apos;s only to discover he didn&apos;t have +2 on his volunteer account. Hence &lt;a href=&quot;https://phabricator.wikimedia.org/T337014&quot;&gt;T337014&lt;/a&gt;. (And then I +2&apos;d it later and Reedy did backports)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ContactPage/+/869749&quot;&gt;Define merge strategy for ContactConfig as array_plus_2d&lt;/a&gt; - me, crying about merge strategies again&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CheckUser/+/921358&quot;&gt;Prepare CheckUser pagers for event table migration&lt;/a&gt;, &lt;a href=&quot;https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CheckUser/+/888661&quot;&gt;Ensure last timestamp is shown when no matches found for an IP&lt;/a&gt; - it&apos;s nice sitting next to people because I can watch them demonstrate it working on their laptop instead of having to set it all up on mine :)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gerrit.wikimedia.org/r/c/mediawiki/extensions/CheckUser/+/886201&quot;&gt;Add config to control default collapse state of CheckUserHelper&lt;/a&gt; - had a good discussion about avoiding (IMO) unnecessary config settings, and then I merged it :p&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gerrit.wikimedia.org/r/c/mediawiki/core/+/902363/&quot;&gt;language: Annotate list() methods as preserving taintedness&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://gerrit.wikimedia.org/r/c/mediawiki/core/+/921405&quot;&gt;Add &apos;preloadcontent&apos; and &apos;editintro&apos; in API prop=info&lt;/a&gt; - again, nice to sit next to people who have all the test cases ready to go&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Probably the most important &lt;a href=&quot;https://gerrit.wikimedia.org/r/c/mediawiki/core/+/921530&quot;&gt;patch&lt;/a&gt; I wrote at the hackathon was to add MaxSem, Amir (Ladsgroup), TheDJ and Petr Pchelko to the primary MediaWiki authors list on
&lt;a href=&quot;https://en.wikipedia.org/wiki/Special:Version&quot;&gt;Special:Version&lt;/a&gt;. &amp;lt;3&lt;/p&gt;
&lt;p&gt;Despite having a bunch of wonderful people being there, it was also very apparent who wasn&apos;t there. We need more regional hackathons and after a bit of reassurance from Siebrand and Maarten, it became clear that we have enough
Wikimedia Tech folks in New York City already, so uh, stay tuned for details about some future NYC-based hackathon and let me know if you&apos;re interested in helping!&lt;/p&gt;
&lt;p&gt;Final thanks to the Wikimedia Foundation for giving me a scholarship to attend. I really can&apos;t wait until the next time I get to see everyone again.&lt;/p&gt;
</content></entry><entry><title>Six months of Wikis World</title><id>tag:blog.legoktm.com,2023-04-13:/2023/04/13/six-months-of-wikis-world.html</id><updated>2023-04-13T03:14:27+00:00</updated><author><name>legoktm</name></author><category term="MediaWiki"/><category term="fediverse"/><category term="mastodon"/><category term="wikisworld"/><link href="https://blog.legoktm.com/2023/04/13/six-months-of-wikis-world.html" rel="alternate"/><published>2023-04-13T03:14:27+00:00</published><summary type="html">I did a lot of new, crazy things in 2022, but by far, the most unplanned and unexpected was running a social media server for my friends. Somehow it has been six months since Taavi and I launched Wikis World, dubbed &quot;a Mastodon server for wiki enthusiasts&quot;. Given that milestone,…</summary><content type="html">&lt;p&gt;I did a lot of new, crazy things in 2022, but by far, the most unplanned and unexpected was running a social media server for my friends.&lt;/p&gt;
&lt;p&gt;Somehow it has been six months since Taavi and I launched &lt;a href=&quot;https://wikis.world/&quot;&gt;Wikis World&lt;/a&gt;, dubbed &amp;quot;a Mastodon server for wiki enthusiasts&amp;quot;.&lt;/p&gt;
&lt;p&gt;Given that milestone, it&apos;s time for me to come clean: I do not like microblogging. I don&apos;t like tweets nor toots nor most forms of character-limited posting. I&apos;m a print journalist by training and mentality (there&apos;s a reason
this blog has justified text!); I&apos;d so much rather read your long-form blog posts and newsletters. I want all the nuance and detail that people leave out when microblogging.&lt;/p&gt;
&lt;p&gt;But this seems to be the best option to beat corporate social media, so here I am, co-running a microblogging server. Not to mention that I&apos;m attempting to co-run accounts for two projects I&apos;ve basically dedicated the past decade
of my life to: &lt;a href=&quot;https://www.mediawiki.org/wiki/Project:Mastodon&quot;&gt;@MediaWiki&lt;/a&gt; and &lt;a href=&quot;https://meta.wikimedia.org/wiki/@Wikipedia&quot;&gt;@Wikipedia&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Anyways, here are some assorted thoughts about running a Mastodon server.&lt;/p&gt;
&lt;h2 class=&quot;header&quot; id=&quot;content-moderation-7a6a&quot;&gt;&lt;span class=&quot;header-text&quot;&gt;Content moderation&lt;/span&gt;&lt;a href=&quot;/2023/04/13/six-months-of-wikis-world.html#content-moderation-7a6a&quot; class=&quot;header-link&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I feel like I have a good amount of &amp;quot;content moderation&amp;quot; experience from being a Wikipedia administrator and my conclusion is that I don&apos;t like it (what a trend, I promise there are actually things
I like about this) and more importantly, I&apos;m not very good at it. For the first few months I read literally every post on the Wikis World local timeline, analyzing to see whether it was okay or problematic.
This was, unsurprisingly, incredibly unhealthy for me and once I realized how unhappy I was, I stopped doing it.&lt;/p&gt;
&lt;p&gt;Especially once we added Lucas and now AntiComposite as additional moderators, I feel a lot more comfortable skimming the local timeline with the intent of actually seeing what people are posting, not pure moderation.&lt;/p&gt;
&lt;p&gt;This is not to eschew proactive moderation (which is still important!), just that my approach was not working for me, and honestly, our members have demonstrated that they don&apos;t really need it. Which brings me to...&lt;/p&gt;
&lt;h2 class=&quot;header&quot; id=&quot;community-building-7a6a&quot;&gt;&lt;span class=&quot;header-text&quot;&gt;Community building&lt;/span&gt;&lt;a href=&quot;/2023/04/13/six-months-of-wikis-world.html#community-building-7a6a&quot; class=&quot;header-link&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I&apos;ve said in a few places that I wanted Wikis World to grow organically. I never really defined what un-organically was, but my rough idea was that we would build a community around/through Wikis World instead of just importing
one from elsewhere. I don&apos;t think that ended up happening, but it was a bad goal and was never going to happen. We have slightly under 100 accounts, but it&apos;s not like all of us are talking to and with each other. Instead,
I feel like I&apos;m in a circle of ~5-15 people, largely Wikimedians active in tech areas, who regularly interact with each other, and half of those people host their account elsewhere. Plus the common thread bringing everyone
together is wikis, which is already an existing community!&lt;/p&gt;
&lt;p&gt;So far I&apos;m pretty happy with how Wikis World has grown. I have a few ideas on how to reduce signup friction and automatically hand out invites, hopefully in the next few months.&lt;/p&gt;
&lt;h2 class=&quot;header&quot; id=&quot;the-rewarding-part-7a6a&quot;&gt;&lt;span class=&quot;header-text&quot;&gt;The rewarding part&lt;/span&gt;&lt;a href=&quot;/2023/04/13/six-months-of-wikis-world.html#the-rewarding-part-7a6a&quot; class=&quot;header-link&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;It is incredibly empowering to exist in a social media space that is defined on my own terms (well, mostly). We are one of the few servers that defaults to a free Creative Commons license (hopefully not the only server). We have
a culture that promotes free and open content over proprietary stuff. And when I encourage people to join the Fediverse, I know I&apos;m bringing them to a space that respects them as individual human beings and won&apos;t deploy unethical
dark patterns against them.&lt;/p&gt;
&lt;p&gt;To me, that makes it all worth it. The fact that I&apos;m also able to provide a service for my friends and other wiki folks is really just a bonus. Here&apos;s to six more months of Wikis World! :-)&lt;/p&gt;
</content></entry><entry><title>Wikimedia Foundation layoffs</title><id>tag:blog.legoktm.com,2023-04-05:/2023/04/05/wikimedia-foundation-layoffs.html</id><updated>2023-04-05T10:00:00+00:00</updated><author><name>legoktm</name></author><category term="MediaWiki"/><category term="wikimedia"/><link href="https://blog.legoktm.com/2023/04/05/wikimedia-foundation-layoffs.html" rel="alternate"/><published>2023-04-05T10:00:00+00:00</published><summary type="html">The Wikimedia Foundation is currently going through layoffs, reducing headcount by about 5%. I am disappointed that no public announcement has been made, rather people are finding out through rumor and backchannels. In February when I asked whether the WMF was planning layoffs at the &quot;Conversation with the Trustees&quot; event…</summary><content type="html">&lt;p&gt;The Wikimedia Foundation is currently going through layoffs, reducing headcount by about 5%. I am disappointed that no public announcement has been made, rather people are
finding out through rumor and backchannels.&lt;/p&gt;
&lt;p&gt;In February when I asked whether the WMF was planning layoffs at the &amp;quot;Conversation with the Trustees&amp;quot; event (&lt;a href=&quot;https://www.youtube.com/live/cGqHUrpU2Rc?feature=share&amp;amp;t=4746&quot;&gt;see on YouTube&lt;/a&gt;), the response
was that the WMF was anticipating a reduced budget, &amp;quot;slower growth&amp;quot;, and that more information would be available in April. My understanding is that the fact ~5% layoffs would happen has been known since at least early March.&lt;/p&gt;
&lt;p&gt;Consider the reaction to Mozilla&apos;s layoffs from a few years ago; the broader community set up the &lt;a href=&quot;https://mozillalifeboat.com/&quot;&gt;Mozilla Lifeboat&lt;/a&gt;, among other things to help find new jobs for people who were laid off. Who knows
if such a thing would happen now given the current economy, but it absolutely won&apos;t happen if people don&apos;t even know about the layoffs in the first place.&lt;/p&gt;
&lt;p&gt;Layoffs also greatly affect the broader Wikimedia volunteer community, whether it&apos;s directly in that staff you were working with are no longer employed at the WMF or a project you were contributing to or even depending on now has
less resources.&lt;/p&gt;
&lt;p&gt;I have much more to say about what the ideal size of the WMF is and how this process unfolded, but I&apos;ll save that for another time. For now, just thanks to the WMF staff, both current and past.&lt;/p&gt;
</content></entry></feed>