{"version":"https://jsonfeed.org/version/1","title":"Micro.blog - C. Scott Ananian (he/him)","home_page_url":"https://micro.blog","feed_url":"https://micro.blog/posts/cscott@kolektiva.social","_microblog":{"about":"https://micro.blog/about/api","id":"163160","username":"cscott@kolektiva.social","bio":"C. Scott Ananian works to empower others.\n\nMember of the #TwitterMigration.","pronouns":"","is_following":false,"is_you":false,"following_count":0,"discover_count":0},"author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://micro.blog/photos/200/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png"},"items":[{"id":"66541854","content_html":"<p><span class=\"h-card\"><a href=\"https://mstdn.ca/@oclsc\" class=\"u-url mention\">@<span>oclsc</span></a></span> <span class=\"h-card\"><a href=\"https://social.jvns.ca/@b0rk\" class=\"u-url mention\">@<span>b0rk</span></a></span> python doesn't have a build step. Neither does sh.</p><p>Java doesn't have \"header files\" and it generally doesn't have separate compilation. </p><p>ADA has its own make tool specifically because `make` doesn't work well for it: <a href=\"https://gcc.gnu.org/onlinedocs/gnat_ugn/Building-with-gnatmake.html#c9\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">gcc.gnu.org/onlinedocs/gnat_ug</span><span class=\"invisible\">n/Building-with-gnatmake.html#c9</span></a></p><p>Make is built on the idea that many-to-one dependencies: A, B, or C changed, so regenerate X.  That matches very well with the C notion of header, source, and object files.  It breaks down even if it needs to generate *two* outputs from the set of inputs (as anyone who has used it for LaTeX or Lilypond can attest).</p><p>Yes, there are other programming languages, but make is really designed in a fundamental way around the dependency and compilation model of one particular programming language, C. </p><p>The fact that it can be used for other programming languages is mostly a testament to the fact that other programming languages (and data processing pipelines) can be mapped onto the C compilation model. (Eg most modern Fortran are based on C compilers now.) There's nothing inherent about \"data processing\" that naturally suggests `make` in particular.   One of many reasons is that many data processing tools generate multiple outputs for the same input, which is something make doesn't handle well.</p>","url":"https://kolektiva.social/users/cscott/statuses/114666334336385662","date_published":"2025-06-11T19:16:48+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-06-11 19:16","date_timestamp":1749669408,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"66541851","content_html":"<p><span class=\"h-card\"><a href=\"https://mstdn.ca/@oclsc\" class=\"u-url mention\">@<span>oclsc</span></a></span> <span class=\"h-card\"><a href=\"https://social.jvns.ca/@b0rk\" class=\"u-url mention\">@<span>b0rk</span></a></span> I use Makefile to rebuild TeX and Lilypond files... which are themselves compilation tools built on the C model.  I /think/ @b0rk's fundamental point is that even the idea of \"put pieces in separate files that are linked together by dependencies and run a tool to update a monolithic output when any of them change\" is foreign to folks who use (say) scripting languages, or who doing their writing in a word processor where \"generate a PDF\" is a menu option, not an executable to run.  Even Java (generally very C-like!) had a lot of trouble fitting into the Makefile dependency model, although many folks tried hard (especially when Java was young).</p>","url":"https://kolektiva.social/users/cscott/statuses/114666205562726099","date_published":"2025-06-11T18:44:03+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-06-11 18:44","date_timestamp":1749667443,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"64476972","content_html":"<p><span class=\"h-card\"><a href=\"https://cosocial.ca/@evan\" class=\"u-url mention\">@<span>evan</span></a></span> your poll should include more options less than a minute.  I'd personally be comfortable with 10s or so, but I'm pretty sure NTP has no problem keeping drift below 1s, so that should be the table stakes.  The real question is how many folks expect drift in the 10s of milliseconds.</p>","url":"https://kolektiva.social/users/cscott/statuses/114512048446402839","date_published":"2025-05-15T13:19:52+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-05-15 13:19","date_timestamp":1747315192,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"63108802","content_html":"<p><span class=\"h-card\"><a href=\"https://cosocial.ca/@evan\" class=\"u-url mention\">@<span>evan</span></a></span> <span class=\"h-card\"><a href=\"https://layer8.space/@chillicampari\" class=\"u-url mention\">@<span>chillicampari</span></a></span> <span class=\"h-card\"><a href=\"https://mas.to/@gleick\" class=\"u-url mention\">@<span>gleick</span></a></span> <br>Building a collaboratively-edited encyclopedia is pretty darn hard as it is! </p><p>I think there's a certain merit to focusing on your core innovation, instead of trying to do too many new things at once. </p><p>And the centralization made sense as an efficiency optimization while the US was stable and friendly and while most of the funding came from US sources. </p><p>And most of the funding /still/ comes from US sources: <a href=\"https://kolektiva.social/@cscott/114410270282621298\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">kolektiva.social/@cscott/11441</span><span class=\"invisible\">0270282621298</span></a></p><p>That said, I'm in favor of continuing to diversify funding and to investigate means of diversifying storage as a legal mitigation. But it's not like \"federation\" is a one-click solution against a nation-state-level adversary.  It is a much more credible defense against corporate capture (we have a nonprofit for that), but nation states can ban linking, can filter traffic, can go after individual editors and content hosts, etc.  This is not new: we've been fighting those battles around the world for decades, and editors have been killed and the site banned.  America is a significant source of editors, funds, and content for the project and that means any American threat is dire, no matter where the content is hosted.</p>","url":"https://kolektiva.social/users/cscott/statuses/114410430335023973","date_published":"2025-04-27T14:37:03+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-04-27 14:37","date_timestamp":1745764623,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"63105294","content_html":"<p><span class=\"h-card\"><a href=\"https://layer8.space/@chillicampari\" class=\"u-url mention\">@<span>chillicampari</span></a></span> <span class=\"h-card\"><a href=\"https://cosocial.ca/@evan\" class=\"u-url mention\">@<span>evan</span></a></span> <span class=\"h-card\"><a href=\"https://mas.to/@gleick\" class=\"u-url mention\">@<span>gleick</span></a></span> to be clear I was referring to the project as a whole, not the Foundation per se.</p><p>Unfortunately MediaWiki (the software that runs Wikipedia) is not designed to scatter its content across jurisdictions, although there is some limited support for federation (wikidata, \"instacommons\", language wikis). The software was designed around the idea of picking a single safe spot (or one safe spot for each language) and putting all your eggs down there in that basket.</p>","url":"https://kolektiva.social/users/cscott/statuses/114410122746029239","date_published":"2025-04-27T13:18:49+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-04-27 13:18","date_timestamp":1745759929,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"63100971","content_html":"<p><span class=\"h-card\"><a href=\"https://cosocial.ca/@evan\" class=\"u-url mention\">@<span>evan</span></a></span> <span class=\"h-card\"><a href=\"https://mas.to/@gleick\" class=\"u-url mention\">@<span>gleick</span></a></span> please do so, but not too hastily.  There are legal liabilities for hosting Wikipedia content, and it doesn't help much if those mirrors put our affiliates in legal jeopardy and result in take downs of their own. </p><p>The real issue is not technical but legal. There is a lot of wiki content which is illegal in various legal jurisdictions: images of Nazis which Germany frowns on, content which some countries will label sexually explicit, photos of monuments which are copyrighted in the UK, biographies of living people, content which violates the EU \"right to be forgotten\", maps with lines drawn in the \"wrong\" places, etc. </p><p>We simplified this problem by standardizing on a single legal regime, with a single definition of \"libel\", \"obscenity\", \"copyright\", etc.  As you say, it is past time to tackle the problem properly. But doing so too hastily is going to multiply legal attacks and vulnerabilities.  Content probably has to be carefully screened for compliance with a host countries legal framework before being rehomed, or at least a process must be set up to respond to legal objections after the fact.</p>","url":"https://kolektiva.social/users/cscott/statuses/114408193594128638","date_published":"2025-04-27T05:08:13+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-04-27 05:08","date_timestamp":1745730493,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"63079882","content_html":"<p><span class=\"h-card\"><a href=\"https://mas.to/@gleick\" class=\"u-url mention\">@<span>gleick</span></a></span> further, the issue isn't that the content and editors and employees aren't already all over the world.  The issue is the increased legal risk of relocating or decentralizing. The content was written specifically tailored to the American legal system's rules w/r/t libel, photographs of public spaces, etc and you want just transport it to a different legal domain without revisiting all of the content.  For example, UK libel labels, or EU \"right to be forgotten\" and latent copyright on public buildings, etc. </p><p>Whether it should be done is a separate question, but I think everyone should start with an understanding of the enormous costs of a move to one (or more!) new legal jurisdictions, to be borne by volunteers who have created or contributed content that must not be re-evaluated in a new legal framework.</p>","url":"https://kolektiva.social/users/cscott/statuses/114407100029063724","date_published":"2025-04-27T00:30:06+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-04-27 00:30","date_timestamp":1745713806,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"61635883","content_html":"<p><span class=\"h-card\"><a href=\"https://kolektiva.social/@violetmadder\" class=\"u-url mention\">@<span>violetmadder</span></a></span> <span class=\"h-card\"><a href=\"https://social.wildeboer.net/@jwildeboer\" class=\"u-url mention\">@<span>jwildeboer</span></a></span> no, totally. Electoralism isn't the only way, and not everyone is suited to it. But we need to build up encourage and develop those who are well suited, not disparage them as \"politicians\".  Disparage \"bad politicians\", \"cowardly politicians\", \"ineffective politicians\", \"out of touch politician\" but \"politician\" without an modifier should not be a slur.</p>","url":"https://kolektiva.social/users/cscott/statuses/114293863845723540","date_published":"2025-04-07T00:32:39+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-04-07 00:32","date_timestamp":1743985959,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"61007125","content_html":"<p><span class=\"h-card\"><a href=\"https://cosocial.ca/@evan\" class=\"u-url mention\">@<span>evan</span></a></span> <span class=\"h-card\"><a href=\"https://bikeshed.vibber.net/@brooke\" class=\"u-url mention\">@<span>brooke</span></a></span> well, I'm not a lawyer, and this is a brand new area for the law in any case.  But there are restrictions on the commercial use of fan fiction, for example.  You can write it, and even share it to some degree with your friends, but you can't built a $800B company based on it.</p>","url":"https://kolektiva.social/users/cscott/statuses/114247047015938643","date_published":"2025-03-29T18:06:31+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-03-29 18:06","date_timestamp":1743271591,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"61001498","content_html":"<p><span class=\"h-card\"><a href=\"https://cosocial.ca/@evan\" class=\"u-url mention\">@<span>evan</span></a></span> <span class=\"h-card\"><a href=\"https://bikeshed.vibber.net/@brooke\" class=\"u-url mention\">@<span>brooke</span></a></span> I think your point was more that this is \"transformative use\" and thus covered by fair use.  But I don't things are quite that simple.  Fair use has specific limits, because it is part of a social contract.  There is free expression, but there are also libel, likeness, and privacy laws.</p><p>The law will take a while to catch up, but I don't think \"but fair use\" is a ironclad defense.  We can shape fair use to benefit society, and I'm not convinced that unregulated use of copyrighted content to train LLMs is a net benefit. </p><p>Also, this veers close to libel, considered some of the \"facts\" listed below are hallucinations:</p>","url":"https://kolektiva.social/users/cscott/statuses/114246932217073533","date_published":"2025-03-29T17:37:19+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-03-29 17:37","date_timestamp":1743269839,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"61001497","content_html":"<p><span class=\"h-card\"><a href=\"https://cosocial.ca/@evan\" class=\"u-url mention\">@<span>evan</span></a></span> <span class=\"h-card\"><a href=\"https://bikeshed.vibber.net/@brooke\" class=\"u-url mention\">@<span>brooke</span></a></span> put another way, they've taken (a copy of) something I left around in the open for my friends to read and sold it for profit without asking me. They can't even say \"but it's not something you were commercially interested in\" because the ACM (my other friend) is actually selling copies as part of their Digital Library subscription. </p><p>Given that they are relying on a \"but you left it around in the open\" defense I don't think \"theft\" is overstating it. I think there's a consensus opinion that *indexing* and *archiving* things I \"leave around in the open\" is okay, because that's something that mutually benefits us both (and there's a well-known(ish) opt-out mechanism in robots.txt).  But LLMs are a new use case and I'm not convinced the tacit agreement based on mutual benefit still exists.</p>","url":"https://kolektiva.social/users/cscott/statuses/114246870814780715","date_published":"2025-03-29T17:21:42+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-03-29 17:21","date_timestamp":1743268902,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"60999069","content_html":"<p><span class=\"h-card\"><a href=\"https://cosocial.ca/@evan\" class=\"u-url mention\">@<span>evan</span></a></span> <span class=\"h-card\"><a href=\"https://bikeshed.vibber.net/@brooke\" class=\"u-url mention\">@<span>brooke</span></a></span> yeah, that's the irony I was clumsily trying to get at. </p><p>They actually used the journal copy of the paper, as far as I can tell, so the ACM may take issue with it.  But the ACM's author license has always (?) been non-exclusive, so I retain my copyright and can do with my copy as I please, including publish it on my website for the world (and Meta) to read.</p><p>Because I'm a free software/academic type, I didn't even bother to put a license on my publications page. But it's still my copyright, and in theory I could have slapped some text on the page about \"education\" or \"non-commercial use only\" (in fact, those might actually have been terms of the publication agreement I signed with the ACM when the paper was published!).  If I'd been careful with my licensing, I could have a plausible basis for asserting that I made my paper available for folks to read and learn from, not to exploit commercially for profit (which is very much what Meta is doing).</p><p>On the other hand, \"field of use restrictions\" and \"non-commercial\" licenses are deeply problematic in the software world, so I'd expect the same would be true here.  But even a Creative Commons \"Attribution\" license would require some acknowledgement of the sources of the training data by Meta, which is a low bar but also not met.</p>","url":"https://kolektiva.social/users/cscott/statuses/114246838515155757","date_published":"2025-03-29T17:13:29+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-03-29 17:13","date_timestamp":1743268409,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"60999068","content_html":"<p><span class=\"h-card\"><a href=\"https://bikeshed.vibber.net/@brooke\" class=\"u-url mention\">@<span>brooke</span></a></span> incidentally, you can ask Claude about this, since my paper on data size optimizations for Java was apparently in the training data Meta used. ;-p</p><p>That would be theft if I didn't give away the paper on <a href=\"https://cscott.net/Publications/\"><span class=\"invisible\">https://</span><span class=\"\">cscott.net/Publications/</span><span class=\"invisible\"></span></a>.</p><p><a href=\"https://www.theatlantic.com/technology/archive/2025/03/search-libgen-data-set/682094/\"><span class=\"invisible\">https://www.</span><span class=\"ellipsis\">theatlantic.com/technology/arc</span><span class=\"invisible\">hive/2025/03/search-libgen-data-set/682094/</span></a> search for C. Scott Ananian</p>","url":"https://kolektiva.social/users/cscott/statuses/114246687762909651","date_published":"2025-03-29T16:35:09+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-03-29 16:35","date_timestamp":1743266109,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"60999067","content_html":"<p><span class=\"h-card\"><a href=\"https://bikeshed.vibber.net/@brooke\" class=\"u-url mention\">@<span>brooke</span></a></span> the trick used by the big boys is to use the pointer as the hash and then if/when you need to move the object you allocate one word extra and store the \"original pointer\" aka hashcode in the object. The takes advantage of the fact that most objects are short lived. But this is overkill for a small/simple implementation, just grit your teeth and allocate a word for the hashcode. Or you could really double down on \"lots of object representations\" (if that sounds fun) and do all your lookups via an indirection so it's easy to add a bunch of specialized table representations like this. :)</p><p>(And you only need to store the hashcode if it has ever been read, so you can keep the hashcode out of the object until the first time you try to read the hashcode from a \"compact\" object, and then rehash it to give it space to store the new hashcode you just made up.)</p>","url":"https://kolektiva.social/users/cscott/statuses/114246665415194315","date_published":"2025-03-29T16:29:28+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-03-29 16:29","date_timestamp":1743265768,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"60999064","content_html":"<p><span class=\"h-card\"><a href=\"https://bikeshed.vibber.net/@brooke\" class=\"u-url mention\">@<span>brooke</span></a></span> why subtract 1? Just take every index mod N and store the top element at the zero spot. But I think you're on the right track: the table is \"just\" a hash table, with a particularly simple hash function for integer indexes. But remember that once you start hashing you need to store the key in the table as well, and tables can also be keys in Lua. </p><p>My intuition is that when memory is at a premium you'd do better by just having two table types under the hood, for \"arrays\" and \"tables\", and rehash between them when you first add a non-contiguous element. It means lookups etc get twice as much code but it avoids having to store the key in the table for \"arrays\".</p>","url":"https://kolektiva.social/users/cscott/statuses/114246553013079290","date_published":"2025-03-29T16:00:53+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-03-29 16:00","date_timestamp":1743264053,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"56922113","content_html":"<p><span class=\"h-card\"><a href=\"https://cosocial.ca/@evan\" class=\"u-url mention\">@<span>evan</span></a></span> this would be a tribute to the original engineers, of course. Also worth noting that Twitter by definition is a \"fault tolerant\" system -- if it fails to show someone your post, who would notice? It never guaranteed to show your followers all of your posts. And if it failed to accept your post, you'd probably just hit \"tweet\" again, until it worked, etc.  There's a lot of human-in-the-loop redundancy, and not a lot of visibility into internal metrics.</p>","url":"https://kolektiva.social/users/cscott/statuses/113957509389203307","date_published":"2025-02-06T14:53:17+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-02-06 14:53","date_timestamp":1738853597,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"56922112","content_html":"<p><span class=\"h-card\"><a href=\"https://cosocial.ca/@evan\" class=\"u-url mention\">@<span>evan</span></a></span> I think 5 - the system was engineered for redundancy and decoupled, so that it was indeed possible to shut down a data center and a bunch of ad/safety/revenue-related functions are preserve core functionality, which has been deliberately engineered to be extremely fault tolerant:<br><a href=\"https://hachyderm.io/@sed/113949096664517583\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">hachyderm.io/@sed/113949096664</span><span class=\"invisible\">517583</span></a></p>","url":"https://kolektiva.social/users/cscott/statuses/113957500518774564","date_published":"2025-02-06T14:51:02+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2025-02-06 14:51","date_timestamp":1738853462,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"14737097","content_html":"<p><span class=\"h-card\"><a href=\"https://ioc.exchange/@matthew_d_green\" class=\"u-url mention\">@<span>matthew_d_green</span></a></span> is something like this reproducible?</p><p><a href=\"https://hackers.town/@benbrown/109472549090755801\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">hackers.town/@benbrown/1094725</span><span class=\"invisible\">49090755801</span></a></p><p>Especially when I read that the author is employed by deep mind I start suspecting that the inputs have been very very carefully tuned to produce \"impressive seeming\" results.  And then we're all seeing a rock with eyes on it and doing a lot of projection.</p><p>(In the example cited, chatgpt seems to be able to eval python code, but I'm almost certain the only reason it can do so is because the particular python string is pulled verbatim from some internet repo and chatgpt's training data includes the string and the python Interpreter's response.)</p>","url":"https://kolektiva.social/users/cscott/statuses/109472779602242738","date_published":"2022-12-07T14:07:32+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2022-12-07 14:07","date_timestamp":1670422052,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"14715001","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@b0rk\" class=\"u-url mention\">@<span>b0rk</span></a></span> i used the SPIN model checker for some particularly nasty mulithreaded code.  Model checkers are fuzzers, if you include the case where literally every possible input is tested. :)</p><p><a href=\"https://spinroot.com/spin/whatispin.html\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">spinroot.com/spin/whatispin.ht</span><span class=\"invisible\">ml</span></a></p>","url":"https://kolektiva.social/users/cscott/statuses/109468226487935168","date_published":"2022-12-06T18:49:37+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2022-12-06 18:49","date_timestamp":1670352577,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"14714875","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@b0rk\" class=\"u-url mention\">@<span>b0rk</span></a></span> M-x hexl-mode</p>","url":"https://kolektiva.social/users/cscott/statuses/109468204344676157","date_published":"2022-12-06T18:43:59+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2022-12-06 18:43","date_timestamp":1670352239,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"14552792","content_html":"<p><span class=\"h-card\"><a href=\"https://nondeterministic.computer/@mjg59\" class=\"u-url mention\">@<span>mjg59</span></a></span> and of course the stock nature of that reply gives away that this is *not* an actual self-assessment in any way based on neutral inputs, but in fact a regurgitation of specially *biased* (ie, \"I am going to assert i am neutral irrespective of the evidence\") inputs.</p><p>The game is rigged to deliberately conceal whichever other ways the game is also rigged.</p>","url":"https://kolektiva.social/users/cscott/statuses/109438857342029466","date_published":"2022-12-01T14:20:39+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2022-12-01 14:20","date_timestamp":1669904439,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"14545538","content_html":"<p><span class=\"h-card\"><a href=\"https://social.tulsa.ok.us/@BalooUriza\" class=\"u-url mention\">@<span>BalooUriza</span></a></span> <span class=\"h-card\"><a href=\"https://mastodon.social/@jwz\" class=\"u-url mention\">@<span>jwz</span></a></span> jwz explicitly disabled preview fetches from the mastodon User-Agent, see <a href=\"https://www.jwz.org/blog/2022/11/mastodon-stampede/\"><span class=\"invisible\">https://www.</span><span class=\"ellipsis\">jwz.org/blog/2022/11/mastodon-</span><span class=\"invisible\">stampede/</span></a></p>","url":"https://kolektiva.social/users/cscott/statuses/109436806373840809","date_published":"2022-12-01T05:39:04+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2022-12-01 05:39","date_timestamp":1669873144,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"14523336","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@b0rk\" class=\"u-url mention\">@<span>b0rk</span></a></span> i try to always encourage folks who are reading the docs to also /write the docs/.</p><p>That is, your unfamiliarity with the codebase is a precious and nonrenewable resource: once you get up to speed, you will forget what it was you had trouble with and initially didn't know.</p><p>So try to write down your journey, take notes, etc, and record what path you took and what gaps you found.  That is invaluable expertise to help pave the path for the next person to wander into this codebase.  Leave breadcrumbs behind you on your journey.</p>","url":"https://kolektiva.social/users/cscott/statuses/109434123739677823","date_published":"2022-11-30T18:16:50+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2022-11-30 18:16","date_timestamp":1669832210,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"14519972","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.social/@b0rk\" class=\"u-url mention\">@<span>b0rk</span></a></span> look at the version control history of the file, at a \"git blame\" line-by-line level if you've localized the bug, or else just at the big picture \"who were the last people to touch this file and when\" level.</p><p>New bugs are often regressions, or incomplete fixes of earlier problems.  Understanding what changed and why (from the commit logs) might give you some clues and directions for further research. (For example, if there's a bug tracker # recorded in a commit which touched the code you're trying to understand, you might find a further discussion of that code in the tracker for that bug.)</p><p>If all else fails, the \"most recent N people to touch this file\" are probably good people to track down and ask about how the code works.</p>","url":"https://kolektiva.social/users/cscott/statuses/109433738481098316","date_published":"2022-11-30T16:38:51+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2022-11-30 16:38","date_timestamp":1669826331,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"14471402","content_html":"<p><span class=\"h-card\"><a href=\"https://mastodon.mit.edu/@eichin\" class=\"u-url mention\">@<span>eichin</span></a></span> <span class=\"h-card\"><a href=\"https://federate.social/@mattblaze\" class=\"u-url mention\">@<span>mattblaze</span></a></span> <span class=\"h-card\"><a href=\"https://mastodon.cloud/@timbray\" class=\"u-url mention\">@<span>timbray</span></a></span> yeah, I'd wager the noise is almost entirely cooling-related.</p>","url":"https://kolektiva.social/users/cscott/statuses/109425321086325977","date_published":"2022-11-29T04:58:12+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2022-11-29 04:58","date_timestamp":1669697892,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":true,"is_linkpost":false,"is_mention":true}},{"id":"13737322","content_html":"<p>RT @mjg59@twitter.com</p><p>What if we build a bot network with the sole goal of making Elon a socialist</p><p>🐦🔗: <a href=\"https://twitter.com/mjg59/status/1588741674502860801\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">twitter.com/mjg59/status/15887</span><span class=\"invisible\">41674502860801</span></a></p>","summary":"","url":"https://kolektiva.social/@cscott/109289233226099522","date_published":"2022-11-05T04:09:16+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2022-11-05 04:09","date_timestamp":1667621356,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}},{"id":"13737321","content_html":"Hello!I'm cscott.  I'm a hacker at #Wikipedia during the day, a progressive activist and politician in #BrooklineMA #Massachusetts in the evening and on weekends.I also have two kids, for whom I make all sorts of toys.  We've got a pretty sizable #lego town in our basement and I keep th... <a href=\"https://kolektiva.social/@cscott/109288072984480255\">kolektiva.social</a>","summary":"","url":"https://kolektiva.social/@cscott/109288072984480255","date_published":"2022-11-04T23:14:12+00:00","author":{"name":"C. Scott Ananian (he/him)","url":"https://kolektiva.social/@cscott","avatar":"https://cdn.micro.blog/photos/96/https%3A%2F%2Fcdn.masto.host%2Fsocialjvnsca%2Fcache%2Faccounts%2Favatars%2F109%2F690%2F240%2F869%2F677%2F663%2Foriginal%2Fedc059d7cd0fd213.png","_microblog":{"username":"cscott@kolektiva.social"}},"_microblog":{"date_relative":"2022-11-04 23:14","date_timestamp":1667603652,"is_favorite":false,"is_bookmark":false,"is_deletable":false,"is_conversation":false,"is_linkpost":false,"is_mention":false,"note":"","syndication":[]}}]}