<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>The Lego Mirror</title><id>https://blog.legoktm.com/</id><updated>2026-06-14T18:30:00+00:00</updated><link href="https://blog.legoktm.com/" rel="alternate"/><link href="https://blog.legoktm.com/feeds/all.atom.xml" rel="self"/><entry><title>Do-the-work instead of proof-of-work, for Git hosting</title><id>tag:blog.legoktm.com,2026-06-14:/2026/06/14/do-the-work-instead-of-proof-of-work-for-git-hosting.html</id><updated>2026-06-14T18:30:00+00:00</updated><author><name>legoktm</name></author><category term="Tech"/><category term="freedom"/><category term="git"/><category term="offline"/><category term="rust"/><link href="https://blog.legoktm.com/2026/06/14/do-the-work-instead-of-proof-of-work-for-git-hosting.html" rel="alternate"/><published>2026-06-14T18:30:00+00:00</published><summary type="html">The insane rise in scrapers across the web has affected a number of websites, including Git repository hosters. The main response has been to set up software like Anubis, which uses a proof-of-work system to limit who can access the website. While I don&apos;t fault overburdened sysadmins for enabling Anubis…</summary><content type="html">&lt;p&gt;The insane rise in scrapers across the web has affected a number of websites, including Git repository hosters. The main response has been to set up software like &lt;a href=&quot;https://lwn.net/Articles/1028558/&quot;&gt;Anubis&lt;/a&gt;, which uses a proof-of-work system to limit who can access the website.&lt;/p&gt;
&lt;p&gt;While I don&apos;t fault overburdened sysadmins for enabling Anubis to protect their servers from overload, I think it&apos;s a pretty bad solution. It introduces a delay, wastes energy, and just makes the user experience worse.&lt;/p&gt;
&lt;p&gt;We&apos;ve spent so, so, so much effort and energy squeezing out milliseconds of performance and optimizing connection times that deliberately making performance worse feels like a giant step backwards.&lt;/p&gt;
&lt;p&gt;And the work the client does is just thrown away! It&apos;s not actually anything useful; people rightfully critized Bitcoin and (formerly) Ethereum for being wasteful for the same reasons.&lt;/p&gt;
&lt;p&gt;So I&apos;d like to propose a different solution, which I call &amp;quot;do-the-work&amp;quot;.&lt;/p&gt;
&lt;p&gt;In a traditional setup, it is cheap for a client to send a request to a server, the server performs some potentially expensive computations/processing and sends back a response. With scraperbots, it becomes easy for those clients to very cheaply send thousands and millions of requests that overload a server.&lt;/p&gt;
&lt;p&gt;With proof-of-work protection (i.e. Anubis), the client it must perform its own computations, and only once it&apos;s done sufficient work, then it gets permission to send a request to the server. The server does more or less the same amount of work, it&apos;s just that the client now also has to do some work.&lt;/p&gt;
&lt;p&gt;Do-the-work aims to invert the client-server imbalance by making the server&apos;s job cheap and forcing the client to do the more expensive computations. In other words, if you want to see some information, you need to pay the costs of calculating it by... doing the work.&lt;/p&gt;
&lt;p&gt;Because of the way Git is designed, I think it&apos;s a great fit for this approach.&lt;/p&gt;
&lt;h2 class=&quot;header&quot; id=&quot;a-client-side-git-viewer-632b&quot;&gt;&lt;span class=&quot;header-text&quot;&gt;A client-side Git viewer&lt;/span&gt;&lt;a href=&quot;/2026/06/14/do-the-work-instead-of-proof-of-work-for-git-hosting.html#a-client-side-git-viewer-632b&quot; class=&quot;header-link&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;As &lt;a href=&quot;https://blog.legoktm.com/2026/05/26/gitlegoktmcom-is-back-sort-of.html&quot;&gt;previously teased&lt;/a&gt;, on &lt;a href=&quot;https://git.legoktm.com/&quot;&gt;git.legoktm.com&lt;/a&gt; I am now serving an entirely client-side Git repository viewer (&lt;a href=&quot;https://git.legoktm.com/public/webgit.git/&quot;&gt;source code&lt;/a&gt;, &lt;a href=&quot;https://git.legoktm.com/public/webgit.git/#!/tree/README.md&quot;&gt;README&lt;/a&gt;), which imitates the look of &lt;a href=&quot;https://git.zx2c4.com/cgit/about/&quot;&gt;cgit&lt;/a&gt; (used by e.g. &lt;a href=&quot;https://git.kernel.org/&quot;&gt;git.kernel.org&lt;/a&gt;). On the server-side, it is purely static hosting of bare repositories, requiring just Apache HTTPd and a few rewrite rules.&lt;/p&gt;
&lt;p&gt;The only thing I really need to worry about is bandwidth, but since it&apos;s now static content, it would theoretically be straightforward to put it behind a CDN.&lt;/p&gt;
&lt;p&gt;Since most of my personal projects are quite small, I&apos;ve mirrored a few larger projects so you can better see how it works: &lt;a href=&quot;https://git.legoktm.com/mirrors/securedrop.git/&quot;&gt;SecureDrop&lt;/a&gt; and &lt;a href=&quot;https://git.legoktm.com/mirrors/mediawiki.git/&quot;&gt;MediaWiki&lt;/a&gt;. All of these repositories are maintained in my private Forgejo instance and I rsync them over to git.legoktm.com.&lt;/p&gt;
&lt;p&gt;Under the hood, Git stores everything in &amp;quot;&lt;a href=&quot;https://git-scm.com/book/en/v2/Git-Internals-Git-Objects&quot;&gt;objects&lt;/a&gt;&amp;quot;, so as long as you have some way to fetch those, then you have all the information you need to calculate everything a Git viewer needs, like file contents, diffs, a log of changes, etc. In reality it&apos;s a bit more complicated with &lt;a href=&quot;https://git-scm.com/book/en/v2/Git-Internals-Packfiles&quot;&gt;pack files&lt;/a&gt;, but at the end of the day everything is an object.&lt;/p&gt;
&lt;p&gt;Most git clients expect this to be filesystem backed, but cyberia-ng&apos;s &lt;a href=&quot;https://lib.rs/crates/git-async&quot;&gt;git-async&lt;/a&gt; library abstracts the backend out. So I created a new backend that fetches over HTTP and stores the data in &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API&quot;&gt;IndexedDB&lt;/a&gt; in your browser.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src=&quot;/images/webgit-browser.png&quot; class=&quot;height-500&quot;&gt;
&lt;/figure&gt;
&lt;p&gt;Essentially you&apos;re performing a partial &lt;code&gt;git clone&lt;/code&gt; and then automatically backfilling missing objects as needed.&lt;/p&gt;
&lt;p&gt;There&apos;s probably a lot more room for performance improvements, but I think it&apos;s already usable enough for small-to-medium-sized repositories. This doesn&apos;t cover everything a forge does, but if you&apos;re just hosting cgit, this should be a drop-in replacement (aside from all the missing functionality).&lt;/p&gt;
&lt;p&gt;I think this approach can be better for privacy too. After the initial load, a subsequent load when nothing has changed on the server doesn&apos;t require fetching any more data; it wouldn&apos;t take that much more work to behave fully offline.&lt;/p&gt;
&lt;p&gt;For now this is mostly a proof-of-concept, but I think it&apos;s probably not too far off from turning into a real thing that&apos;s usable if there&apos;s interest in that.&lt;/p&gt;
</content></entry><entry><title>Second semester of law school: done</title><id>tag:blog.legoktm.com,2026-06-08:/2026/06/08/second-semester-of-law-school-done.html</id><updated>2026-06-08T22:55:00+00:00</updated><author><name>legoktm</name></author><category term="LawSchool"/><category term="contracts"/><category term="cuny"/><category term="lawschool"/><link href="https://blog.legoktm.com/2026/06/08/second-semester-of-law-school-done.html" rel="alternate"/><published>2026-06-08T22:55:00+00:00</published><summary type="html">I finished my second semester of law school a few weeks ago, only seven more semesters to go! I&apos;m not yet technically done with my first year since we&apos;re required to take two summer classes this year (future summers we&apos;ll have off). This past semester was contracts (officially &quot;Law and…</summary><content type="html">&lt;p&gt;&lt;em&gt;Previously: &lt;a href=&quot;/2025/12/18/one-semester-of-law-school-done.html&quot;&gt;Fall 2025&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I finished my second semester of law school a few weeks ago, only seven more semesters to go! I&apos;m not yet technically done with my first year since we&apos;re required to take two summer classes this year (future summers we&apos;ll have off).&lt;/p&gt;
&lt;p&gt;This past semester was contracts (officially &amp;quot;Law and the Market Economy&amp;quot;), legal research, and another lawyering seminar. Contracts was our only doctrinal class, and I managed to rack up 72 pages of notes.&lt;/p&gt;
&lt;p&gt;There&apos;s a lot that goes into contract law!! It depends whether you&apos;re contracting over goods or services, and then if there&apos;s some provision of law you don&apos;t like, you can just override it in the contract, except for the ones you can&apos;t.&lt;/p&gt;
&lt;p&gt;It was definitely overwhelming at the end, here&apos;s my graphical study guide:&lt;/p&gt;
&lt;figure&gt;
    &lt;a href=&quot;/images/Contracts-final-2026.svg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;/images/Contracts-final-2026.svg&quot;&gt;&lt;/a&gt;
    &lt;figcaption&gt;Probably best viewed in &lt;a href=&quot;/images/Contracts-final-2026.svg&quot; target=&quot;_blank&quot;&gt;a separate tab&lt;/a&gt;.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Notably this is quite incomplete, it&apos;s missing the entire seventh question of contracts (&amp;quot;When do people not party to a contract have contract law rights or contract law duties?&amp;quot;) because I ran out of time to finish it. I also didn&apos;t include &lt;a href=&quot;https://en.wikipedia.org/wiki/Browsewrap&quot;&gt;browsewrap&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Clickwrap&quot;&gt;clickwrap&lt;/a&gt;, etc.&lt;/p&gt;
&lt;p&gt;Legal research was easily my favorite class because I enjoy looking up things and perusing different sources to evaluate them, but gosh, in no just and fair world should it be legal for Westlaw and Lexis and all the other providers to lock up and put a paywall in front of the basic legal information that essentially every lawyer needs to be able to work.&lt;/p&gt;
&lt;p&gt;Not that I ever had any doubt in what Aaron Swartz, Carl Malamud, et al. were &lt;a href=&quot;https://public.resource.org/crime/&quot;&gt;fighting against&lt;/a&gt;, but I definitely have a much greater appreciation for it now that I&apos;ve been on the inside of Westlaw and HeinOnline and seen what treasures of knowledge they&apos;ve locked up. And how crucial they are to be able to practice law effectively.&lt;/p&gt;
&lt;p&gt;Our lawyering seminar revolved around a hypothetical case in which a child is diagnosed with a psychiatric condition and the mother refuses to treat it, with the question being whether the mother has neglected the child. I enjoyed it more than last semester&apos;s simulation because this time we explicitly took sides — I represented &lt;a href=&quot;https://en.wikipedia.org/wiki/New_York_City_Administration_for_Children&amp;#x27;s_Services&quot;&gt;ACS&lt;/a&gt;, arguing that she had neglected her child — and got to write persuasive briefs, followed by oral arguments on a motion to dismiss.&lt;/p&gt;
&lt;p&gt;Summer term is torts (i.e. private right of action) and another lawyering seminar.&lt;/p&gt;
</content></entry><entry><title>Interview with Brooke Vibber (2021)</title><id>tag:blog.legoktm.com,2026-06-01:/2026/06/01/interview-with-brooke-vibber-2021.html</id><updated>2026-06-01T13:00:00+00:00</updated><author><name>legoktm</name></author><category term="MediaWiki"/><category term="mediawiki"/><category term="rust"/><category term="signpost"/><category term="wikimedia"/><link href="https://blog.legoktm.com/2026/06/01/interview-with-brooke-vibber-2021.html" rel="alternate"/><published>2026-06-01T13:00:00+00:00</published><summary type="html">I had the pleasure of interviewing Brooke Vibber back in January 2021 for my story in the Wikipedia Signpost, The people who built Wikipedia, technically, which looked back at the technical history of Wikipedia to celebrate the 20th birthday. I was not able to use all of the responses Brooke…</summary><content type="html">&lt;p&gt;I had the pleasure of interviewing Brooke Vibber back in January 2021 for my story in the Wikipedia Signpost, &lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2021-01-31/Technology_report&quot;&gt;The people who built Wikipedia, technically&lt;/a&gt;, which looked back at the technical history of Wikipedia to celebrate the 20th birthday.&lt;/p&gt;
&lt;p&gt;I was not able to use all of the responses Brooke sent me for the article, but after re-reading them in light of &lt;a href=&quot;https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/message/TRCM57VX5TNE5JACRSIN3XFVDBUWTOVM/&quot;&gt;current events&lt;/a&gt;, I feel it&apos;s still worth publishing five years later. Hopefully after reading this, you&apos;ll celebrate &lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia:Brooke_Vibber_Day&quot;&gt;Brooke Vibber day&lt;/a&gt; with us today. Dankon Brooke!&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;What was it like getting started? Today we have a process of signing up to get a Gerrit account, a vote to give out +2 powers, NDAs for server access...what was it like then? How did you convince the powers that be (Was it Jimmy?) to give you server access?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It was all pretty loosey-goosey; if you showed up and put in good work helping out, you might well hear &amp;quot;yes&amp;quot; to getting some fairly direct access to things because that was the only way we were going to get anyone to do it!&lt;/p&gt;
&lt;p&gt;In the earliest days I think Wikipedia ran on one of Bomis&apos;s servers so we usually would partner up with one of Jimmy&apos;s employees as an intermediary, but once we grew to dedicated servers, and then the Tampa-based hosting starting 2003-2004, it was really a core group of a few of us, many of whom are senior employees at WMF today.&lt;/p&gt;
&lt;p&gt;As far as commit access and code review, that was very different in the early days -- we had CVS (before going SVN in 2006 or so) which meant no built-in system for local commits and pull requests, so &amp;quot;commit&amp;quot; meant roughly &amp;quot;merge/+2&amp;quot; and everyone else had to e-mail patches and me or &lt;a href=&quot;https://en.wikipedia.org/wiki/User:Tim_Starling&quot;&gt;Tim&lt;/a&gt; would personally review them and apply them. A lot of work!&lt;/p&gt;
&lt;p&gt;Then in SVN times we started giving out commit access like candy, and I had to create an &lt;a href=&quot;https://www.mediawiki.org/w/index.php?oldid=5834036&quot;&gt;on-wiki code review system&lt;/a&gt; to help manage post-commit review...&lt;/p&gt;
&lt;p&gt;I&apos;m not super fond of gerrit&apos;s UI, but any flavor of pull request is a step up. ;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My understanding is that you dropped out of film school to work on Wikipedia/MediaWiki full time - is that a fair characterization? (Or would you not prefer to be called a dropout?)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;That sounds about right! :D I never quite finished my degree, and instead of taking the few more classes I needed I pivoted into work for Wikipedia which lead me into working at WMF. So, score another one for the dropouts, but I never struck it rich because we&apos;re a non-profit. ;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What kind of programming experience did you have beforehand?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I actually grew up around programming -- my father is a software engineer and made sure my brother and I had the tools at home to learn if we were interested (8-bit Ataris when we were little, graduating up into the PC DOS/Windows/Linux worlds later). My brother and I both took well to it... though we craved that arts in high school and college -- he did some years in theater, and I worked on that film degree for a while. ;)&lt;/p&gt;
&lt;p&gt;So when I fell back into computers, it was a world I&apos;d never really left, but I&apos;d also never been formally trained in it. Working on a massively-scaling-up project like early Wikipedia was a crash course in algorithmic complexity even if I didn&apos;t get all the flowerly language of big-O notation from textbooks. ;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In &lt;a href=&quot;https://lists.wikimedia.org/pipermail/wikipedia-l/2002-February/001586.html&quot;&gt;February 2002&lt;/a&gt;, you suggested adding a WYSIWIG editor - did you ever imagine it would take as long as it did for us to get VisualEditor?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I always suspected it would be much harder to do full WYSIWIG while keeping complete compatibility with the old markup language, and I think I was proven right. :) That said, a lot of people still like the markup, so if we&apos;ve succeeded at bringing it, hey! Nice.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Superprotect aside, should the rollout of &lt;a href=&quot;https://meta.wikimedia.org/wiki/Media_Viewer&quot;&gt;MediaViewer&lt;/a&gt; have been as controversial as it was?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I think it should&apos;ve been less controversial by far, but it also was a good example of the messaging around a rollout, and the communication between the developers, project managers, and users, was just not good. MediaViewer is &lt;em&gt;great&lt;/em&gt; for many uses for casual readers -- its primary target audience -- but falls down in a particular way for editors who need to maintain images, not just look at them. This feedback could&apos;ve been better dealt with and resolved, I think.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;There&apos;s a trope that Wikimedians today are reluctant to any software change. Can you talk about some of the large software changes from the early days? How was communication with non-technical editors handled? What would be the thinking on whether to revert or leave it in a buggy state?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Honestly I think our change-conservativism issues were in full swing even in the early 2000s. We didn&apos;t make many markup changes after 2003, and only a few before that. We&apos;re now paying for that by continuing to be conservative in refusing to change things that are weird, confusing, and inconsistent because we didn&apos;t quite think through those changes and now refuse to change them again at all.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I believe you, &lt;a href=&quot;https://en.wikipedia.org/wiki/Magnus_Manske&quot;&gt;Magnus&lt;/a&gt; and Tim were all college students when you got involved with Wikipedia. Do you think that was a coincidence or is there something about Wikipedia that appeals to students?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I definitely think there&apos;s an affinity between the college experience -- getting into a medium-sized world outside your house but before the big wide world and learning new fascinating things in a community of peers who want to learn and share knowledge -- and getting into the world of Wikipedia as a casual (or hardcore) editor or other contributor. :)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Today the WMF is a very professional (for lack of a better term) organization, in terms of defined processes, policies. There&apos;s an on call SRE team, etc. In the early days the servers were run by Bomis - was it like that? What kind of support did they provide? Were there power struggles between editors/volunteers and Bomis?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Bomis was very hands-off; when we ran on Bomis servers we just had some limitations in what we could access directly, and eventually I think they started encouraging Jimmy to buy separate servers when they started to become a large part of capacity. ;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In 2012 you told &lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2012-12-31/Interview&quot;&gt;the Signpost&lt;/a&gt; that your initial paychecks came from building &amp;quot;content-feed support for some third-party indexers&amp;quot; - I assume this was the &lt;a href=&quot;https://meta.wikimedia.org/wiki/Wikimedia_update_feed_service&quot;&gt;Wikimedia update feed service&lt;/a&gt;? What parallels, if any, do you think this kind of API and funding model have with the new Wikimedia Enterprise project?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I think there&apos;s a direct parallel, and I&apos;m glad to see us getting explicitly back into the business of checking in with folks who reuse our data and making sure they pay us for the privilege of the data being reliably present. :)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;With 20 years of hindsight, what would you have told Magnus when he announced he was going to write the new wiki software in PHP?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Honestly, PHP was a good choice at the time. A lot of people make fun of it for its quirky syntax, function naming, and some old security misfeatures from 20 years ago, but it&apos;s an easily-approachable language with an execution model that fits web servers reasonably well and has clear ways to scale horizontally to serve more requests.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I can&apos;t really tell from the mailing list archives, but did Magnus (and later &lt;a href=&quot;https://en.wikipedia.org/wiki/Lee_Daniel_Crocker&quot;&gt;Lee&lt;/a&gt; for &lt;a href=&quot;https://www.mediawiki.org/wiki/MediaWiki_history#Phase_III:_MediaWiki&quot;&gt;phase 3&lt;/a&gt;) tell people they were planning major rewrites of the software or did they just show up with it one day?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;These were announced and talked about on the mailing lists. I actually feel like we were more attuned as a technical subcommunity to what was going on because there were only two lists to pay attention to, &lt;a href=&quot;https://lists.wikimedia.org/hyperkitty/list/wikipedia-l@lists.wikimedia.org/latest&quot;&gt;wikipedia-l&lt;/a&gt; and &lt;a href=&quot;https://www.mediawiki.org/wiki/Mailing_lists/Wikitech-l&quot;&gt;wikitech-l&lt;/a&gt;. ;) Magnus&apos;s code was also tested on meta.wikipedia.com (remember .com?) as I recall, before we upgraded English Wikipedia itself.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Do you think having one person do a major rewrite on their own was necessary or would have incremental refactoring have been better?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I think of Lee&apos;s rewrite as a huge one-person refactor from Magnus&apos;s early prototype. It changed &lt;em&gt;a lot&lt;/em&gt; but had recognizably similar bones.&lt;/p&gt;
&lt;p&gt;Ever since then we&apos;ve been on the incremental refactoring track, with big internal changes being managed much more carefully.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Some of the other technology decisions like MySQL, Apache, memcached, and on have held up over time and are still actively in use today. Why do you think that is? What was the thought process when selecting those in the beginning?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;These are tools that we adopted because they were tried and tested in the wild, and some of those have indeed stuck around while others have changed a bit. For instance I think we now use a mix of several web servers as well as Apache to implement the caching and TLS proxies, memcached is supplemented with redis, etc. But they&apos;ve kept common protocols because they&apos;re tools that are so widely used that specialized high-performance versions that are compatible with the original exist.&lt;/p&gt;
&lt;p&gt;And that&apos;s pretty cool!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Before you left for StatusNet, would you have considered yourself the &lt;a href=&quot;https://en.wikipedia.org/wiki/Benevolent_dictator_for_life&quot;&gt;BDFL&lt;/a&gt; of MediaWiki?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&apos;d say me and Tim Starling were kind of the dream team dual-BDFLs. :) I took a more hands-off role since I left for StatusNet and came back.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My feeling is that today neither you nor Tim (the other BDFL candidate) want that role - is that accurate? Why not? Do you view BDFLs as a good leadership model for a project like MediaWiki?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I think the BDFL role, and hero worship and cult-of-personality in general, are bad. I think communities of mutually respectful people, both developers and users, researchers and managers, editors and educators, should work together to manage their projects fairly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Wikipedia or Wikimedia? Why?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Wikipedia has the name recognition. :)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For a piece of software named MediaWiki, it really doesn&apos;t do a great job of handling media. This is something you&apos;ve worked on a ton, from &lt;a href=&quot;https://github.com/bvibber/ogv.js/&quot;&gt;ogv.js&lt;/a&gt; to maintaining &lt;a href=&quot;https://www.mediawiki.org/wiki/Extension:TimedMediaHandler&quot;&gt;TimedMediaHandler&lt;/a&gt;. Why is this an area of interest for you? Can you give a summary of your efforts? What do you think is the next area to explore for improving media?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Indeed, beyond handling image uploads we&apos;re not that great at media. ;)&lt;/p&gt;
&lt;p&gt;I would love for us to do more work in general in this area, from audio to video to 3d models to interactive graphs and maps and diagrams of all kinds. We have some of these things, but none of them are resourced for additional by Wikimedia Foundation except for whatever research or side time interested parties like me put in.&lt;/p&gt;
&lt;p&gt;I do hope something makes it in the budget for 2021-2022!&lt;/p&gt;
&lt;p&gt;The main improvements I&apos;ve been working on with TimedMediaHandler are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;finish removing the old jQueryUI-based Kaltura-built frontend&lt;/li&gt;
&lt;li&gt;finish fixing bugs in the new VideoJS-based frontend, which loads less JS and has fewer modules -&amp;gt; thus performance benefits on first load&lt;/li&gt;
&lt;li&gt;cleanup on the ogv.js shim which lets us play WebM and Ogg files directly in Safari -&amp;gt; combined with the above, this&apos;ll mostly fix video playback on iPhone&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The ogv.js layer itself is one of my proudest projects, but one that&apos;s designed to become obsolete -- eventually either Safari will adopt a format we&apos;re willing to encode, or we&apos;ll adopt a format Safari can play. ;)&lt;/p&gt;
&lt;p&gt;Future plans that I can&apos;t guarantee time for include modernizing the subtitle editor and integrating trim controls into the VisualEditor media selection. But I hope to get to them too...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Was &amp;quot;&lt;a href=&quot;https://wikitech.wikimedia.org/wiki/Obsolete:Contingency_plans&quot;&gt;Contingency plans&lt;/a&gt;&amp;quot; something you were involved in? What was it like planning for a hurricane?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I think others worked on that particular list, but it was certainly something we thought about.&lt;/p&gt;
&lt;p&gt;We only really had one or two hurricanes that directly threatened Tampa and didn&apos;t have any outages, but it really wasn&apos;t the best place for servers. :) It just happened to be near where Jimmy lived at the time, so was convenient for him to help load up the earliest servers. ;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Are there any outage stories, or near outage stories that stick out to you as particularly funny/sad/interesting/memorable?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I think it was around Christmas 2003? We had just set up our new 64-bit database server, and had I think two or three other machines as web servers. This would&apos;ve been at the Tampa data center, so all remote from where I was at the time in southern California.&lt;/p&gt;
&lt;p&gt;Load kept going up on the db server... we weren&apos;t sure why, but it seemed to be a hardware failure... eventually it just choked up. We had to switch back to the replica on one of the lower-end boxes. We had partial service during the crash and switchover by using the file cache (is that feature still even there?) to serve out cached pages without hitting the DB.&lt;/p&gt;
&lt;p&gt;The secondary machine had trouble too, and died a couple days later, making it a &lt;em&gt;double outage&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;On the plus side, this gave us lots of opportunity to push our donation link in error pages! ;)&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia:Milestones_2003#December_2003&quot;&gt;https://en.wikipedia.org/wiki/Wikipedia:Milestones_2003#December_2003&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What MediaWiki feature did you work on that you&apos;re most proud of and why?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.mediawiki.org/wiki/Help:Export&quot;&gt;Special:Export&lt;/a&gt; and the XML dump format. It&apos;s not pretty, but it gets the job done and helps tons of people build tools on top of it!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who is someone from the early days of Wikipedia who doesn&apos;t get
enough credit for their contributions?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Lee Daniel Crocker. Lee and I don&apos;t get along on some issues so we don&apos;t talk on Facebook anymore, but I learned a lot about programming from him and the work he put in in the early days of what became MediaWiki. And that&apos;s something I&apos;ll always appreciate.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A lot of old Wikipedia and foundation work and history is in the archives of lists.wikimedia.org. But today (public) mailing lists are mostly used for announcements and discussions (at least on wikitech-l, wikimedia-l and other top lists)...do you think the shift away from mailing lists makes sense?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I think it&apos;s not surprising, but I&apos;m not sure I like it. Maybe it&apos;s just graybeard syndrome; it was easier to have an idea what&apos;s coming down the pipe &amp;quot;in the old days&amp;quot; but at the same time it was a smaller pipe, wasn&apos;t it? Maybe email vs phab vs gitlab vs discourse doesn&apos;t make a difference. Maybe it&apos;s just whether we can have thoughtful interactions and also steer the right people to the right discussions?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You quietly stepped down from &lt;a href=&quot;https://www.mediawiki.org/wiki/Wikimedia_Technical_Committee&quot;&gt;TechCom&lt;/a&gt; last year - why?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Quite simply, the last couple years have been really rough on my mental health. I don&apos;t have the bandwidth or the ability to consistently concentrate on the many ongoing issues I&apos;d need to keep up with TechCom work. While I work on that, I&apos;m concentrating on less directed research projects and underresourced things like TimedMediaHandler that don&apos;t have strict deadlines.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Wikipedia is unique in that it allows users to contribute JS/CSS directly to the site rather than requiring browserside user scripts (Greasemonkey, etc.). Do you think that was a good idea at the time? Now? I know you&apos;ve also worked on exploring how to sandbox these, can you talk a little bit about that?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;a) I think it&apos;s SUPER GREAT&lt;br&gt;
b) I think WE DID IT SO WRONG&lt;/p&gt;
&lt;p&gt;;)&lt;/p&gt;
&lt;p&gt;There are two problems with letting people run direct JS in the host app environment:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;if they run someone else&apos;s malicious code it can take over their account&lt;/li&gt;
&lt;li&gt;code may use internal data accessors and methods that aren&apos;t going to stay stable, potentially breaking over time&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Both can be solved by using a sandboxed environment (probably a suitable iframe). I think there&apos;s a lot of cool stuff that can be built on top of this method, with full-on APIs for accessing an editor state as a plugin, or whatever.&lt;/p&gt;
&lt;p&gt;So far I get a lot of &amp;quot;yes that sounds great&amp;quot; but not a lot of &amp;quot;yes I&apos;ll assign a PM and 2 engineers to it&amp;quot;, so this remains on my research backlog. ;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why is VIBBER in all caps in your username?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It is a common convention in some language communities, including Esperanto speakers, to all-caps the family name to indicate which name portion is the family name and which is the personal name. I got into Wikipedia through discovering the Esperanto edition, so that&apos;s where I created my first user name according to the local convention!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;If you could, what language would you rewrite MediaWiki in and why is it Rust?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There&apos;s so many good options. ;) Honestly for its primary market (running Wikipedia) PHP scales in the right ways and has an ok combination of easy to use and handles complex paradigms you need in your big program.&lt;/p&gt;
&lt;p&gt;Rust would be great for a micro-wiki, which runs as a small executable as a peer-to-peer service or some crazy thing. ;)&lt;/p&gt;
</content></entry><entry><title>git.legoktm.com is back, sort of</title><id>tag:blog.legoktm.com,2026-05-26:/2026/05/26/gitlegoktmcom-is-back-sort-of.html</id><updated>2026-05-26T04:42:00+00:00</updated><author><name>legoktm</name></author><category term="Tech"/><category term="freedom"/><category term="git"/><link href="https://blog.legoktm.com/2026/05/26/gitlegoktmcom-is-back-sort-of.html" rel="alternate"/><published>2026-05-26T04:42:00+00:00</published><summary type="html">I started hosting my own Git server on git.legoktm.com in 2015 using Gogs, and in 2018, I opened it up to the world. Only a few friends and many, many spambots took me up on that offer. I never got around to migrating the Gogs setup to Gitea, and then…</summary><content type="html">&lt;p&gt;I started hosting &lt;a href=&quot;/2015/10/19/self-hosted-git.html&quot;&gt;my own Git server&lt;/a&gt; on git.legoktm.com in 2015 using &lt;a href=&quot;https://gogs.io/&quot;&gt;Gogs&lt;/a&gt;, and in 2018, I &lt;a href=&quot;/2018/06/04/gitlegoktmcom-registration-now-open.html&quot;&gt;opened it up to the world&lt;/a&gt;. Only a few friends and many, many spambots took me up on that offer.&lt;/p&gt;
&lt;p&gt;I never got around to migrating the Gogs setup to Gitea, and then when the Forgejo fork happened, I was totally behind. At some point last year, because of a combination of Gogs having unfixed vulnerabilities and the excessive traffic from scrapers taking down my tiny VPS, I turned it off, letting the entire domain return HTTP 503 errors.&lt;/p&gt;
&lt;p&gt;I expected that to be the end, thinking that I&apos;d find some other Git hosting provider and move all my stuff there.&lt;/p&gt;
&lt;p&gt;For various reasons, I wasn&apos;t entirely satisfied with any existing Git hosting providers and at the same time I thought it was kind of stupid that I, a pretty competent sysadmin, couldn&apos;t run my own Git host. So I took a bit of time to develop a new setup, and I&apos;m happy to announce that git.legoktm.com is partially back.&lt;/p&gt;
&lt;p&gt;By partially back I mean you can just clone and pull repositories, and that&apos;s it. They are served using the &lt;a href=&quot;https://git-scm.com/docs/http-protocol&quot;&gt;&amp;quot;dumb HTTP&amp;quot;&lt;/a&gt; protocol, which means server-side it&apos;s just static file hosting and nothing else. And there&apos;s a very basic HTML page that tells you the clone URL (&lt;a href=&quot;https://git.legoktm.com/legoktm/gogs-mirror&quot;&gt;example&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Most, but not all, of the repositories that used to be on git.legoktm.com are now once again clonable using their old URLs. I will backfill the remaining repositories in the next few weeks.&lt;/p&gt;
&lt;p&gt;To the best of my knowledge, all previously working clone URLs should be supported; if something that used to work isn&apos;t, please let me know, because &lt;a href=&quot;https://www.w3.org/Provider/Style/URI&quot;&gt;that&apos;s a bug&lt;/a&gt;. &lt;a href=&quot;https://git.legoktm.com/&quot;&gt;git.legoktm.com&lt;/a&gt; itself is still a 503 for now, I&apos;ll add a repository listing at some point.&lt;/p&gt;
&lt;p&gt;At some point I may add a web repository viewer, but I plan to implement it fully client-side, i.e. the browser would fetch the various Git objects, calculate whatever is needed, and then display it to the user. Instead of gating on wasteful proof-of-work check, I call this hypothetical system &amp;quot;do the work&amp;quot; because you do some computation, and that work is the result you wanted!&lt;/p&gt;
&lt;p&gt;Under the hood I&apos;m running Forgejo, but it&apos;s only accessible via my intranet. Repositories that I designate as public are rsynced to git.legoktm.com, which I think nicely lets me run a Git server and make my repositories public without needing to worry too much about the security of Forgejo or server load.&lt;/p&gt;
</content></entry><entry><title>Exclusive: Justice Sotomayor on AI, taxes and more</title><id>tag:blog.legoktm.com,2026-03-13:/2026/03/13/exclusive-justice-sotomayor-on-ai-taxes-and-more.html</id><updated>2026-03-14T02:30:00+00:00</updated><author><name>legoktm</name></author><category term="LawSchool"/><category term="cuny"/><category term="llm"/><category term="scotus"/><link href="https://blog.legoktm.com/2026/03/13/exclusive-justice-sotomayor-on-ai-taxes-and-more.html" rel="alternate"/><published>2026-03-14T02:30:00+00:00</published><summary type="html">U.S. Supreme Court Justice Sonia Sotomayor visited CUNY Law earlier today, for an event titled “My time as a law student.” Two students, one full-time and one part-time, asked her questions submitted by other students. My reporting may read as quite critical of her. Broadly, I don’t think Supreme Court…</summary><content type="html">&lt;p&gt;U.S. Supreme Court Justice &lt;a href=&quot;https://en.wikipedia.org/wiki/Sonia_Sotomayor&quot;&gt;Sonia Sotomayor&lt;/a&gt; visited CUNY Law earlier today, for an event titled “My time as a law student.” Two students, one full-time and one part-time, asked her questions submitted by other students.&lt;/p&gt;
&lt;p&gt;My reporting may read as quite critical of her. Broadly, I don’t think Supreme Court justices get anywhere near an appropriate amount of criticism and scrutiny compared to the immense power they all wield, even for the “liberal” justices in the minority.&lt;/p&gt;
&lt;p&gt;With that in mind, I think it’s worth starting with something that most media organizations (unless you’re &lt;a href=&quot;https://www.kenklippenstein.com/p/gerry-connolly-dead-at-75&quot;&gt;Ken Klippenstein&lt;/a&gt;) shy away from: her health. No video recording was allowed, so you’ll have to rely on my written descriptions.&lt;/p&gt;
&lt;p&gt;Sotomayor will turn 72 in a few months. In the CUNY Law auditorium, there are three steps to get on or off the stage. There is no handrail; every time she went up or down, she needed two people to hold her.&lt;/p&gt;
&lt;p&gt;To her credit, she didn’t just stay seated on the stage, she slowly walked through the crowd while talking, regularly taking breaks by leaning on a desk while posing for photos with students.&lt;/p&gt;
&lt;p&gt;Sotomayor stated early on that because she can multitask, it was fine for the students to read the question out loud while she was posing for photographs. She initially seemed quick on her feet but made some factual mistakes throughout that surprised me.&lt;/p&gt;
&lt;p&gt;The first question was about what law school classes she’d recommend us students to take. She started off with “as many legal writing classes as [we] could take.”&lt;/p&gt;
&lt;p&gt;She said that if we can’t explain ourselves in writing, we’ll never succeed at anything in life, regardless of the profession. “The ability to explain yourself in writing is what will get you heard.”&lt;/p&gt;
&lt;p&gt;The second skill she said to develop is public speaking, and to find opportunities for it, even if law schools don’t offer it as a class.&lt;/p&gt;
&lt;p&gt;She prefaced her third critical skill as something that didn’t exist when she was in law school: AI.&lt;/p&gt;
&lt;p&gt;“AI may be the revolutionary technology of your century”, Sotomayor said. “It is going to absolutely alter every single profession in the world.”&lt;/p&gt;
&lt;p&gt;A few days ago she had dinner with her former law clerks, she said one told her that they laid off half of their paralegals because of AI. Another clerk told her that all their associates use AI to help draft their briefs.&lt;/p&gt;
&lt;p&gt;Sotomayor explicitly described it as “not cheating” and that the skill to learn is how to use it “smartly and understanding its strength and limitations.”&lt;/p&gt;
&lt;p&gt;After sharing an anecdote about how her most recent mammogram was read by AI and apparently not a human, she put it even more bluntly.&lt;/p&gt;
&lt;p&gt;“You should not be graduating without taking an AI course,” Sotomayor said.&lt;/p&gt;
&lt;p&gt;After those three “critical skills” (writing, public speaking and AI), she said that aside from our normal doctrinal classes of contracts and constitutional laws, we should take classes outside what we plan to practice to gain a broad understanding of the profession.&lt;/p&gt;
&lt;p&gt;Sotomayor explained that she took an estates class and now all of her relatives, despite her telling them to consult a lawyer, ask her for help with their wills. She also took a tax class, because taxes are relevant to everything — even civil rights.&lt;/p&gt;
&lt;p&gt;“Where do the rich get all their money to oppose civil rights?” she asked. It wasn’t clear to me if she was implying support for taxing the rich.&lt;/p&gt;
&lt;p&gt;The next question was from a classmate of mine who was formerly incarcerated, asking about the impact and role of lawyers who were formerly incarcerated.&lt;/p&gt;
&lt;p&gt;Sotomayor started by acknowledging that lawyers who were formerly incarcerated have made great law clerks, but didn’t know if any had ever been a clerk to a Supreme Court justice. Some of her former district court and circuit court colleagues had hired former inmates as clerks, but apparently she has never done so.&lt;/p&gt;
&lt;p&gt;She noted that having relevant lived experience makes you better at what you’re doing, and that type of diversity was just as important as racial or ethnic diversity.&lt;/p&gt;
&lt;p&gt;“When I’m asked what’s the greatest flaw on the Supreme Court today, I could name many things,” Sotomayor said. “But the one that stands out to me is our bench’s lack of depth in lived experience.”&lt;/p&gt;
&lt;p&gt;No sitting justice has had civil rights experience since &lt;a href=&quot;https://en.wikipedia.org/wiki/Thurgood_Marshall&quot;&gt;Thurgood Marshall&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Ruth_Bader_Ginsburg&quot;&gt;Ruth Bader Ginsburg&lt;/a&gt;, she said. Odd for her to ignore &lt;a href=&quot;https://en.wikipedia.org/wiki/Clarence_Thomas&quot;&gt;Clarence Thomas&lt;/a&gt;, who briefly worked in the U.S. Department of Education’s Office for Civil Rights before running the Equal Employment Opportunity Commission.&lt;/p&gt;
&lt;p&gt;Then she incorrectly stated that no current justice has criminal defense experience, which was shocking given that one of the things &lt;a href=&quot;https://en.wikipedia.org/wiki/Ketanji_Brown_Jackson&quot;&gt;Ketanji Brown Jackson&lt;/a&gt; is best known for is being the first federal public defender to be appointed to the Supreme Court.&lt;/p&gt;
&lt;p&gt;Relevant to today, she said none of the nine justices have experience with immigration law. She recommended students not try to just follow what past justices have a history of doing, but rather pursuing whatever interests them, as the standards for picking justices will constantly change.&lt;/p&gt;
&lt;p&gt;Next question: what advice do you have for new lawyers going into the profession? She said that despite it being a totally new thing, not to be scared.&lt;/p&gt;
&lt;p&gt;Sotomayor started her legal career as an assistant district attorney in Manhattan. After failing to obtain convictions in two cases that she felt she should have, she discussed it with her supervisor (or possibly mentor), who explained to her that she couldn’t just let the evidence stand on its own, and that she needed to turn the facts into feelings that would change the jury’s mind.&lt;/p&gt;
&lt;p&gt;After that, Sotomayor said she never lost another case (with the exception of a hung jury).&lt;/p&gt;
&lt;p&gt;“The most powerful weapons we have as lawyers are words,” she said. “Words can kill … Words can build courage in a way that nothing else can. Words can exceedingly powerful things.”&lt;/p&gt;
&lt;p&gt;Sotomayor grew up in the projects in the Bronx and worked her way up to attend both Princeton (undergrad) and Yale (law school). The next question asked about her journey in doing so, and how she navigates being in elite institutions.&lt;/p&gt;
&lt;p&gt;She started by noting that her poverty was different than what Thomas endured, as he had grown up in the south where he suffered a more “extreme” type of persecution. And that immigrants come here having faced even worse poverty and situations than what she went through.&lt;/p&gt;
&lt;p&gt;At Princeton she said she didn’t understand the opportunities she was missing out on, and wished that she had gone to the theater or attended free concerts that her classmates were going to.&lt;/p&gt;
&lt;p&gt;Sotomayor said that everyone wanting to become a lawyer should have the goal of bettering the world we all live in. And that we should not to aim to destroy their world (i.e. do not destroy “elite institutions”) but instead meld them with the world we came from.&lt;/p&gt;
&lt;p&gt;The next student question was about how lately the law feels oppressive and supporting those in power rather than protecting the vulnerable.&lt;/p&gt;
&lt;p&gt;“If your goal to become a lawyer is to win every case, then leave law school,” Sotomayor immediately answered. “You are a lawyer to fight for lost causes. You will lose cases,” she said, in stark contrast to her earlier remarks about her never losing a case again.&lt;/p&gt;
&lt;p&gt;She said these people need a voice, they need a champion, someone who will stand by them even when it seems hopeless.&lt;/p&gt;
&lt;p&gt;But then she attacked the underlying premise of the question, which is that in fact the law has rarely been a reliable tool for positive social change, and for most of history it has been oppressive — I agree!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Dred_Scott&quot;&gt;Dred Scott&lt;/a&gt; lost every state and federal case he filed, including &lt;a href=&quot;https://en.wikipedia.org/wiki/Dred_Scott_v._Sandford&quot;&gt;in the Supreme Court&lt;/a&gt;, she said, reiterating its place in the &lt;a href=&quot;https://en.wikipedia.org/wiki/Anticanon&quot;&gt;anticanon&lt;/a&gt; as one of the worst Supreme Court decisions ever.&lt;/p&gt;
&lt;p&gt;She continued, emphasizing that it was only through fighting the Civil War was Dred Scott able to regain his citizenship. Sotomayor recited most of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Citizenship_Clause&quot;&gt;Citizenship Clause&lt;/a&gt;, which is currently under attack by Trump’s efforts to end birthright citizenship and &lt;a href=&quot;https://www.scotusblog.com/cases/case-files/trump-v-barbara/&quot;&gt;in front of the Court&lt;/a&gt;. (She misattributed it to the 13th Amendment instead of the 14th.)&lt;/p&gt;
&lt;p&gt;Then it was another hundred years until &lt;a href=&quot;https://en.wikipedia.org/wiki/Brown_v._Board_of_Education&quot;&gt;&lt;em&gt;Brown v. Board of Education&lt;/em&gt;&lt;/a&gt;, which itself was one of the few success stories amongst many, many failed civil rights cases that were filed at the time, she said.&lt;/p&gt;
&lt;p&gt;But she said she still believes in the Martin Luther King, Jr. quote about how the arc of the universe bends towards justice.&lt;/p&gt;
&lt;p&gt;A good friend of mine was able to snag the last question, asking about what advice she’d give to law students who followed non-traditional paths and are starting their legal careers later in life.&lt;/p&gt;
&lt;p&gt;Sotomayor said to never be afraid of saying “I don’t know.” She said that even in &lt;a href=&quot;https://supremecourthistory.org/how-the-court-works/the-justices-conference/&quot;&gt;conference&lt;/a&gt;, if she doesn’t understand something, she’ll ask someone to explain it.&lt;/p&gt;
&lt;p&gt;It’s not stupid to not know something, she said, rather it would be stupid to not know something and then not say that you didn’t know! She encouraged everyone to ask professors questions whenever they don’t follow something in class or have doubts.&lt;/p&gt;
&lt;p&gt;Personally I really appreciated the event, Supreme Court justices can often feel like larger than life figures, so it’s nice to get the opportunity to see and hear from one in person. I’m glad CUNY Law is able to attract an interesting set of speakers for us to engage with.&lt;/p&gt;
</content></entry><entry><title>Boba Quest: Arteassan</title><id>tag:blog.legoktm.com,2026-02-22:/2026/02/22/boba-quest-arteassan.html</id><updated>2026-02-22T23:15:00+00:00</updated><author><name>legoktm</name></author><category term="BobaQuest"/><category term="boba"/><category term="bobaquest"/><category term="nyc"/><link href="https://blog.legoktm.com/2026/02/22/boba-quest-arteassan.html" rel="alternate"/><published>2026-02-22T23:15:00+00:00</published><summary type="html">I was recently walking down the street earlier this week and noticed that the location that used to be home to Möge Tea (reviewed in Jan. 2025, 6/10) had a new sign up: Arteassan. As you may have read on the news, there is currently a blizzard hitting New York…</summary><content type="html">&lt;p&gt;&lt;em&gt;As part of &lt;a href=&quot;https://legoktm.com/bobaquest/&quot;&gt;Boba Quest 🧋&lt;/a&gt;, I&apos;m trying and reviewing a new boba shop &lt;del&gt;each week&lt;/del&gt; whenever I have time.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I was recently walking down the street earlier this week and noticed that the location that used to be home to Möge Tea (&lt;a href=&quot;https://blog.legoktm.com/2025/01/29/boba-quest-m%C3%B6ge-tea.html&quot;&gt;reviewed in Jan. 2025&lt;/a&gt;, 6/10) had a new sign up: Arteassan.&lt;/p&gt;
&lt;p&gt;As you may have read on the news, there is currently a &lt;a href=&quot;https://www.patreon.com/posts/blizzard-warning-151398839&quot;&gt;blizzard&lt;/a&gt; hitting New York City, so I did the reasonable thing to do and &lt;del&gt;hunkered down under a warm blanket&lt;/del&gt; went outside to try a new boba shop!&lt;/p&gt;
&lt;p&gt;(In normal weather you can take the 7, N, W via Queensboro Plaza or E, F, R via Queens Plaza to get there but I&apos;d wait until the weather improves!)&lt;/p&gt;
&lt;p&gt;I ordered a Cloud Ceylon Brown Sugar fresh milk tea with regular (100%) sugar and light ice (it&apos;s cold out!). The barista said that &amp;quot;Cloud Ceylon&amp;quot; was similar to black tea (TIL that Ceylon is an &lt;a href=&quot;https://en.wikipedia.org/wiki/Names_of_Sri_Lanka&quot;&gt;old name for Sri Lanka&lt;/a&gt;), so I expected it to be similar to a standard brown sugar boba milk tea.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src=&quot;/images/arteassan1.jpeg&quot; class=&quot;height-500&quot;&gt;
&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;Boba: &lt;strong&gt;3/4&lt;/strong&gt; the boba was well flavored, but just a little too chewy (not enough to be a problem but enough that I noticed).&lt;/li&gt;
&lt;li&gt;Tea: &lt;strong&gt;2/4&lt;/strong&gt; on the other hand the tea felt weak and not as strong as I would&apos;ve liked it. I don&apos;t think it was the boba overpowering it either.&lt;/li&gt;
&lt;li&gt;Bonus: &lt;strong&gt;1/1&lt;/strong&gt; I&apos;m going to give this as a pass today; it was clear they were still setting up the new shop and I don&apos;t want to penalize them for that. Plus, they were open during a blizzard! What more can you ask for? (Though to be fair, I walked past 3 other boba shops and they were also open.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Total: &lt;strong&gt;6/10&lt;/strong&gt;, decent, but not worth getting in a blizzard. I&apos;ll probably visit it again in a month or two to get a more realistic impression.&lt;/p&gt;
</content></entry><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>Boba Quest: ChaHalo</title><id>tag:blog.legoktm.com,2025-12-31:/2025/12/31/boba-quest-chahalo.html</id><updated>2025-12-31T17:00:00+00:00</updated><author><name>legoktm</name></author><category term="BobaQuest"/><category term="boba"/><category term="bobaquest"/><category term="nyc"/><link href="https://blog.legoktm.com/2025/12/31/boba-quest-chahalo.html" rel="alternate"/><published>2025-12-31T17:00:00+00:00</published><summary type="html">It&apos;s been a while since my last boba review, but sometimes you visit a new place that just inspires you to write about it. ChaHalo recently opened in Long Island City, right in between the Queens Plaza station (E, F, R) and Court Square (7, E, F, G, R) so…</summary><content type="html">&lt;p&gt;&lt;em&gt;As part of &lt;a href=&quot;https://legoktm.com/bobaquest/&quot;&gt;Boba Quest 2025 🧋&lt;/a&gt;, I&apos;m trying and reviewing a new boba shop &lt;del&gt;each week&lt;/del&gt; whenever I have time.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It&apos;s been a while since my last boba review, but sometimes you visit a new place that just inspires you to write about it. ChaHalo recently opened in Long Island City, right in between the Queens Plaza station (E, F, R) and Court Square (7, E, F, G, R) so I thought I&apos;d give it a try with my sister, who was in town for the holidays.&lt;/p&gt;
&lt;p&gt;My sister wanted a drink without lactose, and since they didn&apos;t have an alternative milk, she asked for a jasmine green tea with boba. The barista added the jasmine green tea to the order and then said: &amp;quot;I&apos;m sorry, our computer won&apos;t let you order boba with this.&amp;quot; Whaaaaaaaaat. And then, &amp;quot;But we could give you some boba in a separate cup?&amp;quot;&lt;/p&gt;
&lt;p&gt;What kind of boba shop offers a drink that you can&apos;t add boba to? And not even like some practical issue, it&apos;s that their computer can&apos;t handle it.&lt;/p&gt;
&lt;p&gt;I was able to order a jasmine green milk tea with brown sugar boba without running afoul of any software restrictions. (There were no other boba options aside from brown sugar.)&lt;/p&gt;
&lt;figure&gt;
    &lt;img src=&quot;/images/chahalo.jpg&quot; class=&quot;height-500&quot;&gt;
&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;Boba: &lt;strong&gt;3/4&lt;/strong&gt; the brown sugar boba was actually pretty good, well flavored, maybe just a little overcooked.&lt;/li&gt;
&lt;li&gt;Tea: &lt;strong&gt;1/4&lt;/strong&gt; it was...not good. It was a bit bland to the point the taste of the boba totally overpowered it.&lt;/li&gt;
&lt;li&gt;Bonus: &lt;strong&gt;0/1&lt;/strong&gt; sorry, our experience didn&apos;t merit any bonus points.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Total: &lt;strong&gt;4/10&lt;/strong&gt; honestly, if they served a brown sugar milk boba (with lactose-free options!!), I think it would be near perfect.&lt;/p&gt;
&lt;p&gt;This story has a somewhat happy ending, in that we walked to a different tea shop across the street and my sister was able to get her lactose-free boba. Stay tuned for that review!&lt;/p&gt;
</content></entry><entry><title>One semester of law school done</title><id>tag:blog.legoktm.com,2025-12-18:/2025/12/18/one-semester-of-law-school-done.html</id><updated>2025-12-18T05:45:00+00:00</updated><author><name>legoktm</name></author><category term="LawSchool"/><category term="crimlaw"/><category term="cuny"/><category term="lawschool"/><link href="https://blog.legoktm.com/2025/12/18/one-semester-of-law-school-done.html" rel="alternate"/><published>2025-12-18T05:45:00+00:00</published><summary type="html">I just finished my first semester of law school Tuesday evening...only eight more to go! People say that the first year of law school is the worst, and I certainly hope that&apos;s true. I don&apos;t think I&apos;ve ever had so much information dumped into my brain in such a short…</summary><content type="html">&lt;p&gt;I just finished my first semester of law school Tuesday evening...only eight more to go! People say that the first year of law school is the worst, and I certainly hope that&apos;s true.&lt;/p&gt;
&lt;p&gt;I don&apos;t think I&apos;ve ever had so much information dumped into my brain in such a short period of time. In my Liberty, Equality and Due Process (LEDP) class about the Fourteenth Amendment, I took 109 pages of notes, and for Criminal Law, 54 pages.&lt;/p&gt;
&lt;p&gt;As a very very condensed version of what I learned, here are the study guides I made for both classes:&lt;/p&gt;
&lt;figure&gt;
    &lt;a href=&quot;/images/LEDP-final-2025.svg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;/images/LEDP-final-2025.svg&quot;&gt;&lt;/a&gt;
    &lt;figcaption&gt;Probably best viewed in &lt;a href=&quot;/images/LEDP-final-2025.svg&quot; target=&quot;_blank&quot;&gt;a separate tab&lt;/a&gt;.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
    &lt;a href=&quot;/images/Criminal Law-final-2025.svg&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;/images/Criminal Law-final-2025.svg&quot;&gt;&lt;/a&gt;
    &lt;figcaption&gt;Also best viewed in &lt;a href=&quot;/images/Criminal Law-final-2025.svg&quot; target=&quot;_blank&quot;&gt;a separate tab&lt;/a&gt;.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I cannot yet vouch for the accuracy contained on those guides yet as I haven&apos;t gotten my grades back yet, but I think they&apos;re mostly correct!&lt;/p&gt;
&lt;p&gt;Next semester is contracts, which&apos;ll probably be immediately practically useful, and legal research, which I&apos;m really looking forward to. I now have access to Westlaw, which is both amazing in how rich the content and interface is...and terrible how it&apos;s all locked in a commercial, private database.&lt;/p&gt;
</content></entry><entry><title>Three-ish takeaways from Zohran&apos;s win</title><id>tag:blog.legoktm.com,2025-11-21:/2025/11/21/three-ish-takeaways-from-zohrans-win.html</id><updated>2025-11-21T06:20:00+00:00</updated><author><name>legoktm</name></author><category term="Politics"/><category term="nyc"/><category term="uspol"/><link href="https://blog.legoktm.com/2025/11/21/three-ish-takeaways-from-zohrans-win.html" rel="alternate"/><published>2025-11-21T06:20:00+00:00</published><summary type="html">There have been a lot of Zohran Mamdani thinkpieces since November 4th, and I&apos;ve read most of them! But I want to add three takeaways that I really haven&apos;t seen discussed elsewhere in detail. No repeats of Buffalo In the past few weeks people have talked a lot about how…</summary><content type="html">&lt;p&gt;There have been a lot of Zohran Mamdani thinkpieces since November 4th, and I&apos;ve read most of them! But I want to add three takeaways that I really haven&apos;t seen discussed elsewhere in detail.&lt;/p&gt;
&lt;h2 class=&quot;header&quot; id=&quot;no-repeats-of-buffalo-853d&quot;&gt;&lt;span class=&quot;header-text&quot;&gt;No repeats of Buffalo&lt;/span&gt;&lt;a href=&quot;/2025/11/21/three-ish-takeaways-from-zohrans-win.html#no-repeats-of-buffalo-853d&quot; class=&quot;header-link&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In the past few weeks people have talked a lot about how &lt;a href=&quot;https://newrepublic.com/article/140245/obamas-lost-army-inside-fall-grassroots-machine&quot;&gt;Obama&apos;s volunteer army fell apart&lt;/a&gt; after he was elected and how Mamdani campaign leaders are trying to prevent that from happening by launching &lt;a href=&quot;https://ourtime.nyc/&quot;&gt;&amp;quot;Our Time&amp;quot;&lt;/a&gt;, a separate entity that can organize former campaign volunteers and keep them politically activated.&lt;/p&gt;
&lt;p&gt;But more immediately, I think it&apos;s worth understanding that there was a specific effort to prevent a repeat of &lt;a href=&quot;https://en.wikipedia.org/wiki/2021_Buffalo_mayoral_election&quot;&gt;Buffalo&apos;s 2021 mayoral election&lt;/a&gt; in which a socialist (India Walton) upset the incumbent mayor (Byron Brown) in the Democratic primary, so Brown launched an independent campaign for the general, rallied the Democratic establishment to support him and not Walton (the Democratic nominee), winning the general by 20 points.&lt;/p&gt;
&lt;p&gt;With that context, it made perfect sense that immediately after the primary we saw Zohran moving to consolidate the establishment behind him, including labor and elected officials. It mostly worked, just about everyone backed him except Chuck Schumer and Kirsten Gillibrand. Oh and Jay Jacobs, the chair of the state Democratic party, who &lt;a href=&quot;https://www.politico.com/news/2025/09/19/hochuls-top-political-ally-weighs-resignation-after-mamdani-endorsement-00573154&quot;&gt;refused to endorse Zohran&lt;/a&gt; just like he refused to endorse Walton, except at least this time &lt;a href=&quot;https://ny1.com/nyc/all-boroughs/politics/2021/10/20/india-walton-extends--grace--to-dem-party-chair-jay-jacobs-for-kkk-remarks&quot;&gt;he didn&apos;t compare the socialist upstart to David Duke&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;On primary day, Hell Gate &lt;a href=&quot;https://hellgatenyc.com/india-waltons-advice-for-zohran-mamdani/&quot;&gt;interviewed Walton&lt;/a&gt; and afterwards &lt;a href=&quot;https://www.cityandstateny.com/personality/2025/07/india-walton-says-hochul-has-responsibility-endorse-mamdani/406544/&quot;&gt;City &amp;amp; State NY interviewed her&lt;/a&gt; too.&lt;/p&gt;
&lt;p&gt;But I have yet to see any reporting on how many volunteers came down from Buffalo to support the Zohran campaign in the final stretch. I met a decent amount of people who were very open about why they had come to the city: to prevent a repeat of what happened in 2021.&lt;/p&gt;
&lt;h2 class=&quot;header&quot; id=&quot;being-ineligible-for-president-can-be-a-boon-853d&quot;&gt;&lt;span class=&quot;header-text&quot;&gt;Being ineligible for president can be a boon&lt;/span&gt;&lt;a href=&quot;/2025/11/21/three-ish-takeaways-from-zohrans-win.html#being-ineligible-for-president-can-be-a-boon-853d&quot; class=&quot;header-link&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Because of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Natural-born-citizen_clause_(United_States)&quot;&gt;natural-born-citizen clause&lt;/a&gt; in the U.S. Constitution, Zohran is ineligible to run for U.S. president. Meanwhile it was &lt;a href=&quot;https://thehill.com/homenews/campaign/5165904-cuomo-2028-presidential/&quot;&gt;incredibly&lt;/a&gt; &lt;a href=&quot;https://nypost.com/2025/05/30/us-news/cuomo-angling-for-president-in-2028-rivals-say/&quot;&gt;obvious&lt;/a&gt; that Andrew Cuomo was running for mayor to relaunch his political career so he could run for president in 2028. That would follow the recent trend of NYC mayors running for president, including &lt;a href=&quot;https://en.wikipedia.org/wiki/Bill_de_Blasio#2020_presidential_campaign&quot;&gt;Bill de Blasio&lt;/a&gt; (2020), &lt;a href=&quot;https://en.wikipedia.org/wiki/Michael_Bloomberg_2020_presidential_campaign&quot;&gt;Michael Bloomberg&lt;/a&gt; (also 2020) and &lt;a href=&quot;https://en.wikipedia.org/wiki/Rudy_Giuliani_2008_presidential_campaign&quot;&gt;Rudy Giuliani&lt;/a&gt; (2008).&lt;/p&gt;
&lt;p&gt;And of course, &lt;a href=&quot;https://www.motherjones.com/politics/2024/09/eric-adams-indicted-biden-manchin-nate-silver/&quot;&gt;way too many people&lt;/a&gt; touted Eric Adams as the &amp;quot;future of the Democratic party&amp;quot; and a future presidential candiate. Oops, should&apos;ve listened to &lt;a href=&quot;https://www.youtube.com/watch?v=nV-8YwyS5_4&quot;&gt;Andrew Yang&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I think it&apos;s underrated that Zohran can&apos;t run, and so after the primary win, there was no endless dicussion of whether he&apos;d run in 2028 or some made up hypotheticals of him vs. AOC as to who should be the left&apos;s standard bearer, etc. And, it&apos;s much easier to convey and convince people that Zohran was genuinely interested in improving the lives of New Yorkers as the mayor and not just using it as a stepping stone to higher office.&lt;/p&gt;
&lt;h2 class=&quot;header&quot; id=&quot;indians-can-move-left-853d&quot;&gt;&lt;span class=&quot;header-text&quot;&gt;Indians can move left&lt;/span&gt;&lt;a href=&quot;/2025/11/21/three-ish-takeaways-from-zohrans-win.html#indians-can-move-left-853d&quot; class=&quot;header-link&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In 2024, it very much felt that Indians were moving right, with &lt;a href=&quot;https://en.wikipedia.org/wiki/Nikki_Haley&quot;&gt;Nikki Haley&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Vivek_Ramaswamy&quot;&gt;Vivek Ramaswamy&lt;/a&gt; rising in the Republican ranks and Kamala Harris losing. Polling indicated &lt;a href=&quot;https://www.pewresearch.org/politics/2025/06/26/voting-patterns-in-the-2024-election/&quot;&gt;Asians broadly shifted right&lt;/a&gt; (though I didn&apos;t find anything about Indians specifically). Not to mention the backdrop of Modi&apos;s right-wing government rising in India, which undoubtedly affects the views of the diaspora.&lt;/p&gt;
&lt;p&gt;Anecdotally, the WhatsApp forwards were getting worse.&lt;/p&gt;
&lt;p&gt;Zohran is easily the most high-profile Indian American politician in the U.S., but more importantly, his campaign was &lt;a href=&quot;https://www.waleed-shahid.com/p/how-south-asian-turnout-redrew-new&quot;&gt;backed by incredibly strong South Asian turnout&lt;/a&gt; across the board, with Indian turnout rising from 18% to 45%. To quote: &amp;quot;South Asians and Muslims account for just 7 percent of the city’s registered voters, yet they cast an estimated 15 percent of all ballots in the general election.&amp;quot; The &lt;a href=&quot;https://www.harpersbazaar.com/culture/features/a69136325/zohran-mamdani-nyc-mayor-campaign-aunties/&quot;&gt;aunties are activated&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Not to mention, Ro Khanna is now a legitimate 2028 presidential contender who also &lt;a href=&quot;https://www.nytimes.com/live/2025/11/01/nyregion/nyc-mayor-election-news/mamdani-is-joined-by-ro-khanna-in-hopes-of-exciting-south-asian-voters&quot;&gt;campaigned with Zohran&lt;/a&gt; in the final stretch while Ramaswamy is &lt;a href=&quot;https://abc6onyourside.com/news/election/dr-amy-acton-vivek-ramaswamy-polling-republicans-gop-crossing-over-support-gubernatorial-run-2026-ohio-governor-run-contest-politics-government&quot;&gt;possibly starting to collapse&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Regardless of how that turns out, it&apos;s clear that it&apos;s far from inevitable that Indians will move right, and more importantly, we can move them left.&lt;/p&gt;
&lt;h2 class=&quot;header&quot; id=&quot;final-thoughts-853d&quot;&gt;&lt;span class=&quot;header-text&quot;&gt;Final thoughts&lt;/span&gt;&lt;a href=&quot;/2025/11/21/three-ish-takeaways-from-zohrans-win.html#final-thoughts-853d&quot; class=&quot;header-link&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;People keep repeating how this mayoral election was like none other, and I geniunely have no idea what they mean. This was my first mayoral election as a New York City resident so it&apos;s also my baseline. I expect things to only go up from here, starting with the &lt;a href=&quot;https://www.cityandstateny.com/politics/2025/10/former-dsa-leader-diana-moreno-hopes-replace-zohran-mamdani-assembly/409178/&quot;&gt;special election for my assemblymember&lt;/a&gt; and then the &lt;a href=&quot;https://gothamist.com/news/rep-nydia-vel%C3%A1zquez-says-she-wont-seek-re-election-after-more-than-30-years-in-congress&quot;&gt;open primary for my U.S. House district&lt;/a&gt;.&lt;/p&gt;
</content></entry></feed>