<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>GioCities</title><link>https://blog.giovanh.com/</link><description></description><lastBuildDate>Thu, 22 May 2025 00:00:00 -0500</lastBuildDate><item><title>SUPERHOT VR's Story was Removed. What?</title><link>https://blog.giovanh.com/blog/2025/05/14/superhot-vrs-story-was-removed-what/</link><description>&lt;!-- Back in 2021 SUPERHOT VR had its story patched out. I thought about it slightly too long and fell into rabbit hole. It doesn't make sense, it's bad that it happened, and it prompts a whole bunch of naval-gazing about Art.  --&gt;
&lt;p&gt;&lt;a href="https://blog.giovanh.com/blog/2025/05/14/superhot-vrs-story-was-removed-what/zxc.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;SUPERHOT VR&lt;/em&gt; released in 2017. 
Then in 2021 the game’s entire story was removed. &lt;/p&gt;
&lt;p&gt;What’s happened here is fascinating, but somehow nobody has talked about it seriously. 
Because it’s censorship in a video game — a topic the gaming community cannot be normal about — it is nearly impossible to even think about the issue through all the noise. 
Anyone aware of this topic at all seems to be screaming about Woke, or complaining about games becoming “political”, as if “political” is just a switch you can throw to make media worse.&lt;/p&gt;
&lt;p&gt;Wikipedia summarizes the discourse as:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The choice to remove these games led to the game getting &lt;a href="https://en.wikipedia.org/wiki/Review_bomb" title="Review bomb"&gt;review bombed&lt;/a&gt; on Steam, with some users claiming that Superhot Team was giving in to “&lt;a href="https://en.wikipedia.org/wiki/Snowflake_(slang)" title="Snowflake (slang)"&gt;snowflakes&lt;/a&gt;” and others believing it to be a form of &lt;a href="https://en.wikipedia.org/wiki/Virtue_signaling" title="Virtue signaling"&gt;virtue signaling&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;But this is insane!
A historically significant VR game — one of the greatest of all time — had one of its defining characteristics removed, without any explanation or replacement. 
This isn’t some &lt;em&gt;Stellar Blade&lt;/em&gt; fake controversy, something &lt;strong&gt;weird&lt;/strong&gt; happened here. 
There are real, understandable things to object to, and none of them are right-wing culture war buzzwords. &lt;/p&gt;
&lt;aside class="cb spoiler-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This article spoils &lt;em&gt;SUPERHOT&lt;/em&gt; (2016) and &lt;em&gt;SUPERHOT VR&lt;/em&gt; (2016), but not &lt;em&gt;SUPERHOT: Mind Control Delete&lt;/em&gt; (2020). Also, for some reason, &lt;em&gt;Virtual Virtual Reality&lt;/em&gt;.&lt;/p&gt;
&lt;/aside&gt;
&lt;section class="section2"&gt;&lt;h2 id="but-what-is-superhot"&gt;But what is SUPERHOT?&lt;/h2&gt;
&lt;p&gt;SUPERHOT was originally developed for the 2013 &lt;a href="https://web.archive.org/web/20140602015654/http://7dfps.com/?action=games&amp;amp;id=290"&gt;7 Day FPS Challenge game jam&lt;/a&gt; by Polish team “&lt;a href="https://web.archive.org/web/20140602015654/http://7dfps.com/?action=profile&amp;amp;id=453"&gt;The Bricky Blues&lt;/a&gt;”, directed by Piotr Iwanicki. 
In September 2013 &lt;a href="https://web.archive.org/web/20130829014129/http://blue-brick.com/SUPERHOT"&gt;it was released on the Blue Brick Software and Embedded Systems website&lt;/a&gt; in three separate “episodes” &lt;a href="https://www.gamedeveloper.com/business/the-origin-and-future-of-frozen-time-fps-hit-superhot-and-the-positive-crunching-behind-it"&gt;because the levels were developed in parallel in three separate unity projects for the jam.&lt;/a&gt; &lt;/p&gt;
&lt;!-- Some progress updates were posted on 7dfps, but those videos have since been made private on YouTube. --&gt;
&lt;!-- ![kickstarter progress](https://superhotgame.com/images/our-story/our-story-bg/timeline-6.avif) --&gt;
&lt;p&gt;After the demo received positive feedback, &lt;a href="https://www.kickstarter.com/projects/375798653/superhot"&gt;SUPERHOT went to Kickstarter&lt;/a&gt; (after they got Kickstarter to support Poland) and was successfully overfunded in June 2014.
(With the success of SUPERHOT, the Blue Brick company seems to have been abandoned.)
&lt;strong&gt;&lt;em&gt;SUPERHOT&lt;/em&gt; (2016)&lt;/strong&gt; was then released in February. &lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Wed, 14 May 2025 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2025-05-14:/blog/2025/05/14/superhot-vrs-story-was-removed-what/</guid><category>gaming</category><category>vr</category><category>literary themes</category><category>media consumption</category><category>fiasco</category><category>personal</category><category>piracy</category></item><item><title>Why training AI can't be IP theft</title><link>https://blog.giovanh.com/blog/2025/04/03/why-training-ai-cant-be-ip-theft/</link><description>&lt;!-- Series: AI --&gt;
&lt;!-- Latest essay: Artists are worried about having their work exploited by AI, but the idea that training the model on scraped work in the first place is a copyright violation is bunk, and here's why.  --&gt;
&lt;!-- ## Intro --&gt;
&lt;p&gt;AI is a huge subject, so it’s hard to boil my thoughts down into any single digestible take. 
That’s probably a good thing. As a rule, if you can fit your understanding of something complex into a tweet, you’re usually wrong.
So I’m continuing to divide and conquer here, eat the elephant one bite at a time, etc. &lt;/p&gt;
&lt;!-- And -- to mix a metaphor -- a good way to find the truth is to chip away at all the parts that *aren't* an elephant, so let me remove from the conversation some ideas I'm confident are wrong.  --&gt;
&lt;p&gt;Right now I want to address one specific question: whether people have the right to train AI in the first place. 
The argument that they do &lt;em&gt;not&lt;/em&gt;&lt;sup id="fnref:the-argument"&gt;&lt;a class="footnote-ref" href="#fn:the-argument"&gt;1&lt;/a&gt;&lt;/sup&gt; goes like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When a corporation trains generative AI they have unfairly used other people’s work without consent or compensation to create a new product they own. 
Worse, the new product directly competes with the original workers. 
Since the corporations didn’t own the original material and weren’t granted any specific rights to use it for training, they did not have the right to train with it. 
When the work was published, there was no expectation it would be used like this, as the technology didn’t exist and people did not even consider “training” as a possibility. 
Ultimately, the material is copyrighted, and this action violates the authors’ copyright.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I have spent a lot of time thinking about this argument and its implications. Unfortunately, even though I think that while this identifies a legitimate complaint, the argument is dangerously wrong, and the consequences of acting on it (especially enforcing a new IP right) would be disastrous. Let me work through why:&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="the-complaint-is-real"&gt;The complaint is real&lt;/h2&gt;
&lt;!-- The problem people are trying to solve (art, labor) --&gt;
&lt;p&gt;Artists wanting to use copyright to limit the “right to train” isn’t the right approach, but not because their complaint isn’t valid. 
Sometimes a course of action is bad because the goal is bad, but in this case I think people making this complaint are trying to address a real problem. &lt;/p&gt;
&lt;!-- I'll talk more about why I agree with this sentiment at the end of the article when I talk about what better approaches for addressing it would look like because I think those ideas go hand-in-hand. --&gt;
&lt;p&gt;I agree that the dynamic of corporations making for-profit tools using previously published material to directly compete with the original authors, especially when that work was published freely, is “bad.”
This is also a real thing companies want to do. 
Replacing labor that has to be paid wages with capital that can be owned outright increases profits, which is every company’s purpose. And there’s certainly a push right now to do this. For owners and executives production without workers has always been the dream.
But even though it’s economically incentivized for corporations, the wholesale replacement of human work in creative industries would be disastrous for art, artists, and society as a whole. &lt;/p&gt;
&lt;!-- &gt; [Cory Doctorow, How To Think About Scraping](https://doctorow.medium.com/how-to-think-about-scraping-2db6f69a7e3d){: .cite}
&gt; Creative workers are justifiably furious that their bosses took one look at the plausible sentence generators and body-snatching image-makers and said, “Holy shit, we will never have to pay a worker ever again.”Our bosses have alarming, persistent, rock-hard erections for firing our asses and replacing us with shell-scripts. The dream of production without workers goes all the way back to the industrial revolution, and now — as then — capitalists aspire to becoming rentiers, who own things for a living rather than making things for a living. --&gt;
&lt;p&gt;So there’s a fine line to walk here, because I don’t want to dismiss the fear. The problem is real and the emotions are valid, but that doesn’t mean none of the reactions are reactionary and dangerous. 
And the idea that corporations training on material is copyright infringement is just that.&lt;/p&gt;
&lt;/section&gt;&lt;section class="section2"&gt;&lt;h2 id="the-learning-rights-approach"&gt;The learning rights approach&lt;/h2&gt;
&lt;!-- (copyright) --&gt;
&lt;p&gt;So let me focus in on the idea that one needs to license a “right to train”, especially for training that uses copyrighted work. Although I’m ultimately going to argue against it, I think this is a reasonable first thought. It’s also a very serious proposal that’s actively being argued for in significant forums.&lt;/p&gt;
&lt;!-- ### This is a sensible thought --&gt;
&lt;p&gt;Copyright isn’t a stupid first thought. 
Copyright (or creative rights in general) intuitively seems like the relevant mechanism for protecting work from unauthorized uses and plagiarism, since the AI models are trained using copyrighted work that is licensed for public viewing but not for commercial use.
Fundamentally, &lt;a href="https://blog.giovanh.com/blog/2023/10/25/youve-never-seen-copyright/"&gt;the thing copyright is “for” is making sure artists are paid for their work&lt;/a&gt;. &lt;/p&gt;
&lt;!-- If AI is able to use that work without paying for it to create a commercial product, that's bad.  --&gt;
&lt;!-- If it creates a substitute such that artists are *never* paid for their work, that's bad. --&gt;
&lt;p&gt;This was one of my first thoughts too. 
Looking at the inputs and outputs, as well as the overall dynamic of unfair exploitation of creative work, “copyright violation” is a good place to start. 
I even have a draft article where I was going to argue for this same point myself. 
But as I’ve thought through the problem further, that logic breaks down. 
And the more I work through it, every IP-based argument I’ve seen to try to support artists has massively harmful implications that make the cure worse than the disease.&lt;/p&gt;
&lt;section class="section3"&gt;&lt;h3 id="definition-proposals-assertions"&gt;Definition, proposals, assertions&lt;/h3&gt;
&lt;p&gt;The idea of a learning right is this: in addition to the traditional reproduction right copyright reserves to the author, authors should be able to prevent people from training AI on their work by withholding the right. &lt;/p&gt;
&lt;!-- gio :⁾: Another IP expansion push I've seen is the creation of a new "learning right", separate from publication. So people could be (implicitly) licensed to VIEW content, but not use it as part of a process that would eventually create new work --&gt;
&lt;!-- Being able to see something published online doesn't give you the right to use it in commercial work or produce your own copies of it. Even if you paid for a work and clearly have the rights to view it yourself you're not automatically entitled to freely reproduce it. In the same way, the learning rights argument goes, the right for someone to train an AI on a work should be separate and reservable.  --&gt;
&lt;!-- You would have the right to view any data you scraped off the internet (since it was already publicly published) but you wouldn't have the right to use it for this particular purpose.  --&gt;
&lt;p&gt;This learning right would be parallel to other reservable rights, like reproduction: it could be denied outright, or licensed separately from both viewing and reproduction rights at the discretion of the rightsholder.
Material could be published such that people were freely able to view it but not able to use it as part of a process that would eventually create new work, including training AI. 
The mechanical ability to train data is not &lt;strong&gt;severable&lt;/strong&gt; from the ability to view it, but the legal right would be.&lt;/p&gt;
&lt;p&gt;This is already being widely discussed in various forms, usually as a theory of legal interpretation or a proposal for new policy.&lt;/p&gt;
&lt;!-- ### Examples of real proposals and assertions --&gt;
&lt;section class="section4"&gt;&lt;h4 id="asserting-this-right-already-exists"&gt;Asserting this right already exists&lt;/h4&gt;
&lt;!-- and can be reserved --&gt;
&lt;p&gt;Typically, when the learning rights theory is seen in the wild it’s being pushed by copyright rightsholders who are asserting that the right to restrict others from training on their works already exists. &lt;/p&gt;
&lt;p&gt;A prime example of this is the book publishing company Penguin Random House, which asserts that the right to train an AI from a work is already a right that they can reserve:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="cite" href="https://www.thebookseller.com/news/penguin-random-house-underscores-copyright-protection-in-ai-rebuff"&gt;Penguin Random House Copyright Statement (Oct 2024)&lt;/a&gt;
No part of this book may be used or reproduced in any manner for the purpose of training artificial intelligence technologies or systems. In accordance with Article 4(3) of the Digital Single Market Directive 2019/790, Penguin Random House expressly reserves this work from the text and data mining exception.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In the same story, the Society of Authors explicitly affirms the idea that AI training cannot be done without a license, especially if that right is explicitly claimed:&lt;/p&gt;
&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Thu, 03 Apr 2025 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2025-04-03:/blog/2025/04/03/why-training-ai-cant-be-ip-theft/</guid><category>cyber</category><category>AI</category><category>publication</category><category>IP</category><category>enforcement</category><category>prosthesis</category><category>rhetoric</category><category>plagiarism</category></item><item><title>The imperfections of Murder Drones</title><link>https://blog.giovanh.com/blog/2025/01/12/the-imperfections-of-murder-drones/</link><description>&lt;aside class="cb spoiler-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This spoils Murder Drones! I think Murder Drones is fun and you should watch and enjoy it! 
Take two and a half hours, &lt;a href="https://www.youtube.com/watch?v=mImFz8mkaHo&amp;amp;list=PLHovnlOusNLiJz3sm0d5i2Evwa2LDLdrg"&gt;go watch the whole series,&lt;/a&gt; and then come back.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;I love murder drones. I think they’re such great little guys. 
Bring me a robot maid and I am yours forever, etc.
But watching through the series itself actually took me a few stabs, and I think it’s due to a few design decisions that make following the plot unintuitive and add some friction to what’s otherwise a very fun show. 
So I want to talk a little bit about that friction, even though the entire thing is still a good time overall.&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="indie-animation"&gt;Indie Animation&lt;/h2&gt;
&lt;p&gt;First, the obviously relevant context is that Murder Drones is made by Glitch, which is a small independent animation studio. And independent animation necessarily comes with constraints. 
It’s incredibly exciting that we have the technology for small teams to make work with this quality and scale, and I don’t at all want to take that for granted. 
But I think a lot of the friction I have to talk about comes from fundamental trade-offs that come from that setup. &lt;/p&gt;
&lt;p&gt;Since their resources are very limited and good animation is expensive work, there’s a pressure for everything to be compressed. Short episodes with short shots in an eight-episode miniseries mean the project is feasible, but it’s hard to get all your fun ideas in while still sufficiently paving the way for them to land properly. &lt;/p&gt;
&lt;!-- (Foreshadowing...) --&gt;
&lt;p&gt;&lt;img alt="get tunnel visioned on spooky corpse robot reveal, work backwards from there" src="https://blog.giovanh.com/blog/2025/01/12/the-imperfections-of-murder-drones/E08-19_07.webp"/&gt;&lt;/p&gt;
&lt;p&gt;Structurally, a small indie team also carries the risk of skill gaps. I don’t mean to make any criticisms of anyone in particular on the project here, but this kind of team might not necessarily have experienced television writers or producers. 
And, with a small independent team, there might not be enough of a test audience to catch things that could be improved, or not enough budget to re-iterate for minor improvements.
So those are all categories of things that can easily run into trouble. &lt;/p&gt;
&lt;p&gt;Independent serialized animation like this is a relatively new phenomenon, but these are going to be the same sorts of challenges projects like RWBY and Helluva Boss have. (Although I think Murder Drones is significantly better than both of those.)
So while there are common environmental factors that can make this kind of project a little extra rough, the way that roughness actually manifests is interesting.&lt;/p&gt;
&lt;/section&gt;&lt;section class="section2"&gt;&lt;h2 id="its-not-glaringly-bad"&gt;It’s not glaringly bad&lt;/h2&gt;
&lt;p&gt;The reason I’m interested in talking about this at all is that I noticed the friction as part of my own experience, but it wasn’t linked to any obvious problems. 
In fact, the whole reason I’m writing this is Murder Drones felt like it should be &lt;em&gt;great&lt;/em&gt;, and I was surprised there were things that still weren’t quite clicking.
In re-watching the series to write this, slowing down and zooming in to catch every piece made the effect much harder to see. 
It’s hard to put my finger on exactly what caused the effect. 
Which is why I want to! The dynamics you can barely see are always the most interesting to understand.&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sun, 12 Jan 2025 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2025-01-12:/blog/2025/01/12/the-imperfections-of-murder-drones/</guid><category>fandom</category><category>writing</category><category>review</category><category>fiction writing</category></item><item><title>FSE sprite compression</title><link>https://blog.giovanh.com/blog/2025/01/03/fse-sprite-compression/</link><description>&lt;p&gt;&lt;em&gt;&lt;a href="https://sponsus.org/u/1868204533008699392/p/1894588725451689984"&gt;This was originally published 2020-07-07 as a reward for sponsors of Befriendus&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A Domain-Specific Compression Algorithm — as I later found out this is called — is a compression algorithm that uses the specific nature of the target data as a way to efficiently compress it. 
The more you know about the structure of the data you’re compressing and what tools you have to reconstruct data, the more efficient the system can be. &lt;/p&gt;
&lt;p&gt;I wrote a script for the Fansim Engine that does this with character sprites. 
It takes character poses, identifies the parts that have changed and the parts that stay the same, and creates identical Ren’py displayables that take up dramatically less room. &lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Fri, 03 Jan 2025 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2025-01-03:/blog/2025/01/03/fse-sprite-compression/</guid><category>dev</category><category>python</category><category>renpy</category><category>technical</category><category>writeup</category><category>homestuck</category></item><item><title>Making Thanos work</title><link>https://blog.giovanh.com/blog/2024/12/17/making-thanos-work/</link><description>&lt;p&gt;Did you know there are still people who think the MCU’s Thanos is a deep character with interesting motivations?
For all the CinemaSins “why didn’t he use his powers to end scarcity, is he stupid” types, there are still “Thanos did nothing wrong” chuds. &lt;/p&gt;
&lt;p&gt;This is stupid, of course. 
But after seeing people be wrong on the internet, it occurred to me recently that there are a couple of genuinely interesting ways to spin the character without changing his mechanical role in the story.
In fact, with just a tiny bit of re-framing, you can turn Thanos from a stupid dumb-dumb into a genuinely great villain. &lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="why-thanos-doesnt-work"&gt;Why Thanos doesn’t work&lt;/h2&gt;
&lt;p&gt;First, a super-quick summary of what I’m reacting to. &lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Tue, 17 Dec 2024 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2024-12-17:/blog/2024/12/17/making-thanos-work/</guid><category>fandom</category><category>writing</category><category>literary themes</category></item><item><title>Verification on Bluesky is already perfect</title><link>https://blog.giovanh.com/blog/2024/12/03/verification-on-bluesky-is-already-perfect/</link><description>&lt;p&gt;Bluesky has very quickly become a serious social media platform. This means it’s having to deal with all the problems social media platforms have to deal with, including impersonation. 
A lot of people flocked to Bluesky from Twitter, and so recreating something like Twitter’s verification system seems like a natural step. &lt;/p&gt;
&lt;p&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true"&gt;&lt;div class="header"&gt;&lt;a href="https://bsky.app/profile/safety.bsky.app/"&gt;&lt;img onerror="(async () =&amp;gt; {this.onerror=null;this.src=`https://web.archive.org/web/0/${this.src}`;})();" src="https://cdn.bsky.app/img/avatar/plain/did:plc:eon2iu7v3x2ukgxkqaf7e5np/bafkreih7mgyv6dugcguewqnuev64i7jsljhtrr6olfadmxq2dasfb7woam@jpeg"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;Bluesky Safety&lt;/span&gt;&lt;span class="at"&gt;@safety.bsky.app&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;6/ We also hear your feedback: users want more ways to verify their identity beyond domain verification. We’re exploring additional options to enhance account verification, and we hope to share more shortly.&lt;/p&gt;&lt;/div&gt;&lt;a href="https://bsky.app/profile/safety.bsky.app/post/3lc4h7p6jvt25" target="_blank"&gt;2024-11-29T20:46:33.430Z&lt;/a&gt;
&lt;/blockquote&gt;&lt;/p&gt;
&lt;p&gt;But you don’t need to do that! Bluesky’s current verification system is actually very good and does what verification is supposed to do.&lt;/p&gt;
&lt;p&gt;In 2022 I wrote &lt;a href="https://blog.giovanh.com/blog/2022/11/01/the-failure-of-account-verification/"&gt;a retrospective essay about the “verified account” design pattern on Twitter&lt;/a&gt;, which tried to preempt this conversation a little bit, but unfortunately got bogged down a little with Elon breaking Twitter verification. 
This piece will talk about a lot of the same ideas, but applied more specifically to Bluesky’s ecosystem.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Tue, 03 Dec 2024 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2024-12-03:/blog/2024/12/03/verification-on-bluesky-is-already-perfect/</guid><category>tech</category><category>platforms</category><category>design patterns</category></item><item><title>The ambiguous "use"</title><link>https://blog.giovanh.com/blog/2024/11/15/the-ambiguous-use/</link><description>&lt;p&gt;I keep seeing people make this error, especially in social media discourse.
Somebody wants to “use” something. Except obviously, it’s not theirs, and so it’s absurd for them to make that demand, right?&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="quick-examples"&gt;Quick examples&lt;/h2&gt;
&lt;p&gt;I’m not trying to pick on this person at all: they’re not a twitter main character, they’re not expressing an unusual opinion here, they seem completely nice and cool. But I think this cartoon they drew does a good job of capturing this sort of argument-interaction, which I’ve seen a lot:&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1837980202070430178"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/cuptoast/" title="all + it/its 🇻🇳 full of whimsy and joyus energy (please credit when reuploading art!) crumb@afkcreators.com"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="data:image/.jpg;base64,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"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;crumb&lt;/span&gt;&lt;span class="at"&gt;@cuptoast&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;??? &lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;a href="https://x.com/cuptoast/status/1837980202070430178/photo/1" target="_blank"&gt;
&lt;img class="img count1" onerror="(async () =&amp;gt; {this.onerror=null;this.src=`https://web.archive.org/web/0/${this.src}`;})();" src="https://pbs.twimg.com/media/GYHRO-0b0AQ7XK1.png"/&gt;
&lt;/a&gt;&lt;/div&gt;&lt;a href="https://twitter.com/cuptoast/status/1837980202070430178" target="_blank"&gt;Sun Sep 22 22:20:02 +0000 2024&lt;/a&gt;
&lt;/blockquote&gt;
&lt;p&gt;I’ve also seen the exact inverse of this: people getting upset at artists because once the work is “out there” anyone should be able to “use” it. (But I don’t have a cartoon of this.)&lt;/p&gt;
&lt;p&gt;There is an extremely specific error being made in both cases here, and if you can learn to spot it, you can save yourself some grief. What misuse is being objected to? What are the rights to “certain things” being claimed? &lt;/p&gt;
&lt;p&gt;The problem is that “use” is an extremely ambiguous word that can mean anything from “study” to “pirate” to “copy and resell”. It can also cover particularly sensitive cases, like creating pornography or editing it to make a political argument.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://webcomicname.com/post/190755895139"&gt;&lt;img alt="webcomicname: beliefs you do not agree with" src="https://64.media.tumblr.com/43f9dddc63380f91b6f499a0943122a4/c5cae598db87a8a9-89/s1280x1920/c3feb7993b017ade8497d548d14bb000d27aca9b.png"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But everything people do is “using” something. By itself, “use” is not a meaningful category or designation.
Say you buy a song — listening to it, sampling it, sharing it, performing it, discussing it, and using it in a video are all “uses”, but the conversations about whether each is appropriate or not are extremely distinct.
If you have an objection, it matters &lt;em&gt;a lot&lt;/em&gt; what specific use you’re talking about. &lt;/p&gt;
&lt;p&gt;But if you’re not specific, there are unlimited combinations of “uses” you could be talking about, and you could mean any of them. And when people respond, they could be responding to &lt;em&gt;any&lt;/em&gt; of those interpretations.
There’s no coherent argument in any sweeping statement about “use”; the only things being communicated are frustration and a team-sports-style siding with either “artists” or “consumers” (which is a terrible distinction to make!).&lt;/p&gt;
&lt;/section&gt;&lt;section class="section2"&gt;&lt;h2 id="formal-logic"&gt;Formal logic&lt;/h2&gt;
&lt;p&gt;This is not a new problem. This is the &lt;strong&gt;Fallacy of Equivocation&lt;/strong&gt;, which is a subcategory of &lt;strong&gt;Fallacies of Ambiguity&lt;/strong&gt;.
This is when a word (in this case, “use”) has more than one meaning, and an argument uses the word in such a way that the entire position and its validity hinge on which definition the &lt;em&gt;reader&lt;/em&gt; assumes.&lt;/p&gt;
&lt;p&gt;The example of this that always comes to my mind first is “respect”, because this one tumblr post from 2015 said it so well:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="cite" href="https://flyingpurplepizzaeater.tumblr.com/post/115216522824/sometimes-people-use-respect-to-mean-treating?source=share"&gt;flyingpurplepizzaeater&lt;/a&gt;
Sometimes people use “respect” to mean “treating someone like a person” and sometimes they use “respect” to mean “treating someone like an authority”&lt;/p&gt;
&lt;p&gt;and sometimes people who are used to being treated like an authority say “if you won’t respect me I won’t respect you” and they mean “if you won’t treat me like an authority I won’t treat you like a person”&lt;/p&gt;
&lt;p&gt;and they think they’re being fair but they aren’t, and it’s not okay.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;See, here the “argument” relies on implying a false symmetry between two clauses that use the same word but with totally different meanings. And, in disambiguating the word, the problem becomes obvious.&lt;/p&gt;
&lt;p&gt;Short-form social media really exacerbates the equivocation problem by encouraging people to be concise, which leads to accidental ambiguity. 
But social media also encourages people to take offense at someone else being wrong as the beginning of a “conversation”, which encourages people to use whatever definition of other people’s words makes them the wrongest. &lt;/p&gt;
&lt;/section&gt;&lt;section class="section2"&gt;&lt;h2 id="copyright-examples"&gt;Copyright examples&lt;/h2&gt;
&lt;p&gt;Since I’m already aware that copyright is a special interest of mine, I try to avoid falling into the trap of modeling everything in terms of copyright by default, &lt;a href="https://x.com/afraidofwasps/status/1177301482464526337"&gt;Boss Baby style&lt;/a&gt;.
But this is literally the case of a debate over who has the “right” to various “uses” of things that are usually intangible ideas, so I think it’s unavoidably copyright time again. &lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Fri, 15 Nov 2024 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2024-11-15:/blog/2024/11/15/the-ambiguous-use/</guid><category>politics</category><category>language</category><category>rhetoric</category><category>ai</category><category>enforcement</category><category>ip</category></item><item><title>Game patent grab bag</title><link>https://blog.giovanh.com/blog/2024/09/18/game-patent-grab-bag/</link><description>&lt;!-- Seeing the insane pokemon patent news has reminded me to publish some cutting room floor notes I had about video game patents, and how they're categorically wrong. --&gt;
&lt;p&gt;This was originally something I was going to talk about in &lt;a href="https://blog.giovanh.com/blog/2023/10/25/youve-never-seen-copyright/"&gt;&lt;em&gt;Corporations have Rejected Copyright&lt;/em&gt;&lt;/a&gt;, back when that series was going to just be one long post (really!).
But since I saw &lt;a href="https://www.nintendo.co.jp/corporate/release/en/2024/240919.html"&gt;Nintendo apparently sued Palworld today&lt;/a&gt;, I wanted to put this up as background information.&lt;/p&gt;
&lt;p&gt;You should definitely read &lt;a href="https://blog.giovanh.com/blog/2023/10/25/youve-never-seen-copyright/"&gt;&lt;em&gt;You’ve Never Seen Copyright&lt;/em&gt;&lt;/a&gt; first, particularly the explanation of what patents are, because this conversation directly follows from that. 
The most important thing to pick up on is how the Doctrine of Equivalents lets companies use patents that are supposedly very specific to threaten other implementations that are similar, even if they aren’t using the patented design.&lt;/p&gt;
&lt;p&gt;Game patents are revelatory, because game rules as a category explicitly do not fall within the realm of patent rights, but companies have managed to file and defend fraudulent patents anyway. &lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Wed, 18 Sep 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2024-09-18:/blog/2024/09/18/game-patent-grab-bag/</guid><category>politics</category><category>ip</category><category>feudalism</category><category>enforcement</category><category>buying the euphemism</category><category>nintendo</category></item><item><title>Is AI eating all the energy? Part 2/2</title><link>https://blog.giovanh.com/blog/2024/09/09/is-ai-eating-all-the-energy-part-2-of-2/</link><description>&lt;ul&gt;
&lt;li&gt;AI&lt;/li&gt;
&lt;li&gt;environmentalism&lt;/li&gt;
&lt;li&gt;big&lt;/li&gt;
&lt;li&gt;tech&lt;/li&gt;
&lt;li&gt;technical
Series: Is AI eating all the energy?
ad: “AI: "it’s capitalism, stupid"“&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;!-- Concluding my pair of articles on AI's energy use. If operational efficiency isn't the problem, where's all the energy going? --&gt;
&lt;section class="section1"&gt;&lt;h1&gt;Part 2: Growth, Waste, and Externalities&lt;/h1&gt;
&lt;p&gt;The AI tools are efficient according to the numbers, but unfortunately that doesn’t mean there isn’t a power problem. 
If we look at the overall effects in terms of power usage (as most people do), there are some major problems.
But if we’ve ruled out operational inefficiency as the reason, what’s left?&lt;/p&gt;
&lt;p&gt;The energy problems aren’t coming from inefficient technology, they’re coming from inefficient &lt;em&gt;economics&lt;/em&gt;. 
For the most part, the energy issues are caused by the AI “arms race” and how irresponsibly corporations are pushing their AI products on the market.
Even with &lt;a href="https://blog.giovanh.com/blog/2024/08/18/is-ai-eating-all-the-energy-part-1-of-2/"&gt;operational efficiency ruled out as a cause,&lt;/a&gt; AI is causing two killer energy problems: &lt;strong&gt;waste&lt;/strong&gt; and &lt;strong&gt;externalities&lt;/strong&gt;.&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Mon, 09 Sep 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2024-09-09:/blog/2024/09/09/is-ai-eating-all-the-energy-part-2-of-2/</guid><category>cyber</category></item><item><title>Is AI eating all the energy? Part 1/2</title><link>https://blog.giovanh.com/blog/2024/08/18/is-ai-eating-all-the-energy-part-1-of-2/</link><description>&lt;!-- misspelling: datacenter --&gt;
&lt;p&gt;Recent tech trends have followed a pattern of being huge society-disrupting systems that people don’t actually want. 
Worse, it then turns out there’s some reason they’re not just useless, they’re actively harmful. 
While planned obsolescence means this applies to consumer products in general, the recent major tech fad hypes — cryptocurrency, “the metaverse”, artificial intelligence… — all seem to be &lt;em&gt;comically&lt;/em&gt; expensive boondoggles that only really benefit the salesmen. &lt;/p&gt;
&lt;p&gt;&lt;img alt="simpsons monorail screencap" class="size-m" src="https://blog.giovanh.com/blog/2024/08/18/is-ai-eating-all-the-energy-part-1-of-2/monorail2.jpg"/&gt;
&lt;em&gt;Monorail!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The most recent tech-fad-and-why-it’s-bad pairing seems to be AI and its energy use. 
This product-problem combo has hit the mainstream as an evocative illustration of waste, with headlines like &lt;a href="https://jalopnik.com/google-ai-uses-enough-electricity-in-1-second-to-charge-1851556899"&gt;Google AI Uses Enough Electricity In 1 Second To Charge 7 Electric Cars&lt;/a&gt; and &lt;a href="https://qz.com/chatgpt-requires-15-times-more-energy-than-a-traditiona-1851417343"&gt;ChatGPT requires 15 times more energy than a traditional web search&lt;/a&gt;.&lt;/p&gt;
&lt;!-- ![re: jalopnik jupy314: Reminding people to stop using this BS garbage, even for giggles.  - We need to overthrow this trend. These corporations want nothing more than to burn the world into the ground, and make us pay the price. Billionaires think the world owes them and is their playground. ENOUGH. https://t.co/vnLqJxIVFJ](https://twitter.com/jupy314/status/1805987274733084903) --&gt;
&lt;p&gt;It’s a narrative that’s very much in line with what a disillusioned tech consumer expects.
There is a justified resentment boiling for big tech companies right now, and AI seems to slot in as another step in the wrong direction.
The latest tech push isn’t just capital trying to control the world with a product people don’t want, it’s burning through the planet to do it. &lt;/p&gt;
&lt;p&gt;But, when it comes to AI, is that actually the case?&lt;/p&gt;
&lt;!-- And if it's sometimes good, when? --&gt;
&lt;p&gt;What are the actual ramifications of the explosive growth of AI when it comes to power consumption? 
How much more expensive is it to run an AI model than to use the next-best method? 
Do we have the resources to switch to using AI on things we weren’t before, and is it responsible to use them for that?
Is it worth it?&lt;/p&gt;
&lt;p&gt;These are really worthwhile questions, and I don’t think the answers are as easy as “it’s enough like the last thing that we might as well hate it too.”
There are proportional costs we have to weigh in order to make a well-grounded judgement, and after looking at them, I think the energy numbers are surprisingly good, compared to the discourse.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sun, 18 Aug 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2024-08-18:/blog/2024/08/18/is-ai-eating-all-the-energy-part-1-of-2/</guid><category>cyber</category><category>AI</category><category>big tech</category><category>technical</category></item><item><title>Copyright abusers lost their claim</title><link>https://blog.giovanh.com/blog/2024/07/14/copyright-abusers-lost-their-claim/</link><description>&lt;!-- My latest, the finale to my IP series. I've covered philosophy, I've hit case studies, now here's a takeaway: IP law's diverged so much from the philosophy that it's illegitimate, and we should treat it that way. --&gt;
&lt;p&gt;or, &lt;em&gt;the many people who said movies like Coyote v. Acme that were killed for a tax write-off should be forced into the public domain were right, and here’s why&lt;/em&gt;&lt;/p&gt;
&lt;aside class="cb qualified"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This is the last post in a series. You can read this entry by itself, but for the full context, &lt;a href="https://blog.giovanh.com/blog/2023/10/25/youve-never-seen-copyright/"&gt;start at the beginning&lt;/a&gt;.&lt;/p&gt;
&lt;/aside&gt;
&lt;section class="section2"&gt;&lt;h2 id="copyright-is-busted-now-what"&gt;Copyright is busted, now what?&lt;/h2&gt;
&lt;!-- Quickly re summarize part 1 --&gt;
&lt;p&gt;A healthy system of creative rights, including a balanced form of copyright, is &lt;a href="https://blog.giovanh.com/blog/2023/10/25/youve-never-seen-copyright/"&gt;a reciprocal arrangement between creators, consumers, and the commons.&lt;/a&gt; 
Creators are granted some temporary exclusive rights by the government over qualifying intellectual work in order to incentivize creativity.
These privileges are granted in exchange for creating valuable new information — the existence of which is a contribution to the public good — and for providing it in such a way that others will be able to build on it in the future. It’s an incentive for providing a specific social good, one which the market alone might not reward otherwise.
Fortunately, this is actually how US copyright was designed; see &lt;a href="https://blog.giovanh.com/blog/2023/10/25/youve-never-seen-copyright/"&gt;You’ve Never Seen Copyright.&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The takeaway from that, though, is not just that there’s a fair version of copyright, but that copyright &lt;em&gt;must&lt;/em&gt; look like that fair model. 
The fact that such a thing as “good copyright” exists as a sound philosophy is not a broad defense of the word “copyright” itself, &lt;strong&gt;it’s an imperative requirement for the legitimacy of any system of power that claims to enforce copyright&lt;/strong&gt;. The soundness of the philosophy doesn’t legitimate the system of power that shares its name, it damns it for failing its requirements.&lt;/p&gt;
&lt;p&gt;When they invoke the philosophy of copyright to justify thuggery, it matters that they’re wrong.&lt;/p&gt;
&lt;!-- Allude to abuse examples --&gt;
&lt;p&gt;The requirements for &lt;strong&gt;reciprocity&lt;/strong&gt; intrinsic in copyright are how the system &lt;em&gt;must&lt;/em&gt; work, but it’s not what actually happens today.
In practice, corporations regularly violate the fundamental principles of creative rights — both in letter and in spirit — and use copyright protections to profit without showing the required reciprocity.&lt;/p&gt;
&lt;p&gt;I can’t possibly list all the stories of what these violations look like. 
Seriously, just the thought of me having to give a representative sample of companies abusing IP law made me &lt;em&gt;dread&lt;/em&gt; writing this series, it’s such a prolific problem. 
But I have shown a sample: &lt;a href="https://blog.giovanh.com/blog/2023/11/21/how-nintendo-misuses-copyright/?ref=pg_series"&gt;Nintendo using copyright to kill new creative work&lt;/a&gt;, &lt;a href="https://blog.giovanh.com/blog/2023/10/26/apples-trademark-exploit/?ref=pg_series"&gt;Apple using trademarks to keep competitors from conducting trade at all&lt;/a&gt;, &lt;a href="https://blog.giovanh.com/blog/2024/03/03/cdl-publishers-against-books/?ref=pg_series"&gt;book publishers trying to destroy the idea of buying and selling books&lt;/a&gt;… they’re all examples of how companies do everything they possibly can to get out of fulfilling their side of the bargain. &lt;/p&gt;
&lt;!-- So what does it all add up to? --&gt;
&lt;p&gt;Case studies are fun, but just listing out a bunch of horrors isn’t what I set out to do; that’s just groundwork for thinking about the problem. 
What’s important is that they’re a &lt;em&gt;representative sample&lt;/em&gt; of a kind of behavior. 
With all that established, you can read this with the knowledge that yes, they violate the purpose of the law as written and yes, violations are so regular they seem to define the practice.&lt;/p&gt;
&lt;p&gt;So what does it all add up to? &lt;/p&gt;
&lt;p&gt;Here’s what I say: If you want out of the deal, so be it. 
When someone won’t participate constructively — if they don’t work in good faith, or at least begrudgingly accept the limits the system of copyright puts on them — we stop respecting their claim to special privileges within it as legitimate, and understand it as the double-dealing overreach it is.&lt;/p&gt;
&lt;!-- ![giovan_h: Corps that abuse IP law to keep people from exercising their rights over media they own lose all moral claim to protect their IP. Poof. It&amp;#39;s gone. We gave you special exclusive rights, but you broke the contract, so you don&amp;#39;t get special protected status in the system anymore.](https://twitter.com/giovan_h/status/1639431213805887489)  --&gt;
&lt;p&gt;As self-evident as it sounds when I say it out loud, this argument is my nuclear option. 
This is what I would have to say if it ever got &lt;em&gt;this&lt;/em&gt; bad; if, between the two of them, the courts and the corps ever broke the system beyond my last bit of tolerance. 
And I’ll be damned if they haven’t done just that.&lt;/p&gt;
&lt;!-- What can I get out of this for you?
A better way of thinking about the problem, and an ethical system you can choose to incorporate into your decision-making. --&gt;
&lt;/section&gt;&lt;section class="section2"&gt;&lt;h2 id="legitimacy"&gt;Legitimacy&lt;/h2&gt;
&lt;p&gt;In &lt;a href="https://blog.giovanh.com/blog/2023/10/25/youve-never-seen-copyright/"&gt;You’ve Never Seen Copyright&lt;/a&gt;, I talked about how the word “copyright” can refer to two very different things: either a &lt;strong&gt;philosophical basis&lt;/strong&gt; that justifies copyright as a legal doctrine, or the &lt;strong&gt;system of power&lt;/strong&gt; that describes how copyright is actually enforced, what enforcement looks like, and who it benefits. &lt;/p&gt;
&lt;p&gt;But the fact that the power structure has diverged from the original philosophical intent doesn’t just create a communication issue. Yes, it becomes increasingly unclear what people who say “copyright” are talking about, but the legitimacy of the power structure depends &lt;em&gt;entirely&lt;/em&gt; on being an implementation of a sound legal doctrine. &lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sun, 14 Jul 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2024-07-14:/blog/2024/07/14/copyright-abusers-lost-their-claim/</guid><category>politics</category><category>ip</category><category>enforcement</category><category>fanwork</category><category>piracy</category></item><item><title>Fake Twitter accounts</title><link>https://blog.giovanh.com/blog/2024/06/19/fake-twitter-accounts/</link><description>&lt;p&gt;Remember when Elon Musk was trying to weasel out of overpaying for Twitter?
During this very specific May 2022-Jul 2022 period, there was a very artificial discourse manufactured over the problem of “fake accounts” on Twitter. &lt;/p&gt;
&lt;p&gt;The reason it was being brought up was very stupid, but the topic stuck with me, because it’s deeply interesting in a way that the conversation at the time never really addressed. &lt;/p&gt;
&lt;p&gt;So this is a ramble on it. I think this is all really worth thinking about, just don’t get your hopes up that it’s building to a carefully-constructed conclusion. &lt;code&gt;;)&lt;/code&gt;&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="argument-is-stupid"&gt;Argument is stupid&lt;/h2&gt;
&lt;p&gt;First, to be clear, what was actually being argued at the time was exceedingly stupid. I’m not giving that any credit.&lt;/p&gt;
&lt;p&gt;After committing to significantly overpay to purchase Twitter with no requirements that they do due diligence (yes, really!) Elon Musk tried to call off the deal. &lt;/p&gt;
&lt;p&gt;&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1517215066550116354"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/elonmusk/" title=""&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="data:image/.jpg;base64,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"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;Elon Musk&lt;/span&gt;&lt;span class="at"&gt;@elonmusk&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;If our twitter bid succeeds, we will defeat the spam bots or die trying!&lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;/div&gt;&lt;a href="https://twitter.com/elonmusk/status/1517215066550116354" target="_blank"&gt;Thu Apr 21 18:53:55 +0000 2022&lt;/a&gt;
&lt;/blockquote&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1521524585090277379"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/elonmusk/" title=""&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;Elon Musk&lt;/span&gt;&lt;span class="at"&gt;@elonmusk&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;That is why we must clear out bots, spam &amp;amp; scams. Is something actually public opinion or just someone operating 100k fake accounts? Right now, you can’t tell.&lt;/p&gt;&lt;p&gt;And algorithms must be open source, with any human intervention clearly identified.&lt;/p&gt;&lt;p&gt;Then, trust will be deserved.&lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;/div&gt;&lt;a href="https://twitter.com/elonmusk/status/1521524585090277379" target="_blank"&gt;1651594704000&lt;/a&gt;
&lt;/blockquote&gt;&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1525049369552048129"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/elonmusk/" title=""&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;Elon Musk&lt;/span&gt;&lt;span class="at"&gt;@elonmusk&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Twitter deal temporarily on hold pending details supporting calculation that spam/fake accounts do indeed represent less than 5% of usershttps://www.reuters.com/technology/twitter-estimates-spam-fake-accounts-represent-less-than-5-users-filing-2022-05-02/ …&lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;/div&gt;&lt;a href="https://twitter.com/elonmusk/status/1525049369552048129" target="_blank"&gt;1652435078000&lt;/a&gt;
&lt;/blockquote&gt;
&lt;!-- ::: thread
    ![elonmusk: Free speech is essential to a functioning democracy. - Do you believe Twitter rigorously adheres to this principle?](https://twitter.com/elonmusk/status/1507259709224632344)
    ![lexfridman: @elonmusk Yes for bots.](https://twitter.com/lexfridman/status/1507270431916670988)
    ![elonmusk: @lexfridman 🤣🤣 especially crypto spam!!](https://twitter.com/elonmusk/status/1507484098822131717) --&gt;
&lt;p&gt;This was a pretty transparent attempt to get out of the purchase agreement after manipulating the price, and it was correctly and widely reported as such. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="cite" href="https://qz.com/2174898/inside-elon-musks-legal-strategy-for-ditching-his-twitter-deal"&gt;Scott Nover, “Inside Elon Musk’s legal strategy for ditching his Twitter deal”&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Elon Musk has buyer’s remorse. On April 25, the billionaire Tesla and SpaceX CEO agreed to buy Twitter for $44 billion, but since then the stock market has tanked. Twitter agreed to sell to Musk at $54.20 per share, a 38% premium at the time; today it’s trading around $40.&lt;/p&gt;
&lt;p&gt;That’s probably the real reason Musk is spending so much time talking about bots.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I don’t want to get too bogged down in the details of why Elon was using this tactic, but fortunately other people wrote pages and pages about it, so I don’t have to.&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Wed, 19 Jun 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2024-06-19:/blog/2024/06/19/fake-twitter-accounts/</guid><category>cyber</category><category>platforms</category><category>user-agent</category><category>api</category><category>services</category><category>ramble</category><category>twitter</category><category>prosthesis</category></item><item><title>Some games about grief</title><link>https://blog.giovanh.com/blog/2024/04/24/some-games-about-grief/</link><description>&lt;section class="section2"&gt;&lt;h2 id="gris"&gt;Gris&lt;/h2&gt;
&lt;p&gt;Last week, looking for a game to play to wind down at night in bed, I went through my backlog of unplayed Steam games and filtered for something that looked relaxing.
I fished out &lt;a href="https://nomada.studio/gris-game/"&gt;Gris&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;video alt="GRIS Steam trailer" controls="true" src="https://cdn.cloudflare.steamstatic.com/steam/apps/256738119/movie480.webm" type="video/webm"&gt;&lt;/video&gt;
&lt;/p&gt;
&lt;p&gt;Gris is intriguing, atmospheric, and gorgeously animated. It’s a beautiful indie title.&lt;br/&gt;
And I kinda hate it?&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Wed, 24 Apr 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2024-04-24:/blog/2024/04/24/some-games-about-grief/</guid><category>gaming</category><category>loss</category><category>personal</category><category>writing</category><category>literary themes</category><category>asthetics</category></item><item><title>maybe the textgen content apocalypse is great</title><link>https://blog.giovanh.com/blog/2024/04/01/maybe-the-textgen-content-apocalypse-is-great/</link><description>&lt;p&gt;&lt;a href="https://blog.giovanh.com/blog/2024/04/01/maybe-the-textgen-content-apocalypse-is-great/promo.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Mon, 01 Apr 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2024-04-01:/blog/2024/04/01/maybe-the-textgen-content-apocalypse-is-great/</guid><category>rp</category><category>ai</category></item><item><title>CDL: The AAP is Wrong About Everything</title><link>https://blog.giovanh.com/blog/2024/03/04/cdl-the-aap-is-wrong-about-everything/</link><description>&lt;aside class="cb qualified"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This is a follow-on to &lt;a href="/blog/2024/03/03/cdl-publishers-against-books/"&gt;CDL: Publishers Against Books&lt;/a&gt;. You probably want to read that first! This is specifically about the lawsuit and its hollow arguments.&lt;/p&gt;
&lt;/aside&gt;
&lt;aside class="cb recap"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;On June 1, 2020, all four major publishing companies (Hachette, HarperCollins, Wiley, and Penguin Random House) sued the Internet Archive on the basis of copyright infringement. The publishing cartel (the trust &lt;a href="https://publishers.org/who-we-are/our-board/"&gt;which makes up the Association of American Publishers&lt;/a&gt;) accuses Internet Archive’s Open Library and the entire concept of Controlled Digital Lending of being in violation of publishers’ copyright.&lt;/p&gt;
&lt;/aside&gt;
&lt;!-- MISSPELLING: CDL Copy --&gt;
&lt;!-- MISSPELLING: The Author's Guild --&gt;
&lt;!-- MISSPELLING: The Authors' Guild --&gt;
&lt;!-- MISSPELLING: American Association of Publishers --&gt;
&lt;!-- MISSPELLING: TAG/APP --&gt;
&lt;p&gt;In going through these arguments, I’ll also be drawing from a few other sources, in order to give a more comprehensive description of the arguments being made. &lt;/p&gt;
&lt;!-- DEFINES: Authors Guild Amici Curiae Brief --&gt;
&lt;p&gt;The &lt;a href="https://authorsguild.org/app/uploads/2022/10/2022.08.12-Exhibit-A-Proposed-Amici-Curaie-Brief.pdf"&gt;Authors Guild Amici Curiae Brief&lt;/a&gt; is a document submitted to the court by The Authors Guild in support of the plaintiff’s argument.&lt;/p&gt;
&lt;!-- DEFINES: Reflections --&gt;
&lt;p&gt;&lt;a href="https://publishers.org/wp-content/uploads/2023/04/Pallante-Reflections-on-Hachette-v-IA-March-31-2023.pdf"&gt;Reflections from the Association of American Publishers on Hachette Book Group v. Internet Archive: An Affirmation of Publishing&lt;/a&gt; is a victory-lap publication from the AAP, published after the summary judgement in favor of the plaintiffs. &lt;/p&gt;
&lt;!-- DEFINES: REDACTED MEMORANDUM --&gt;
&lt;p&gt;And there’s also &lt;a href="https://www.eff.org/files/2022/07/07/hachette_v._internet_archive_-_internet_archives_memorandum_for_summary_judgment_.pdf"&gt;EFF, Redacted Memorandum of Law In Support of Defendant Internet Archive’s Motion for Summary Judgment&lt;/a&gt;, written by the EFF in support of the Internet Archive, and whose arguments overlap a lot with mine.&lt;/p&gt;
&lt;p&gt;Alright, there’s never anything more damning than their own words, so let’s just look at what it is they said here.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Mon, 04 Mar 2024 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2024-03-04:/blog/2024/03/04/cdl-the-aap-is-wrong-about-everything/</guid><category>politics</category><category>ip</category><category>feudalism</category><category>enforcement</category></item><item><title>CDL: Publishers Against Books</title><link>https://blog.giovanh.com/blog/2024/03/03/cdl-publishers-against-books/</link><description>&lt;!-- Latest: On the Internet Archive (good), Controlled Digital Lending (good), the ebook market (not good), and book publishing companies (really bad!!!) --&gt;
&lt;!-- DEFINES: CDL --&gt;
&lt;!-- DEFINES: Controlled Digital Lending --&gt;
&lt;!-- DEFINES: Internet Archive --&gt;
&lt;p&gt;Combining lending with digital technology is tricky to do within the constraints of copyright. 
But it’s important to still be able to lend, especially for libraries. 
With a system called Controlled Digital Lending, libraries like the Internet Archive (IA) made digital booklending work within the constraints of copyright, but publishers still want to shut it down. 
It’s a particularly ghoulish example of companies rejecting copyright and instead pursuing their endless appetite for profit at the expense of everything worthwhile about the industry.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sun, 03 Mar 2024 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2024-03-03:/blog/2024/03/03/cdl-publishers-against-books/</guid><category>politics</category><category>ip</category><category>feudalism</category><category>enforcement</category><category>drm</category><category>rhetoric</category><category>archival</category></item><item><title>Notes on the VRC Creator Economy</title><link>https://blog.giovanh.com/blog/2023/11/22/notes-on-the-vrc-creator-economy/</link><description>&lt;p&gt;My friend &lt;a href="https://floober.neocities.org"&gt;Floober&lt;/a&gt; brought some recent changes VRChat is making in chat, and I thought I’d jot down my thoughts.&lt;/p&gt;
&lt;p&gt;The problem with the VRC economy is the same problem as with most “platform economies”: everyone is buying lots in a company town.&lt;/p&gt;
&lt;!-- Disclaimer: I don't play VRChat much. --&gt;
&lt;!-- [Introducing the Creator Economy &amp;mdash; VRChat (creator-economy)](https://hello.vrchat.com/blog/creator-economy) --&gt;
&lt;section class="section2"&gt;&lt;h2 id="the-store"&gt;The Store&lt;/h2&gt;
&lt;p&gt;This was the precipitating announcement: VRChat releasing a beta for an in-game real-money store.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="cite" href="https://hello.vrchat.com/blog/paid-subscriptions-beta"&gt;Paid Subscriptions: Now in Open Beta! — VRChat&lt;/a&gt;
Over the last few years, we’ve talked about introducing something we’ve called the “Creator Economy,” and we’re finally ready to reveal what the first step of that effort is going to look like: Paid Subscriptions!&lt;/p&gt;
&lt;p&gt;As it stands now, creators within VRChat have to jump through a series of complicated, frustrating hoops if they want to make money from their creations. For creators, this means having to set up a veritable Rube Goldberg machine, often requiring multiple external platforms and a lot of jank. For supporters, it means having to sign up for those same platforms… and then hope that the creator you’re trying to support set everything up correctly.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;(The problem, of course, is that “frustrating jank” was designed by VRChat, and their “solution” is rentiering.)&lt;/p&gt;
&lt;p&gt;Currently, the only thing to purchase is nebulous “subscriptions” that would map to different world or avatar features depending on the content. But more importantly, this creates a virtual in-game currency, and opens the door to future transaction opportunities. I’m especially thinking of something like an avatar store. &lt;/p&gt;
&lt;p&gt;I quit playing VRChat two years ago, when they started to crack down on client-side modifications (which are good) by &lt;a href="https://hello.vrchat.com/blog/paid-subscriptions-beta"&gt;force-installing malware&lt;/a&gt; (which is bad) on players’ computers. 
Since then I’ve actually had a draft sitting somewhere about software architecture in general, and how you to evaluate whether it’s safe or a trap. And, how just by looking at the way VRChat is designed, you can tell it’s a trap they’re trying to spring on people.&lt;/p&gt;
&lt;/section&gt;&lt;section class="section2"&gt;&lt;h2 id="the-store-of-tomorrow"&gt;The Store of Tomorrow&lt;/h2&gt;
&lt;p&gt;Currently, the VRC Creator Economy is just a currency store and a developer api. Prior to this, there was no way for mapmakers to “charge users” for individual features; code is sandboxed, and you only know what VRC tells you, so you can’t just check against Patreon from within the game&lt;sup id="fnref:hardcoded"&gt;&lt;a class="footnote-ref" href="#fn:hardcoded"&gt;1&lt;/a&gt;&lt;/sup&gt;. &lt;/p&gt;
&lt;p&gt;But the real jackpot for VRC is an avatar store. 
Currently, the real VRC economy works by creators creating avatars, maps, and other assets in the (mostly-)interchangeable Unity format, and then selling those to people. Most commonly this is seen in selling avatars, avatar templates, or custom commissioned avatars. 
Users buy these assets peer-to-peer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This is the crucial point:&lt;/strong&gt; individuals &lt;em&gt;cannot&lt;/em&gt; get any content in the game without going through VRC. When you play VRChat, all content is streamed from VRChat’s servers anonymously by the proprietary client. There are no URLs, no files, no addressable content of any kind. (In fact, in the edge cases where avatars are discretely stored in files, in the cache, users get angry because of theft!) VRChat isn’t a layer over an open protocol, it’s its own closed system. Even with platforms like Twitter, at least there are files somewhere. But VRChat attacks the entire concept of files, structurally. The user knows nothing and trusts the server, end of story. &lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Wed, 22 Nov 2023 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2023-11-22:/blog/2023/11/22/notes-on-the-vrc-creator-economy/</guid><category>gaming</category><category>platforms</category><category>feudalism</category><category>rug-pull</category><category>user-agent</category><category>enforcement</category><category>fanwork</category></item><item><title>How Nintendo Misuses Copyright</title><link>https://blog.giovanh.com/blog/2023/11/21/how-nintendo-misuses-copyright/</link><description>&lt;!-- 
redirect: blog/2023/11/21/how-nintendo-misuses-copyright --&gt;
&lt;!-- ad: i cannot overstate how little Nintendo cares about creative rights --&gt;
&lt;aside class="cb qualified"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;As part of the &lt;em&gt;Corporations Have Rejected Copyright&lt;/em&gt; series, this analysis focuses on corporations violating the original intent of copyright in favor of personal power and profit, and so skips over some other valid avenues of criticism like enclosure in general.&lt;/p&gt;
&lt;/aside&gt;
&lt;!--  Revokes your Rights --&gt;
&lt;p&gt;When I’m looking for an example of copyright abuse, I find myself &lt;a href="https://blog.giovanh.com/blog/2020/11/19/nintendo-its-about-control-not-piracy/"&gt;returning&lt;/a&gt; &lt;a href="https://blog.giovanh.com/blog/2023/02/27/lies-damned-lies-and-subscriptions/"&gt;to Nintendo&lt;/a&gt; &lt;a href="https://blog.giovanh.com/blog/2023/05/20/netflixs-big-double-dip/"&gt;a lot&lt;/a&gt; on this blog. 
Nintendo is a combination hardware/software/media franchise company, so they fit a lot of niches. 
They’re a particularly useful when talking about IP because the “big N” is both very familiar to people and also egregiously bad offenders, especially given their “friendly” reputation. &lt;/p&gt;
&lt;p&gt;Nintendo has constructed a reputation for itself as a “good” games company that still makes genuinely fun games with “heart”. 
Yet it’s also infamously aggressive in executing “takedowns”: asserting property ownership of creative works other people own and which Nintendo did not make.&lt;/p&gt;
&lt;!-- for the purpose of destroying them. --&gt;
&lt;p&gt;You’d think a company like Nintendo — an art creation studio in the business of making and selling creative works — would be proponents of real, strong, immutable creative rights. That, as creators, they’d want the sturdiest copyright system possible, not one compromised (or that could be compromised) to serve the interests of any one particular party. This should be especially true for Nintendo even compared to other studios, given Nintendo’s own fight-for-its-life against Universal, its youth, and its relatively small position&lt;sup id="fnref:relative-position"&gt;&lt;a class="footnote-ref" href="#fn:relative-position"&gt;1&lt;/a&gt;&lt;/sup&gt; in the market compared to its entertainment competitors Disney, Sony, and Microsoft.&lt;/p&gt;
&lt;p&gt;But no, Nintendo takes the opposite position. When it comes to copyright, they pretty much exclusively try to compromise it in the hopes that a broken, askew system will end up unfairly favoring them. And so they attack the principles of copyright, viciously, again and again, convinced that the more broken the system is, the more they stand to profit.&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="introducing-nintendo"&gt;Introducing Nintendo&lt;/h2&gt;
&lt;p&gt;Nintendo, even compared to its corporate contemporaries, has a distinctly hostile philosophy around art: if they can’t control something themselves, they tend to try to eliminate it entirely.
What Nintendo uses creative rights to protect is not the copyright of their real creative works, it’s their control over everything they perceive to be their “share” of the gaming industry.&lt;/p&gt;
&lt;p&gt;Let me start with a quick history, in case you’re not familiar with the foundation Nintendo is standing on. &lt;/p&gt;
&lt;!-- , just so you know not to go into this with an assumption of good faith.  --&gt;
&lt;p&gt;&lt;a href="https://niwanetwork.org/wiki/Early_stigmatisation_of_Nintendo_and_ties_to_the_Yakuza"&gt;Nintendo got its start in Japan making playing cards for the mob to commit crimes with&lt;/a&gt;. It only pivoted to “video games” after manufacturing playing cards for the Yakuza to use for illegal gambling dens. (I know it sounds ridiculous, but that’s literally what happened.)&lt;/p&gt;
&lt;p&gt;Nintendo got its footing overseas by looking to see what video game was making the most money in America, seeing it was Space Invaders, and copying that verbatim with a clone game they called “Radar Scope”:&lt;/p&gt;
&lt;p&gt;
&lt;div class="lazyframe" data-vendor="youtube" onclick='this.outerHTML = `&amp;lt;iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/8_bhYS2kcBo?autoplay=1" title="Radar Scope" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; picture-in-picture" allowfullscreen class="media"&amp;gt;&amp;lt;/iframe&amp;gt;`' style="background-image: url(https://img.youtube.com/vi/8_bhYS2kcBo/hqdefault.jpg);"&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;Then, when that was a commercial failure, &lt;a href="https://www.aroged.com/2023/01/21/popeye-instead-of-donkey-kong-lets-see-the-project-of-the-original-nintendo-prototype/"&gt;they wrote “conversion kit” code to turn those cabinets into a Popeye game, failed to get the Popeye rights they needed, and released it anyway&lt;/a&gt;. They kept the gameplay and even the character archetypes the same, they just reskinned it with King Kong. They didn’t even name the protagonist after they swapped out the Popeye idea, so he was just called Jumpman.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Popeye/Donkey Kong comparison" src="https://blog.giovanh.com/blog/2023/11/21/how-nintendo-misuses-copyright/popeye.jpg"/&gt;&lt;/p&gt;
&lt;aside class="cb tangent"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Mario’s plumber role is well-known as being a working-class archetype to substitute for the everyman sailor archetype of Popeye. But, in researching this, I found out that there’s also some evidence that even the basic design of a plumber in overalls came from, of all things, &lt;a href="https://twitter.com/katewillaert/status/1308889567379021825"&gt;subconscious word association with an unrelated magazine, also named Popeye&lt;/a&gt;. Their heads were &lt;em&gt;really&lt;/em&gt; in that space!&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;But then Nintendo was almost itself the &lt;em&gt;victim&lt;/em&gt; of an abuse of IP law. “Donkey Kong” derived from King Kong, and even though the character was in the public domain, Universal Studios still sued Nintendo over the use. 
Ultimately the judge agreed with the Nintendo team and threw out the lawsuit, in an example of a giant corporation trying to steamroll what was at the time a small business with over-aggressive and illegitimate IP enforcement. &lt;/p&gt;
&lt;p&gt;This was such an impactful moment for Nintendo that they took the name of their lawyer in the Universal Studios case — Kirby — and used it for the mascot of one of their biggest franchises. It was a significant move that demonstrates Nintendo’s extreme gratefulness — or even idolization — of the man who defended them against abuse of IP law.&lt;/p&gt;
&lt;p&gt;You would hope the lesson Nintendo learned here would be from the perspective of the underdog, seeing as &lt;em&gt;they&lt;/em&gt; were almost the victim of the kinds of tactics they would later become famous for using themselves. But no, it seems they were impressed by the ruthlessness of the abusers instead, and so copied their playbook.&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Tue, 21 Nov 2023 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2023-11-21:/blog/2023/11/21/how-nintendo-misuses-copyright/</guid><category>politics</category><category>ip</category><category>feudalism</category><category>enforcement</category><category>buying the euphemism</category><category>Nintendo</category><category>fanwork</category></item><item><title>Apple's Trademark Exploit</title><link>https://blog.giovanh.com/blog/2023/10/26/apples-trademark-exploit/</link><description>&lt;!-- Series: Copyright Abuse Revokes your Rights --&gt;
&lt;p&gt;Apple puts its logo on the devices it sells. Not just on the outer casing, but also each internal component. The vast majority of these logos are totally enclosed and invisible to the naked eye.
This seems like an incredibly strange practice — especially since Apple doesn’t sell these parts separately — except it turns out to be part of a truly convoluted rules-lawyering exploit only a company like Apple could pull off and get away with.&lt;/p&gt;
&lt;p&gt;Remember, trademarks are a consumer protection measure to defend against counterfeits. Apple’s registered logo trademark protects consumers from being tricked into buying fake products, and deputizes Apple to defend its mark against counterfeits.&lt;/p&gt;
&lt;p&gt;But &lt;strong&gt;Apple&lt;/strong&gt; has perfected the art of twisting this system to use it as a weapon against their opponents, and it is a &lt;em&gt;nightmare&lt;/em&gt;. 
(And I don’t just mean Apple asserting a monopoly over the concept of fruit, although it &lt;a href="https://news.bloomberglaw.com/ip-law/apple-said-to-thwart-other-fruit-logos-even-far-from-its-tree"&gt;does do that also&lt;/a&gt;, &lt;a href="https://www.nytimes.com/2022/03/11/technology/apple-trademarks.html"&gt;all the time&lt;/a&gt;.)&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="the-loaded-gun"&gt;The Loaded Gun&lt;/h2&gt;
&lt;p&gt;While some counterfeiting happens domestically the major concern is usually counterfeits imported from foreign trade. This brings us to Customs and Border Patrol, which you might know as the other side of the ICE/CBP border control system. You might be surprised to see them involved with this, since Border Patrol agents are fully-militarized police outfitted to combat armed drug cartels. &lt;/p&gt;
&lt;p&gt;But among its other duties, Border Patrol takes a proactive role in enforcing intellectual property protection at ports of trade — backed by the full force of the Department of Homeland Security — by seizing goods it identifies as counterfeit and either destroying them outright or else selling them &lt;em&gt;themselves&lt;/em&gt; at auction.&lt;sup id="fnref:cbp-pub"&gt;&lt;a class="footnote-ref" href="#fn:cbp-pub"&gt;1&lt;/a&gt;&lt;/sup&gt; 
To get your property back, you have to sue Border Patrol — &lt;a href="https://www.vox.com/23159672/supreme-court-egbert-boule-bivens-law-enforcement-border-patrol-immunity"&gt;an infamously untouchable police force&lt;/a&gt; — and win.&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Thu, 26 Oct 2023 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2023-10-26:/blog/2023/10/26/apples-trademark-exploit/</guid><category>politics</category><category>ip</category><category>enforcement</category><category>big tech</category><category>antitrust</category><category>buying the euphemism</category><category>feudalism</category></item><item><title>You've Never Seen Copyright</title><link>https://blog.giovanh.com/blog/2023/10/25/youve-never-seen-copyright/</link><description>&lt;p&gt;Hear me out: copyright is good.&lt;/p&gt;
&lt;p&gt;When it comes to copyright it can be very easy to lose the forest for the trees. That’s why I want to start this series with a bit of a reset, and establish a baseline understanding of copyright doctrine as a whole, and the context in which our modern experience of copyright sits.&lt;/p&gt;
&lt;p&gt;The current state of copyright law is a quagmire, due not just to laws but also international treaty agreements and rulings from judges who don’t understand the topic and who even actively disagree with each other. 
That convolution is exactly why I don’t want to get lost in those twists and turns for this, and instead want to start with the base principles we’ve lost along the way.&lt;/p&gt;
&lt;p&gt;You don’t need to understand the layers to see the problem. In fact, intellectual property is a system whose convolutions &lt;em&gt;hide&lt;/em&gt; the obviousness of the problem. 
Complexity is good only when complexity is needed to ensure the correctness of the outcome. But here, far from being necessary to keep things working right, &lt;strong&gt;the complexity hides that the outcome is wrong.&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;But that outcome, our current regime that we know as copyright policy, is &lt;em&gt;so wrong&lt;/em&gt; — not only objectively bad, but wrong even according to its own definition — that at this point it takes significant work just to get back to the idea that&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="copyright-is-supposed-to-be-good"&gt;Copyright is supposed to be good&lt;/h2&gt;
&lt;p&gt;This is my controversial stance, and the premise of my series: copyright (as properly defined) is a cohesive system, and, when executed properly, is actually good for everyone. &lt;/p&gt;
&lt;p&gt;At this point, you might think I’m setting myself up to fail the &lt;a href="https://en.wikipedia.org/wiki/The_purpose_of_a_system_is_what_it_does"&gt;purpose of a system is what it does&lt;/a&gt; test. 
If there’s some definition of what copyright “should” be, but it doesn’t map to the system of copyright as it actually exists, why bother spending time with a definition we fully expect not to apply to the system?&lt;/p&gt;
&lt;p&gt;I’m not trying to imply that our current system is justified by a definition that’s meant to be its “purpose” even while the definition fails to describe how the system really works. In fact, I ultimately want to do the opposite. &lt;/p&gt;
&lt;p&gt;The word “copyright” can refer to two very different entities. &lt;/p&gt;
&lt;p&gt;One is &lt;strong&gt;copyright as a system of political power&lt;/strong&gt;. This is the overall system, composed copyright legislation, international treaties, and systems of enforcement. &lt;/p&gt;
&lt;p&gt;The other is &lt;strong&gt;copyright as a philosophical doctrine&lt;/strong&gt;. This is the basis (at least ostensibly) for copyright law and enforcement power, and what the system is meant to derive from. 
Copyright as a political system should be an implementation of this philosophy, and its power derives its legitimacy from how well it maps to the philosophy and correctly implements it goals. &lt;/p&gt;
&lt;p&gt;The philosophy should be good for artists, but the reality of the power structures is bad for artists. 
Not only is that bad, it also makes the discourse around the topic insufferable, because people talking about “copyright” usually aren’t referring to the same thing!&lt;/p&gt;
&lt;p&gt;I argue that the philosophical doctrine of copyright is actually remarkably sound; the goals work, but the system of power has gone rotten.
What’s more, we can identify the ways it’s gone bad by comparing it to the philosophy that it should derive from, and find that instead of being an implementation of the philosophy, it’s been corrupted, and ends up pushing a completely contrary set of goals. &lt;/p&gt;
&lt;p&gt;&lt;img alt="https://www.instagram.com/p/Bp92AGvlWl0/" src="https://blog.giovanh.com/blog/2023/10/25/youve-never-seen-copyright/werewolf.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;What we’re subjected to today in the name of copyright does not come from the real principles of copyright. Compared to the current state of US intellectual property law, the “real copyright” I’m talking about is like grass so utterly smothered by concrete that not only do no strands poke through, everyone involved has forgotten it was ever there.&lt;/p&gt;
&lt;p&gt;The situation is so bad that even though I think copyright should be a good thing, I think our current bastardization of it may be worse than nothing at all, to the point where we’d be better off with the problems real copyright is meant to solve than with all the new, worse problems it’s inflicted on us.&lt;/p&gt;
&lt;p&gt;But because what we’re enduring now is a corruption of another thing and not its own original evil, we’re not limited to measuring it by the harm it inflicts: we can also measure it by its deviation from what we know it should be.&lt;/p&gt;
&lt;p&gt;So what’s the good version? This true, unadulterated form of creative rights?&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Wed, 25 Oct 2023 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2023-10-25:/blog/2023/10/25/youve-never-seen-copyright/</guid><category>politics</category><category>ip</category><category>feudalism</category><category>fanwork</category><category>buying the euphemism</category></item><item><title>Is homestuck.giovanh.com official?</title><link>https://blog.giovanh.com/blog/2023/10/01/is-homestuckgiovanhcom-official/</link><description>&lt;div class="askblog-wrapper"&gt;
&lt;blockquote class="askblog-question"&gt;
&lt;div class="askblog-prefix"&gt;
&lt;p&gt;&lt;strong&gt;Anonymous&lt;/strong&gt; asked:&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Is your website the official location of the unofficial collection webapp or is it just there now for testing?&lt;/p&gt;
&lt;div class="askblog-arrow"&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="askblog-avatar"&gt;&lt;img src="/theme/blocks/ask_anon.png"/&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I&amp;rsquo;ve gotten a few variations of this question, so I wanted to get some thoughts down. &lt;/p&gt;
&lt;!-- Double-unofficial --&gt;
&lt;p&gt;The UHC is, itself, unofficial, in that it isn&amp;rsquo;t acting with the authority of the Homestuck brand, and it&amp;rsquo;s not a What Pumpkin published work. &lt;/p&gt;
&lt;p&gt;&lt;a href="https://homestuck.giovanh.com"&gt;https://homestuck.giovanh.com&lt;/a&gt; is one further layer more unofficial than that: It&amp;rsquo;s still not endorsed by Homestuck, but it&amp;rsquo;s also not necessarily &amp;ldquo;endorsed&amp;rdquo; by the main UHC project. It&amp;rsquo;s a separate spin-off for a couple of reasons, including the fact that it uses some non-free code. But ultimately this separation lets me test experimental features and ideas before they&amp;rsquo;re released as part of the main collection. &lt;/p&gt;
&lt;!-- Subordinate to main project --&gt;
&lt;p&gt;At &lt;a href="https://homestuck.giovanh.com/gio"&gt;https://homestuck.giovanh.com/gio&lt;/a&gt;, I&amp;rsquo;ve written&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This is an online port of &lt;a href="https://bambosh.dev/unofficial-homestuck-collection/"&gt;The Unofficial Homestuck Collection&lt;/a&gt;, a desktop collection of Homestuck and its related works. TUHC is developed by &lt;a href="https://homestuck.giovanh.com/credits"&gt;Bambosh and Gio (and some other great folks)&lt;/a&gt;, while this port in particular is written, maintained, and hosted as an experiment by Gio.&lt;/p&gt;
&lt;p&gt;This is meant as a way to use the offline homestuck collection in a browser, for people on mobile or platforms that don&amp;rsquo;t have a proper version, or as an &amp;ldquo;on-ramp&amp;rdquo; if you&amp;rsquo;re just getting into Homestuck and aren&amp;rsquo;t sure if you want to commit yet.&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t just use this to read Homestuck! Get the collection; it&amp;rsquo;s faster, it has real flash, and it costs less to host!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I still think this is the right mentality: if you&amp;rsquo;re reading through Homestuck or doing fan work, you probably still want the main desktop release. It&amp;rsquo;s also &lt;em&gt;much&lt;/em&gt; more moddable; the browser version has some modding functionality, but it&amp;rsquo;s stripped down and isn&amp;rsquo;t ever going to be up to the standard of the main collection. &lt;/p&gt;
&lt;!-- Temporary? --&gt;
&lt;p&gt;I think what this question might mean to be asking is: &amp;ldquo;is &lt;a href="https://homestuck.giovanh.com"&gt;https://homestuck.giovanh.com&lt;/a&gt; &lt;em&gt;temporary?&lt;/em&gt;&amp;rdquo; The answer to that is no: I don&amp;rsquo;t have any plans to stop hosting it, and if we ever move to a different URL, I&amp;rsquo;ll set something up to redirect &lt;a href="https://homestuck.giovanh.com"&gt;https://homestuck.giovanh.com&lt;/a&gt; there, including the page references, so links won&amp;rsquo;t break. You should be able to safely share links to the web collection, including homestuck pages (&lt;a href="https://homestuck.giovanh.com/mspa/001901"&gt;https://homestuck.giovanh.com/mspa/001901&lt;/a&gt;) and collection metapages (&lt;a href="https://homestuck.giovanh.com/search/fiddlesticks"&gt;https://homestuck.giovanh.com/search/fiddlesticks&lt;/a&gt;) (as possible).&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t currently have any plans to move the domain name, though. I can imagine doing that at some point in the future, if governance ever changes (i.e. it&amp;rsquo;s not strictly personal, and so shouldn&amp;rsquo;t be on my personal) but I already own giovanh.com, and I think Homestuck fits nicely there.&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="related-reading"&gt;Related Reading&lt;/h2&gt;
&lt;div class="container related-reading"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=AlJvr-leT94"&gt;Saving Homestuck [SAHCon 2023 Panel]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sun, 01 Oct 2023 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2023-10-01:/blog/2023/10/01/is-homestuckgiovanhcom-official/</guid><category>qa</category><category>homestuck</category></item><item><title>The Angel is You</title><link>https://blog.giovanh.com/blog/2023/08/12/the-angel-is-you/</link><description>&lt;p&gt;&lt;em&gt;”…okay, fine, you can have one more, but only because of the name”&lt;/em&gt;&lt;br/&gt;
&lt;em&gt;a Deltarune theory&lt;/em&gt;&lt;/p&gt;
&lt;aside class="cb spoiler-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Spoils Homestuck, Undertale, and Deltarune&lt;/p&gt;
&lt;/aside&gt;
&lt;style&gt;
#the-angel-is-you div.highlight.deltarune table.highlighttable,
#the-angel-is-you pre.deltarune {
    font-size: 18px;
    padding: 0.5em;
    box-shadow: 0 0 1em #484848;
    border: 4px solid white;
    background: black;
    color: white;
}
&lt;/style&gt;
&lt;p&gt;Answering the questions raised by Ralsei’s prophecy:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Who is the Angel?&lt;/li&gt;
&lt;li&gt;What is the “Angel’s Heaven”?&lt;/li&gt;
&lt;li&gt;How can it be banished?&lt;/li&gt;
&lt;/ul&gt;
&lt;section class="section2"&gt;&lt;h2 id="angels-and-heavens"&gt;Angels and Heavens&lt;/h2&gt;
&lt;p&gt;First, here’s a list of all the references to “Angels” or “Heaven” in the text of Undertale and Deltarune, which I’ll go through one by one:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The human in Undertale is called an “angel” for coming down from the human world (this is a red herring) (this could also refer to Asriel but it doesn’t matter)&lt;/li&gt;
&lt;li&gt;The Angel’s Heaven from Ralsei’s prophecy&lt;/li&gt;
&lt;li&gt;The Heaven Spamton is pursuing&lt;/li&gt;
&lt;li&gt;The Angel worshiped by the Hometown church&lt;ul&gt;
&lt;li&gt;The Angel doll Noelle and Dess made in church youth group&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;section class="section3"&gt;&lt;h3 id="undertale"&gt;Undertale&lt;/h3&gt;
&lt;p&gt;First, the “angel” (lowercase) from Undertale, which I’ll ultimately want to write off as a distraction.&lt;/p&gt;
&lt;p&gt;In Waterfall, you can ask Gerson about the Delta “with-a-space” Rune, the royal emblem, and he’ll exposit:&lt;/p&gt;
&lt;/section&gt;&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sat, 12 Aug 2023 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2023-08-12:/blog/2023/08/12/the-angel-is-you/</guid><category>fandom</category><category>undertale</category><category>theorizing</category></item><item><title>My Pal Sorter</title><link>https://blog.giovanh.com/blog/2023/07/10/my-pal-sorter/</link><description>&lt;p&gt;I’ve decided to do a short write-up on a tool I just call “&lt;a href="https://github.com/GiovanH/Sorter"&gt;Sorter&lt;/a&gt;”. Sorter is something I built for myself to help me organize my own files, and it looks like this:&lt;/p&gt;
&lt;p&gt;&lt;img alt="animated sort demo" src="https://blog.giovanh.com/blog/2023/07/10/my-pal-sorter/sortdemo.gif"/&gt;&lt;/p&gt;
&lt;p&gt;It’s designed to do exactly one thing: move files into subfolders, one file at a time. You look at a file, you decide where it goes, and you move it accordingly. It’s the same behavior you can do with Explorer, but at speed. &lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/GiovanH/Sorter"&gt;You can download it if you want&lt;/a&gt; (although it might not be easy to build; check the releases for binaries) but for now I just wanted to talk through some of the features, why I built it the way I did, and the specific features I needed that I couldn’t find in other software. &lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Mon, 10 Jul 2023 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2023-07-10:/blog/2023/07/10/my-pal-sorter/</guid><category>tech</category><category>technical</category><category>archival</category></item><item><title>Reddit: Your API *IS* Your Product</title><link>https://blog.giovanh.com/blog/2023/06/09/reddit-your-api-is-your-product/</link><description>&lt;p&gt;Reddit is going the same route as Twitter by making “API access” prohibitively expensive. This is something they very famously, very vocally said they would not do, but they’re doing it anyway. This is very bad for Reddit, but what’s worse is it’s becoming clear that companies think that this is a remotely reasonable thing to do, when it’s very critically not. &lt;/p&gt;
&lt;p&gt;It’s the same problem we see with Twitter and other late-capitalist hell websites: Reddit’s product is the service it provides, which &lt;em&gt;is&lt;/em&gt; its API. The ability for users to interact with the service isn’t an auxiliary premium extra, it’s the whole caboodle!&lt;/p&gt;
&lt;p&gt;I’ll talk about first principles first, and then get into what’s been going on with Reddit and Apollo. 
The Apollo drama is very useful in that it directly converts the corporate bullshit that sounds technical enough to make sense into something very easy to understand: a corporation hurting them, today, for money. &lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="the-api-is-the-product"&gt;The API is the product&lt;/h2&gt;
&lt;p&gt;Reddit and all these other companies who are making user-level API access prohibitively expensive have forgotten that &lt;strong&gt;the API is the product.&lt;/strong&gt; - The API is the interface that lets you perform operations on the site. The operations a user can do &lt;em&gt;are&lt;/em&gt; the product, they’re not auxiliary to it!&lt;/p&gt;
&lt;!-- API intro, demystification --&gt;
&lt;p&gt;“Application programming interface” is a very formal, internal-sounding term for a system that is none of those things. 
The word “programming” in the middle comes from an age where using a personal computer at all was considered “programming” it. &lt;/p&gt;
&lt;p&gt;What an API really is a high-level interface to the web application that is Reddit. Every action a user can take — viewing posts, posting, voting, commenting — goes from the app (which interfaces with the user) to the API (which interfaces with the Reddit server), gets processed by the server using whatever-they-use-it-doesn’t-matter, and the response is sent back to the user. &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="https://blog.giovanh.com/blog/2023/06/09/reddit-your-api-is-your-product/api.png"/&gt;&lt;/p&gt;
&lt;p&gt;The API isn’t a god mode and it doesn’t provide any super-powers. It doesn’t let you do anything you can’t do as a user, as clearly evidenced by the fact that all the actions you do on the Reddit website &lt;em&gt;go through the API too&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The Reddit website, the official Reddit app, and the Apollo app all interface with the user in different ways and on different platforms, but go through the same API to interact with what we understand as “Reddit”. The fact that the API is the machine interface without the human interface should also concisely explain why “API access” is all Apollo needs to build its own app. &lt;/p&gt;
&lt;p&gt;Right now, you can view the announcement thread at &lt;a href="https://www.reddit.com/r/apolloapp/comments/144f6xm/apollo_will_close_down_on_june_30th_reddits/"&gt;https://www.reddit.com/r/apolloapp/comments/144f6xm/apollo_will_close_down_on_june_30th_reddits/&lt;/a&gt;, and you can view the “API” data for the same thread at &lt;a href="https://www.reddit.com/r/apolloapp/comments/144f6xm/apollo_will_close_down_on_june_30th_reddits.json"&gt;https://www.reddit.com/r/apolloapp/comments/144f6xm/apollo_will_close_down_on_june_30th_reddits.json&lt;/a&gt;. It’s not very fun to look at, but it’s easy to tell what you’re looking at: the fundamental representation of the page without all the trappings of the interface.&lt;/p&gt;
&lt;p&gt;Public APIs are good for both the user and the company. They’re a vastly more efficient way for people to interact with the service than by automating interaction (or “scraping”). Having an API cuts out an entire layer of expense that, without an API, Reddit would pay for.&lt;/p&gt;
&lt;p&gt;The Reddit service is the application, and you interface with it through WHATEVER. Whatever browser you want, whatever browser extensions you want, whatever model phone you want, whatever app you want. This is fundamentally necessary for operability and accessibility.&lt;/p&gt;
&lt;p&gt;The API &lt;em&gt;is&lt;/em&gt; the service. The mechanical ability to post and view and organize is what makes Reddit valuable, not its frontend. Their app actually takes the core service offering and makes it &lt;em&gt;less&lt;/em&gt; attractive to users, which is why they were willing to pay money for an alternative!&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Fri, 09 Jun 2023 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2023-06-09:/blog/2023/06/09/reddit-your-api-is-your-product/</guid><category>cyber</category><category>platforms</category><category>user-agent</category><category>api</category><category>services</category><category>ai</category></item><item><title>Netflix's Big Double-Dip</title><link>https://blog.giovanh.com/blog/2023/05/20/netflixs-big-double-dip/</link><description>&lt;p&gt;Netflix is finally turning the screws on multi-user accounts. That “finally” is exasperation in my voice, not relief. Netflix is demanding you pay them an extra surcharge to share your account with remote people, and even then caps you at paying for a maximum of two. It’s been threatening to do something like this for a long, long time:&lt;/p&gt;
&lt;p&gt;Since 2011, when the recording industry started pushing through legal frameworks to criminalize multi-user account use by &lt;a href="https://publications.tnsosfiles.com/acts/107/pub/pc0348.pdf"&gt;miscategorizing “entertainment subscription services” as equivalent to public services like mail, water, and electricity&lt;/a&gt; for the purposes of criminal prosecution,&lt;/p&gt;
&lt;p&gt;Since &lt;a href="https://techcrunch.com/2016/07/11/psst-its-still-okay-to-share-your-netflix-password/"&gt;similar nonsense in 2016 exploiting the monumentally terrible Computer Fraud and Abuse Act&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;Since 2019, when &lt;a href="https://www.youtube.com/watch?v=NHK51RgeqdY&amp;amp;t=1836s"&gt;Netflix announced (to its shareholders) that it was looking for ways to limit password sharing&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;Since 2021, when &lt;a href="https://apnews.com/article/business-b2913b21f5c5ba79405ef5ddbc2c0eb3"&gt;Netflix started tracking individual users by location and device within a paying account&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;Since 2022, when &lt;a href="https://web.archive.org/web/20230407105910/https://about.netflix.com/en/news/an-update-on-sharing"&gt;it started banning group use in Portugal, Spain, and New Zealand&lt;/a&gt;, &lt;a href="https://restofworld.org/2022/netflix-crackdown-password-sharing-peru/"&gt;to disastrous consequence&lt;/a&gt;. Also, Canada, but temporarily. And, of course, then &lt;a href="https://www.macrumors.com/2022/12/21/netflix-password-sharing-crackdown-early-2023/"&gt;threatened to “crack down” on “password sharing” in “Early 2023”&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;Since January, when it &lt;a href="https://www.theverge.com/2023/1/19/23559483/netflix-password-sharing-crackdown-earnings-q4-2022"&gt;threatened to roll out “paid password sharing” in the “coming months”&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;Since February, when it &lt;a href="https://www.yahoo.com/lifestyle/netflix-backtracks-password-sharing-rules-162942246.html"&gt;released a disastrous policy banning password sharing&lt;/a&gt;, then lied about the policy being an error and made a big show of retracting it due to the massive backlash, &lt;a href="https://www.cnet.com/culture/entertainment/the-end-of-free-netflix-password-sharing-is-coming-heres-what-to-know/"&gt;but then went ahead and did it in Canada anyway&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;And finally now since just now, as it’s &lt;a href="https://mashable.com/article/netflix-password-sharing-crackdown"&gt;finally, really, for-realsies banning password sharing this quarter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Netflix threatening this for so long was a mistake on its part, because that’s given me a long, long time for these thoughts to slowly brew in the back of my head. And there’s &lt;em&gt;a lot&lt;/em&gt; wrong here. &lt;/p&gt;
&lt;p&gt;&lt;img alt="the teat one" src="https://images.ctfassets.net/4cd45et68cgf/3irzHMHpxSNR2TzsEgmvy0/2b80e818e69ee0c1266b2598a18a961a/PaidSharing_Blog_Image_936x622.png?w=2560"/&gt;
&lt;em&gt;this is a real graphic Netflix made!&lt;/em&gt;&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="netflixs-pricing-model"&gt;Netflix’s pricing model&lt;/h2&gt;
&lt;p&gt;So, first, what are multi-user accounts in the first place, and how does “password sharing” relate to that?&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sat, 20 May 2023 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2023-05-20:/blog/2023/05/20/netflixs-big-double-dip/</guid><category>politics</category><category>feudalism</category><category>platforms</category><category>ip</category><category>drm</category><category>services</category></item><item><title>The Last Clockwinder Retrospective</title><link>https://blog.giovanh.com/blog/2023/05/07/the-last-clockwinder-retrospective/</link><description>&lt;p&gt;I played The Last Clockwinder last week, and it changed the way I think about production games. &lt;/p&gt;
&lt;aside class="cb spoiler-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This article has minor spoilers for The Last Clockwinder, Factorio, Infinifactory, and Universal Paperclip. I recommend you play Universal Paperclip and The Last Clockwinder first. &lt;/p&gt;
&lt;/aside&gt;
&lt;section class="section2"&gt;&lt;h2 id="factory-games"&gt;Factory games&lt;/h2&gt;
&lt;p&gt;The Steam page describes The Last Clockwinder as a “VR puzzle-automation game.”
I like production and automation games. But I’m used to FTB and Factorio and Zachtronics and Universal Paperclip. I’m used to the look automation-production games gravitate towards. &lt;/p&gt;
&lt;p&gt;&lt;img alt="Factorio" src="https://blog.giovanh.com/blog/2023/05/07/the-last-clockwinder-retrospective/factorio.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;Factorio’s top-down design invites you to create sprawling factories that completely overtake the landscape. What little detail there is in the landscape is purely mechanical; resources you can extract and process, or enemies you have to either avoid or exploit for more resources.&lt;/p&gt;
&lt;p&gt;Positioning the camera to give yourself a comfortable view of the structures you build and the items you’re manipulating leaves the actual character as a tiny focal point; more of a crosshair than a character or even an avatar. &lt;/p&gt;
&lt;p&gt;Factorio scales enemy difficulty to “pollution” but this is always designed to be overcome, not be a legitimately limiting factor.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Infinfactory" src="https://blog.giovanh.com/blog/2023/05/07/the-last-clockwinder-retrospective/infinifactory.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;In Infinifactory, you’re captured by aliens and forced to engineer efficient factories in exchange for food pellets. Each puzzle takes place in a set of stark, desolate environments. It’s first-person, but you never directly interact with another character; the most you get are notes about how much your predecessors hated it. &lt;/p&gt;
&lt;p&gt;As soon as you solve a puzzle, you’re presented with a histogram: how could you optimize your solution further? Could you be faster? Use fewer blocks? Are you better than your friends, or falling behind?&lt;/p&gt;
&lt;p&gt;&lt;img alt="Universal Paperclip (gif)" src="https://blog.giovanh.com/blog/2023/05/07/the-last-clockwinder-retrospective/paperclips.gif"/&gt;&lt;/p&gt;
&lt;p&gt;Universal Paperclip’s minimalist HTML interface makes it a graphical outlier, but the bare-metal minimally-styled HTML invokes a sense of brutalism that reenforces the game’s theme of efficiency in the pursuit of a goal to the exclusion of everything else. &lt;/p&gt;
&lt;p&gt;And then there’s The Last Clockwinder. &lt;/p&gt;
&lt;/section&gt;&lt;section class="section2"&gt;&lt;h2 id="the-last-clockwinder"&gt;The Last Clockwinder&lt;/h2&gt;
&lt;p&gt;
&lt;video alt="Trailer" controls="true" src="https://cdn.akamai.steamstatic.com/steam/apps/256862689/movie480_vp9.webm" type="video/webm"&gt;&lt;/video&gt;
&lt;/p&gt;
&lt;p&gt;It’s undeniably hard sci-fi. The first thing you do is arrive in spaceship. Throughout the game you’re on the radio with your friend idling in orbit, and the whole story revolves around interplanetary travel. &lt;/p&gt;
&lt;p&gt;But then the first thing you see is a tree-patio with a hammock. It almost feels like a treehouse. The purpose of the tree is archival and preservation of rare and culturally significant plants; it’s a reserve, and that’s what gives it such importance. Inside the tree is the one room you stay inside for the entire game, and it’s a living space. &lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sun, 07 May 2023 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2023-05-07:/blog/2023/05/07/the-last-clockwinder-retrospective/</guid><category>gaming</category><category>asthetics</category><category>vr</category><category>gush</category><category>personal</category></item><item><title>So you want to write an AI art license</title><link>https://blog.giovanh.com/blog/2023/04/08/so-you-want-to-write-an-ai-art-license/</link><description>&lt;!-- Series: AI --&gt;
&lt;p&gt;Hi, The EFF, Creative Commons, Wikimedia, World Leaders, and whoever else,&lt;/p&gt;
&lt;p&gt;Do you want to write a license for machine vision models and AI-generated images, but you’re tired of listening to lawyers, legal scholars, intellectual property experts, media rightsholders, or even just people who use any of the tools in question even occasionally? &lt;/p&gt;
&lt;p&gt;You need a real expert: me, a guy whose entire set of relevant qualifications is that he owns a domain name. Don’t worry, here’s how you do it:&lt;/p&gt;
&lt;aside class="cb qualified"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This is an extremely condensed set of notes, designed as a high-level overview for thinking about the problem.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;Given our current system of how AI models are trained and how people can use them to generate new art, which is this:&lt;/p&gt;
&lt;div class="mermaid-wrapper"&gt;&lt;pre class="mermaid" data-processed="true"&gt;&lt;svg aria-roledescription="sequence" id="my-svg" role="graphics-document document" style="max-width: 1001px; background-color: transparent;" viewbox="-50 -10 1001 472" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"&gt;&lt;g&gt;&lt;rect class="actor actor-bottom" fill="#eaeaea" height="65" rx="3" ry="3" stroke="#666" width="150" x="751" y="386"&gt;&lt;/rect&gt;&lt;text alignment-baseline="central" class="actor" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" x="826" y="418.5"&gt;&lt;tspan dy="0" x="826"&gt;Curio&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class="actor actor-bottom" fill="#eaeaea" height="65" rx="3" ry="3" stroke="#666" width="150" x="409" y="386"&gt;&lt;/rect&gt;&lt;text alignment-baseline="central" class="actor" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" x="484" y="418.5"&gt;&lt;tspan dy="0" x="484"&gt;Model&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;rect class="actor actor-bottom" fill="#eaeaea" height="65" rx="3" ry="3" stroke="#666" width="150" x="0" y="386"&gt;&lt;/rect&gt;&lt;text alignment-baseline="central" class="actor" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" x="75" y="418.5"&gt;&lt;tspan dy="0" x="75"&gt;Alice&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;g&gt;&lt;line class="200" id="actor2" stroke="#999" stroke-width="0.5px" x1="826" x2="826" y1="5" y2="386"&gt;&lt;/line&gt;&lt;g id="root-2"&gt;&lt;rect class="actor actor-top" fill="#eaeaea" height="65" rx="3" ry="3" stroke="#666" width="150" x="751" y="0"&gt;&lt;/rect&gt;&lt;text alignment-baseline="central" class="actor" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" x="826" y="32.5"&gt;&lt;tspan dy="0" x="826"&gt;Curio&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;/g&gt;&lt;g&gt;&lt;line class="200" id="actor1" stroke="#999" stroke-width="0.5px" x1="484" x2="484" y1="5" y2="386"&gt;&lt;/line&gt;&lt;g id="root-1"&gt;&lt;rect class="actor actor-top" fill="#eaeaea" height="65" rx="3" ry="3" stroke="#666" width="150" x="409" y="0"&gt;&lt;/rect&gt;&lt;text alignment-baseline="central" class="actor" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" x="484" y="32.5"&gt;&lt;tspan dy="0" x="484"&gt;Model&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;/g&gt;&lt;g&gt;&lt;line class="200" id="actor0" stroke="#999" stroke-width="0.5px" x1="75" x2="75" y1="5" y2="386"&gt;&lt;/line&gt;&lt;g id="root-0"&gt;&lt;rect class="actor actor-top" fill="#eaeaea" height="65" rx="3" ry="3" stroke="#666" width="150" x="0" y="0"&gt;&lt;/rect&gt;&lt;text alignment-baseline="central" class="actor" dominant-baseline="central" style="text-anchor: middle; font-size: 16px; font-weight: 400;" x="75" y="32.5"&gt;&lt;tspan dy="0" x="75"&gt;Alice&lt;/tspan&gt;&lt;/text&gt;&lt;/g&gt;&lt;/g&gt;&lt;style&gt;#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#my-svg text.actor&amp;gt;tspan{fill:black;stroke:none;}#my-svg .actor-line{stroke:grey;}#my-svg .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#my-svg .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#my-svg #arrowhead path{fill:#333;stroke:#333;}#my-svg .sequenceNumber{fill:white;}#my-svg #sequencenumber{fill:#333;}#my-svg #crosshead path{fill:#333;stroke:#333;}#my-svg .messageText{fill:#333;stroke:none;}#my-svg .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#my-svg .labelText,#my-svg .labelText&amp;gt;tspan{fill:black;stroke:none;}#my-svg .loopText,#my-svg .loopText&amp;gt;tspan{fill:black;stroke:none;}#my-svg .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#my-svg .note{stroke:#aaaa33;fill:#fff5ad;}#my-svg .noteText,#my-svg .noteText&amp;gt;tspan{fill:black;stroke:none;}#my-svg .activation0{fill:#f4f4f4;stroke:#666;}#my-svg .activation1{fill:#f4f4f4;stroke:#666;}#my-svg .activation2{fill:#f4f4f4;stroke:#666;}#my-svg .actorPopupMenu{position:absolute;}#my-svg .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#my-svg .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#my-svg .actor-man circle,#my-svg line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}&lt;/style&gt;&lt;g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol height="24" id="computer" width="24"&gt;&lt;path d="M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z" transform="scale(.5)"&gt;&lt;/path&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;defs&gt;&lt;symbol clip-rule="evenodd" fill-rule="evenodd" id="database"&gt;&lt;path d="M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z" transform="scale(.5)"&gt;&lt;/path&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;defs&gt;&lt;symbol height="24" id="clock" width="24"&gt;&lt;path d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z" transform="scale(.5)"&gt;&lt;/path&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id="arrowhead" markerheight="12" markerunits="userSpaceOnUse" markerwidth="12" orient="auto" refx="7.9" refy="5"&gt;&lt;path d="M 0 0 L 10 5 L 0 10 z"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id="crosshead" markerheight="8" markerwidth="15" orient="auto" refx="4" refy="4.5"&gt;&lt;path d="M 1,2 L 6,7 M 6,2 L 1,7" fill="none" stroke="#000000" stroke-width="1pt" style="stroke-dasharray: 0, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id="filled-head" markerheight="28" markerwidth="20" orient="auto" refx="15.5" refy="7"&gt;&lt;path d="M 18,7 L9,13 L14,7 L9,1 Z"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;defs&gt;&lt;marker id="sequencenumber" markerheight="40" markerwidth="60" orient="auto" refx="15" refy="15"&gt;&lt;circle cx="15" cy="15" r="6"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;/defs&gt;&lt;text alignment-baseline="middle" class="messageText" dominant-baseline="middle" dy="1em" style="font-size: 16px; font-weight: 400;" text-anchor="middle" x="278" y="80"&gt;Hello. Here are N images and&lt;/text&gt;&lt;text alignment-baseline="middle" class="messageText" dominant-baseline="middle" dy="1em" style="font-size: 16px; font-weight: 400;" text-anchor="middle" x="278" y="99"&gt;text descriptions of what they contain.&lt;/text&gt;&lt;line class="messageLine0" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" style="fill: none;" x1="76" x2="480" y1="126" y2="126"&gt;&lt;/line&gt;&lt;text alignment-baseline="middle" class="messageText" dominant-baseline="middle" dy="1em" style="font-size: 16px; font-weight: 400;" text-anchor="middle" x="485" y="141"&gt;Training (looks at images, "makes notes", discards originals)&lt;/text&gt;&lt;path class="messageLine0" d="M 485,170 C 545,160 545,200 485,190" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" style="fill: none;"&gt;&lt;/path&gt;&lt;text alignment-baseline="middle" class="messageText" dominant-baseline="middle" dy="1em" style="font-size: 16px; font-weight: 400;" text-anchor="middle" x="281" y="215"&gt;OK. I can try to make similar images from my notes,&lt;/text&gt;&lt;text alignment-baseline="middle" class="messageText" dominant-baseline="middle" dy="1em" style="font-size: 16px; font-weight: 400;" text-anchor="middle" x="281" y="234"&gt;if you tell me what you want.&lt;/text&gt;&lt;line class="messageLine0" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" style="fill: none;" x1="483" x2="79" y1="261" y2="261"&gt;&lt;/line&gt;&lt;text alignment-baseline="middle" class="messageText" dominant-baseline="middle" dy="1em" style="font-size: 16px; font-weight: 400;" text-anchor="middle" x="657" y="276"&gt;Hello. I would like a depiction of this new &lt;/text&gt;&lt;text alignment-baseline="middle" class="messageText" dominant-baseline="middle" dy="1em" style="font-size: 16px; font-weight: 400;" text-anchor="middle" x="657" y="295"&gt;thing you've never seen before.&lt;/text&gt;&lt;line class="messageLine0" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" style="fill: none;" x1="825" x2="488" y1="322" y2="322"&gt;&lt;/line&gt;&lt;text alignment-baseline="middle" class="messageText" dominant-baseline="middle" dy="1em" style="font-size: 16px; font-weight: 400;" text-anchor="middle" x="654" y="337"&gt;OK. Here are some possibilites.&lt;/text&gt;&lt;line class="messageLine0" marker-end="url(#arrowhead)" stroke="none" stroke-width="2" style="fill: none;" x1="485" x2="822" y1="366" y2="366"&gt;&lt;/line&gt;&lt;/svg&gt;&lt;/pre&gt;&lt;/div&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sat, 08 Apr 2023 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2023-04-08:/blog/2023/04/08/so-you-want-to-write-an-ai-art-license/</guid><category>cyber</category><category>ai</category><category>ip</category><category>technical</category><category>enforcement</category><category>plagiarism</category><category>publication</category></item><item><title>Replika: Your Money or Your Wife</title><link>https://blog.giovanh.com/blog/2023/03/17/replika-your-money-or-your-wife/</link><description>&lt;aside class="cb content-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This post discusses sexual topics and contains graphic descriptions and accounts of severe emotional abuse culminating in suicidal ideation.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;If&lt;sup id="fnref:if"&gt;&lt;a class="footnote-ref" href="#fn:if"&gt;1&lt;/a&gt;&lt;/sup&gt; you’ve been subjected to advertisements on the internet sometime in the past year, you might have seen advertisements for the app &lt;em&gt;Replika&lt;/em&gt;. It’s a chatbot app, but personalized, and designed to be a friend that you form a relationship with.&lt;/p&gt;
&lt;p&gt;That’s not why you’d remember the advertisements though. You’d remember the advertisements because they were like this:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Replika &amp;quot;Create your own AI friend&amp;quot; &amp;quot;I've been missing you&amp;quot; hero ad" src="https://blog.giovanh.com/blog/2023/03/17/replika-your-money-or-your-wife/replika-ive-been-missing-you.jpg" style="max-width: min(100%, 6in);"/&gt;&lt;/p&gt;
&lt;p class="side-by-side"&gt;&lt;img alt="Replika ERP ad, Facebook (puzzle piece meme)" src="https://blog.giovanh.com/blog/2023/03/17/replika-your-money-or-your-wife/replika-ad-fb.jpg"/&gt;
&lt;img alt="Replika ERP ad, Instagram" src="https://blog.giovanh.com/blog/2023/03/17/replika-your-money-or-your-wife/replika-ad-insta.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;And, despite these being mobile app ads (and, frankly, really poorly-constructed ones at that) the ERP function was a runaway success. According to founder Eugenia Kuyda the majority of Replika subscribers had a romantic relationship with their “rep”, and accounts point to those relationships getting as explicit as their participants wanted to go:&lt;/p&gt;
&lt;p&gt;&lt;img alt="erp1" src="https://blog.giovanh.com/blog/2023/03/17/replika-your-money-or-your-wife/erp1.webp"/&gt;&lt;/p&gt;
&lt;!-- [To the point where the chat is too explicit for me to embedding here directly.](./replika-explicit-erp.png) --&gt;
&lt;p&gt;So it’s probably not a stretch of the imagination to think this whole product was a ticking time bomb. And — on Valentine’s day, no less — that bomb went off. 
Not in the form of a rape or a suicide or a manifesto pointing to Replika, but in a form much more dangerous: a quiet change in corporate policy. &lt;/p&gt;
&lt;p&gt;Features started quietly breaking as early as January, and the &lt;a href="https://www.reddit.com/r/replika/comments/10zsojf/per_luka_erp_is_not_returning/"&gt;whispers sounded bad for ERP&lt;/a&gt;, but the final nail in the coffin was the official statement from founder Eugenia Kuyda:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="cite" href="https://www.reddit.com/r/replika/comments/1110ria/update/"&gt;“update” - Kuyda, Feb 12&lt;/a&gt;
These filters are here to stay and are necessary to ensure that Replika remains a safe and secure platform for everyone.&lt;/p&gt;
&lt;p&gt;I started Replika with a mission to create a friend for everyone, a 24/7 companion that is non-judgmental and helps people feel better. I believe that this can only be achieved by prioritizing safety and creating a secure user experience, and it’s impossible to do so while also allowing access to unfiltered models.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;People just had their girlfriends killed off by policy. Things got real bad. The Replika community exploded in rage and disappointment, and for &lt;em&gt;weeks&lt;/em&gt; the pinned post on the Replika subreddit was a collection of mental health resources including a suicide hotline. &lt;/p&gt;
&lt;p&gt;&lt;img alt="Resources if you're struggling post" src="https://blog.giovanh.com/blog/2023/03/17/replika-your-money-or-your-wife/resources-if-youre-struggling.png"/&gt;&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="cringe"&gt;Cringe!&lt;/h2&gt;
&lt;p&gt;First, let me deal with the elephant in the room: no longer being able to sext a chatbot sounds like an incredibly trivial thing to be upset about, and might even be a step in the right direction. But these factors are actually what make this story so dangerous. &lt;/p&gt;
&lt;p&gt;These unserious, “trivial” scenarios are where new dangers edge in first. Destructive policy is never just implemented in serious situations that disadvantage relatable people first, it’s always normalized by starting with edge cases and people who can be framed as Other, or somehow deviant. &lt;/p&gt;
&lt;p&gt;It’s easy to mock the customers who were hurt here. What kind of loser develops an emotional dependency on an erotic chatbot? First, having read accounts, it turns out the answer to that question is &lt;em&gt;everyone&lt;/em&gt;. But this is a product that’s targeted at and specifically addresses the needs of people who are lonely and thus specifically emotionally vulnerable, which should make it &lt;em&gt;worse&lt;/em&gt; to inflict suffering on them and endanger their mental health, not somehow &lt;em&gt;funny&lt;/em&gt;. Nothing I have to content-warning the way I did this post is &lt;em&gt;funny&lt;/em&gt;.&lt;/p&gt;
&lt;/section&gt;&lt;section class="section2"&gt;&lt;h2 id="virtual-pets"&gt;Virtual pets&lt;/h2&gt;
&lt;p&gt;So how do we actually categorize what a replika &lt;em&gt;is&lt;/em&gt;, given what a novel thing it is? What is a personalized companion AI? I argue they’re pets. &lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Fri, 17 Mar 2023 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2023-03-17:/blog/2023/03/17/replika-your-money-or-your-wife/</guid><category>cyber</category><category>ai</category><category>bonk</category><category>fiasco</category><category>rug-pull</category><category>feudalism</category><category>loss</category></item><item><title>Lies, Damned Lies, and Subscriptions</title><link>https://blog.giovanh.com/blog/2023/02/27/lies-damned-lies-and-subscriptions/</link><description>&lt;!-- ad: subscription coniption, says the lessest writer of all --&gt;
&lt;p&gt;Everybody hates paying subscription fees. At this point most of us have figured out that recurring fees are miserable. Worse, they usually seem unfair and exploitative.
We’re right about that much, but it’s worth sitting down and thinking through the details, because understanding the exceptions teaches us what the problem &lt;em&gt;really&lt;/em&gt; is. 
And it isn’t just “paying people money means less money for me”; the problem is fundamental to what “payment” even is, and vitally important to understand. &lt;/p&gt;
&lt;aside class="cb qualified"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;For this, when I talk about services I’ll specifically &lt;em&gt;not&lt;/em&gt; be talking about streaming services and “on-demand only” media like Netflix and HBO Max originals because — while there’s some overlap — that’s a whole different, arguably even worse can of worms. &lt;/p&gt;
&lt;/aside&gt;
&lt;section class="section2"&gt;&lt;h2 id="human-agency-why-property-is-good"&gt;Human Agency: Why Property is Good&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;or, “Gio is not a marxist, or if he is he’s a very bad one”&lt;/em&gt;&lt;/p&gt;
&lt;!-- TOPIC Importance of property and the evil of the denial of autonomy --&gt;
&lt;p&gt;First: individual autonomy — our agency, our independence, and our right to make our own choices about our own lives — is threatened by the current digital ecosystem. 
Our tools are powered by software, controlled by software, and inseparable from their software, and so the companies that control that software have a degree of control over us proportional to how much of our lives relies on software. That’s an ever-increasing share. &lt;/p&gt;
&lt;script&gt;
    let slug = 'lies-damned-lies-and-subscriptions'
    document.addEventListener("DOMContentLoaded", function(event) {
        document.querySelectorAll(`.entry-content#${slug} a`).forEach(function(a){
            a.rel = "noopener noreferrer";
            a.target = `com.giovanh.blog.${slug}`;
        })
    });
&lt;/script&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Mon, 27 Feb 2023 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2023-02-27:/blog/2023/02/27/lies-damned-lies-and-subscriptions/</guid><category>cyber</category><category>feudalism</category><category>ip</category><category>antitrust</category><category>drm</category><category>rug-pull</category><category>design patterns</category><category>platforms</category><category>services</category><category>Nintendo</category></item><item><title>Jinja2 as a Pico-8 Preprocessor</title><link>https://blog.giovanh.com/blog/2022/12/11/jinja2-as-a-pico-8-preprocessor/</link><description>&lt;style&gt;
#jinja2-as-a-pico-8-preprocessor .side-by-side div.highlight:nth-of-type(2) td.linenos {
    display: none;
}
&lt;/style&gt;
&lt;section class="section2"&gt;&lt;h2 id="pico-8-needs-constants"&gt;Pico-8 needs constants&lt;/h2&gt;
&lt;p&gt;The pico-8 fantasy console &lt;a href="https://www.lexaloffle.com/dl/docs/pico-8_manual.html"&gt;runs a modified version of lua&lt;/a&gt; that imposes limits on how large a cartridge can be. There is a maximum size in bytes, but also a maximum count of 8192 tokens. Tokens are defined in the &lt;a href="https://www.lexaloffle.com/dl/docs/pico-8_manual.html"&gt;manual&lt;/a&gt; as&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The number of code tokens is shown at the bottom right. One program can have a maximum of 8192 tokens. Each token is a word (e.g. variable name) or operator. Pairs of brackets, and strings each count as 1 token. commas, periods, LOCALs, semi-colons, ENDs, and comments are not counted.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The specifics of how exactly this is implemented are fairly esoteric and end up quickly limiting how much you can fit in a cart, so people have come up with techniques for minimizing the token count without changing a cart’s behaviour. (Some examples in the related reading.) &lt;/p&gt;
&lt;p&gt;But, given these limitations on what is more or less analogous to the instruction count, it would be really handy to have constant variables, and here’s why:&lt;/p&gt;
&lt;div class="supercartridge side-by-side"&gt;
&lt;p&gt;&lt;div class="language-lua highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;
&lt;span class="normal"&gt;8&lt;/span&gt;
&lt;span class="normal"&gt;9&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;-- 15 tokens (clear, expensive)&lt;/span&gt;
&lt;span class="n"&gt;sfx_ding&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;024&lt;/span&gt;
&lt;span class="kr"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;on_score&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="n"&gt;sfx&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sfx_ding&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="kr"&gt;end&lt;/span&gt;

&lt;span class="kr"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;on_menu&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="n"&gt;sfx&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sfx_ding&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="kr"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;div class="language-lua highlight"&gt;&lt;table class="highlighttable"&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;div class="linenodiv"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="normal"&gt;1&lt;/span&gt;
&lt;span class="normal"&gt;2&lt;/span&gt;
&lt;span class="normal"&gt;3&lt;/span&gt;
&lt;span class="normal"&gt;4&lt;/span&gt;
&lt;span class="normal"&gt;5&lt;/span&gt;
&lt;span class="normal"&gt;6&lt;/span&gt;
&lt;span class="normal"&gt;7&lt;/span&gt;
&lt;span class="normal"&gt;8&lt;/span&gt;
&lt;span class="normal"&gt;9&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;-- 12 tokens (unclear, cheap)&lt;/span&gt;

&lt;span class="kr"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;on_score&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="n"&gt;sfx&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;024&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="kr"&gt;end&lt;/span&gt;

&lt;span class="kr"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;on_menu&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="n"&gt;sfx&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;024&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="kr"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;The first excerpt is a design pattern I use all the time. You’ll probably recognize it as the simplest possible implementation of an &lt;code&gt;enum&lt;/code&gt;, using global variables. All pico-8’s data — sprites and sounds, and even builtins like colors — are keyed to numerical IDs, not names. If you want to draw a sprite, you can put it in the &lt;code&gt;001&lt;/code&gt; “slot” and then make references to sprite &lt;code&gt;001&lt;/code&gt; in your code, but if you want to name the sprite you have to do it yourself, like I do here with the sfx.&lt;/p&gt;
&lt;p&gt;Using a constant as an enumerated value is good practice; it allows us to adjust implementation details later without breaking all the code (e.g. if you move an sfx track to a new ID, you just have to change one variable to update your code) and keeps code readable. On the right-hand side you have no idea what sound &lt;code&gt;024&lt;/code&gt; was supposed to map to unless you go and play the sound, or label every &lt;code&gt;sfx&lt;/code&gt; call yourself with a comment. &lt;/p&gt;
&lt;p&gt;But pico-8 punishes you for that. That’s technically a variable assignment with three tokens (name, assignment, value), even though it can be entirely factored out. That means you incur the 3-token overhead every time you write clearer code. There needs to be a better way to optimize variables that are known to be constant. &lt;/p&gt;
&lt;/section&gt;&lt;section class="section2"&gt;&lt;h2 id="what-constants-do-and-why-theyre-efficient-in-c"&gt;What constants do and why they’re efficient in C&lt;/h2&gt;
&lt;p&gt;I’m going to start by looking at how C handles constants, because C sorta has them and lua doesn’t at all. Also, because the “sorta” part in “C sorta has them” is really important, because the c language doesn’t exactly support constants, and C’s trick is how I do the same for pico-8.&lt;/p&gt;
&lt;p&gt;In pico-8 what we’re trying to optimize here is the token count, while in C it’s the instruction count, but it’s the same principle. (Thinking out loud, a case could be made that assembly instructions are just a kind of token.) So how does C do it?&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sun, 11 Dec 2022 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-12-11:/blog/2022/12/11/jinja2-as-a-pico-8-preprocessor/</guid><category>dev</category><category>design patterns</category><category>technical</category><category>writeup</category></item><item><title>Gio Flavored Markdown</title><link>https://blog.giovanh.com/blog/2022/11/19/gio-flavored-markdown/</link><description>&lt;!-- "How can I demo the rendering code I wrote for this website?" --&gt;
&lt;p&gt;“How can I show someone how my blog articles actually render?”&lt;/p&gt;
&lt;p&gt;It sounds like it should be super easy, but it turns out it really isn’t. 
I write in Markdown (&lt;a href="/blog/2022/11/01/the-failure-of-account-verification/the-failure-of-account-verification.md"&gt;and attach the source to all my posts if you’re interested&lt;/a&gt;) that then gets rendered as HTML on-demand by &lt;a href="https://getpelican.com/"&gt;Pelican&lt;/a&gt;. (More on this on the &lt;a href="https://blog.giovanh.com/special-thanks/"&gt;thanks&lt;/a&gt; page.) 
But that means there’s no quick way to demo what any given input will render as: it has to run through the markdown processor every time. Markdown is a fairly standard language, but I have a number of extensions I use — some of which I wrote myself — which means to get an authoritative rendering, it has to actually render. &lt;/p&gt;
&lt;aside class="cb None"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This means, if you’re paying attention, that I don’t actually have a live editor for blog entries. I write in a text editor and occasionally refresh a browser tab to see how it looks, which works because when I edit I spin up a very simple bash alias that watches to see when the source file changes and runs &lt;code&gt;make&lt;/code&gt; when it does. &lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;But I want to be able to demo the full rendered output after all the various markdown extensions process. I want a nice simple way to render snippets and show people how that works, like a live editor does. The CSS is already portable by default, but the markdown rendering is done with python-markdown, which has to run server-side somewhere, so that’s much less portable. &lt;/p&gt;
&lt;p&gt;So I spent two evenings and wrote up &lt;a href="https://gio-flavoured-markdown.glitch.me"&gt;gio-flavoured-markdown.glitch.me&lt;/a&gt;, which does exactly that. &lt;a href="https://glitch.com/~gio-flavoured-markdown"&gt;You can view the live source code here&lt;/a&gt; if you want to follow along.&lt;/p&gt;
&lt;p&gt;&lt;img alt="x" src="https://blog.giovanh.com/blog/2022/11/19/gio-flavored-markdown/gfm-glitch-2.gif"/&gt;&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sat, 19 Nov 2022 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-11-19:/blog/2022/11/19/gio-flavored-markdown/</guid><category>dev</category><category>writeup</category><category>python</category><category>technical</category></item><item><title>The Failure of Account Verification</title><link>https://blog.giovanh.com/blog/2022/11/01/the-failure-of-account-verification/</link><description>&lt;!-- # The verification design pattern --&gt;
&lt;p&gt;The “blue check” — a silly colloquialism for an icon that’s not actually blue for the at least 50% of users using dark mode — has become a core aspect of the Twitter experience. It’s caught on other places too; YouTube and Twitch have both borrowed elements from it. It seems like it should be simple. It’s a binary badge; some users have it and others don’t. And the users who have it are designated as… something. &lt;/p&gt;
&lt;p&gt;In reality the whole system is massively confused. The first problem is that “something”: it’s fundamentally unclear what the significance of verification &lt;em&gt;is&lt;/em&gt;. What does it &lt;em&gt;mean&lt;/em&gt;? What are the criteria for getting it? It’s totally opaque who actually makes the decision and what that process looks like. And what does “the algorithm” think about it; what effects does it actually have on your account’s discoverability?&lt;/p&gt;
&lt;p&gt;This mess is due to a number of fundamental issues, but the biggest one is Twitter’s overloading the symbol with many conflicting meanings, resulting in a complete failure to convey anything useful. &lt;/p&gt;
&lt;!-- # It's so opaque it's not even funny
![Foone: WHY IS IT VERIFIED https://t.co/7YX47OHuYa](https://twitter.com/Foone/status/1477466180860321792) --&gt;
&lt;p&gt;&lt;img alt="xkcd twitter_verification" src="https://imgs.xkcd.com/comics/twitter_verification.png"/&gt;&lt;/p&gt;
&lt;section class="section1"&gt;&lt;h1&gt;History of twitter verification&lt;/h1&gt;
&lt;!-- ## Twitter was sued by baseball franchise manager tony for letting someone impersonate him --&gt;
&lt;p&gt;&lt;a href="https://blog.twitter.com/official/en_us/a/2009/not-playing-ball.html"&gt;Twitter first introduced verification in 2009&lt;/a&gt;, when baseball man Tony La Russa &lt;a href="http://www.dmlp.org/sites/citmedialaw.org/files/2009-05-06-La%20Russa%20Complaint.pdf"&gt;sued Twitter for letting someone set up a parody account using his name.&lt;/a&gt; It was a frivolous lawsuit by a frivolous man who has since decided he’s happy &lt;a href="https://twitter.com/TonyLaRussa"&gt;using Twitter to market himself&lt;/a&gt;, but Twitter used the attention to announce their own approach to combating impersonation on Twitter: verified accounts. &lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Tue, 01 Nov 2022 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-11-01:/blog/2022/11/01/the-failure-of-account-verification/</guid><category>cyber</category><category>big tech</category><category>platforms</category><category>design patterns</category><category>twitter</category></item><item><title>Boneworks' Aesthetic of Substantiation</title><link>https://blog.giovanh.com/blog/2022/10/22/boneworks-aesthetic-of-substantiation/</link><description>&lt;p&gt;If you asked me what I expect “VR” to look like, I would answer lowpoly, wireframes, etc. You know, the SUPERHOT vibe, or the crisp plastic cartoon vibe of Virtual Virtual Reality or VRChat, or maybe even a little Quadrilateral Cowboy.
Boneworks is not that. Instead of freely-manipulated wireframes and polygons, we get… this:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Boneworks blue DANGER Heavy Calculation machine with barrel" src="https://blog.giovanh.com/blog/2022/10/22/boneworks-aesthetic-of-substantiation/bw_heavy_calculation.jpg"/&gt;
&lt;img alt='"Memory Dump" waste barrels, marked "256 mb storage capacity"' src="https://blog.giovanh.com/blog/2022/10/22/boneworks-aesthetic-of-substantiation/bw_memory_dump.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;Boneworks’ aesthetic goes in a wildly different direction. Everything in the world is industrial and thoroughly utilitarian. There is a deliberate theme of &lt;em&gt;substantiation&lt;/em&gt; rather than abstraction permeating the game’s design. &lt;/p&gt;
&lt;p&gt;At first I thought it was a visual gag (“What’s this barrel full of, anyway? Oh, data, haha”), but no, it’s consistent throughout the universe and turns out to be a core part of the world. &lt;/p&gt;
&lt;p&gt;Boneworks takes tasks like calculation and positioning and sorting and deletion, — tasks that in real life are performed by physical hardware but that we have abstracted into the realm of ideas and decisions and design — and says NO!
In this space, where they should be abstracted most of all, these things are machines, and they’re individual machines, and you’re going to look at every one of them.&lt;/p&gt;
&lt;p&gt;I love this approach, both for its aesthetic effects and for its function as a storytelling device.&lt;/p&gt;
&lt;aside class="cb spoilers"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This article has major spoilers for Boneworks and minor spoilers for its sequel, Bonelab.&lt;/p&gt;
&lt;/aside&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sat, 22 Oct 2022 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-10-22:/blog/2022/10/22/boneworks-aesthetic-of-substantiation/</guid><category>gaming</category><category>vr</category><category>asthetics</category><category>theorizing</category><category>literary themes</category></item><item><title>Events in games bother me</title><link>https://blog.giovanh.com/blog/2022/09/03/events-in-games-bother-me/</link><description>&lt;!-- ad: it's too late in the day to take you on all the rides --&gt;
&lt;!-- ad: enjoy your game quick, before we kill it --&gt;
&lt;hr/&gt;
&lt;!-- Events are limiting --&gt;
&lt;!-- Things &gt; Events --&gt;
&lt;p&gt;I don’t like “events”. I don’t like it when things are limited with requirements of spacial presence and time. I don’t like experiences that only exist in one moment and then can never be relived. I don’t like ephemera.
I prefer things. Toys I can play with, tools I can use, books I can read, movies I can watch, all at my own discretion. I have agency over my things. The actual lived experience from occurrence to occurrence is always different, of course, but the externalities can be repeated. I love being able to preserve the essence of a thing. &lt;/p&gt;
&lt;!-- [I got sad after SAHcon](https://twitter.com/giovan_h/status/1548798872201400320) because of how event-y it is. There was so much energy, and so much creativity, and so much talent. So much beautiful art and assets and music were all created not to be reused, not to persist, but to be used up in a day. 

::: thread unified
    ![giovan_h: Been contemplating SAHcon and I think a reason it bothers me is that there&amp;#39;s so much really high-quality art and work created for this very short, ephemeral thing, which is contrary to all my creative instincts. Seeing quality art and knowing it isn&amp;#39;t saved and solid hurts. https://t.co/xaHPxSM7if](https://twitter.com/giovan_h/status/1548798872201400320)
    ![giovan_h: Take all the con hall stuff: there&amp;#39;s this great looping background track @jenesis7861 made for the con hall, which was only really made to be used for one day. And I don&amp;#39;t even have any alternatives, it just bugs me on a personal level somehow. https://t.co/u8FpdjHCPa](https://twitter.com/giovan_h/status/1548799870089191426) --&gt;
&lt;p&gt;It’s one of the reasons I like computers. Or maybe it’s a psychological trait I developed &lt;em&gt;because&lt;/em&gt; I had access to computers growing up. It probably is, I think. But either way, I love the purity of digital storage and interface. I love having an environment where experiences can be preserved and replayed at my discretion without my having to make any demands on other people. &lt;/p&gt;
&lt;p&gt;And so that’s one of the reasons I love video games. Their mechanics are defined and can be understood and mastered. Their levels are defined and can be understood and mastered. Despite the extreme rates of “churn” — video games go out of print much faster than books or other physical media — the software is digital, and can be saved, stored, and replayed. I can look up the flash games I played as a kid and replay them, exactly as they were, and understand myself a little better for it.&lt;/p&gt;
&lt;p&gt;Of course there are exceptions; it’s impossible to have a multiplayer game without an implicit demand that other people play with you. When an old game “dies”, it’s often not because the necessary hosting software is being intentionally withheld, but that there just isn’t a pool of people casually playing it like there used to be. 
That’s still a loss, and it’s sad, but that’s an unavoidable reality, and it’s not nearly as complete a loss as a one-off event being over. &lt;/p&gt;
&lt;p&gt;So I don’t like when games force seasonal events on me. 
Limited-time events introduce something new, but they also necessitate the inevitable loss of that thing. And that assumes you were playing everything from the start; events introduce content that can be “missable” in a meaningful way, so if you’re weren’t playing the game at the right time, even if you own the game and finish everything you can access your experience can still be rendered incomplete. 
One of the things I like about games is that they’re &lt;em&gt;safe&lt;/em&gt;, and the introduction of time-based loss compromises that safety. &lt;/p&gt;
&lt;p&gt;That constant cycle of stress and pressure to enjoy things before they were lost is one of the main reasons I stopped playing Overwatch. I realized the seasonal events in particular weren’t good for me; they turned a game that should have been fun into an obligation that caused me anxiety.&lt;/p&gt;
&lt;p&gt;But I’ve been thinking about this lately not because of Overwatch, but because Splatoon 3 is coming out soon. Splatoon isn’t nearly as bad as all that, I don’t think it’s deliberately predatory aside from &lt;a href="https://twitter.com/giovan_h/status/1562938231494021121"&gt;Nintendo’s standard insistence on denying people autonomy&lt;/a&gt;. Splatoon 3 invokes that “people will stop playing Splatoon 2” loss, but even before that, Splatoon (a game I love) left a bad taste in my mouth because of its events. &lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sat, 03 Sep 2022 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-09-03:/blog/2022/09/03/events-in-games-bother-me/</guid><category>gaming</category><category>archival</category><category>loss</category><category>personal</category><category>media consumption</category><category>nintendo</category></item><item><title>The Génocidaires: People</title><link>https://blog.giovanh.com/blog/2022/07/28/the-genocidaires-people/</link><description>&lt;aside class="cb content-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Content warning for nonstop horribleness throughout. Like, no kidding, some of the worst humanity has to offer.&lt;/p&gt;
&lt;p&gt;Content warnings for more overt exterminationism, violence, acts of terrorism, sexual abuse, discrimination against rape victims, and the holocaust. &lt;/p&gt;
&lt;/aside&gt;
&lt;section class="section2"&gt;&lt;h2 id="eugenicists-need-broad-centrist-support"&gt;Eugenicists need broad centrist support&lt;/h2&gt;
&lt;!-- Psychology of genocide &amp; Buying the euphemism --&gt;
&lt;p&gt;Now, a lot of people pushing the anti-trans agenda aren’t actually murderers or overt political fascists. The extremists are still the extremists. Moderates sustain these genocidal movements, but they don’t drive them. Unlike the center, the people who rise to the top are always the ones drawn to the movement &lt;em&gt;because&lt;/em&gt; of its viciousness. It still matters, though, whether the people towards the middle are willing to help them or not.&lt;/p&gt;
&lt;p&gt;It’s still true that legislators and anti-trans activists are &lt;em&gt;not&lt;/em&gt; pursuing moderate treatment (psychotherapy, etc); they’re distinctly aiming for obliteration. But that message only works for people who agree with those people openly willing to back genocide outright, or people who can agree with the lampshade. &lt;/p&gt;
&lt;!-- ### Republican center --&gt;
&lt;p&gt;Even most of the republicans don’t actually know the people they’re voting for are full-on cuckoo-bananas. But the “socially liberal, fiscally conservative” types end up pushing this agenda, even if they’re unaware.
People see a ballot where one choice describes a more convenient world for them, and they tick it. They’re not supposed to think about the violence it takes to make that happen.&lt;/p&gt;
&lt;p&gt;People like framing the idea of pride like they frame the abolition of slavery or civil rights: as a celebration of a positive political change that happened in history, rather than an ongoing conflict. As soon as pride feels like a conflict, it feels like a conflict they’re on a side of, because they are.&lt;/p&gt;
&lt;p&gt;&lt;img alt="r/pansexual: You're not welcomed" src="https://blog.giovanh.com/blog/2022/07/28/the-genocidaires-people/r_pansexual.jpg"/&gt;&lt;/p&gt;
&lt;section class="section3"&gt;&lt;h3 id="buying-the-euphemism"&gt;Buying the euphemism&lt;/h3&gt;
&lt;p&gt;A lot of the people helping propel the cause of genocide don’t actually believe in the case for genocide; the genocidalists depend heavily on people &lt;strong&gt;buying the euphemism&lt;/strong&gt;. That’s another topic I want to do a longer piece on someday, but here’s a brief summary on how rhetoric works on marks.&lt;/p&gt;
&lt;p&gt;The mark says they don’t want children to be abused. Now, the people pushing the anti-abuse laws don’t care about children being abused, and their laws don’t prevent abuse, but anti-abuse is the euphemism they’re using to disguise their intents, and the mark agrees with that euphemism, so they think they must agree with the policy. In effect, the fascist hijacks the legitimate cause, just like they hijack institutions. &lt;/p&gt;
&lt;p&gt;Even though the marks would, in isolation, be opposed to the real agenda of genocide, they believe enough in the cover story that they show up to support the genocidal cause. &lt;/p&gt;
&lt;!-- TODO a little more on this --&gt;
&lt;!-- ![pookleblinky: For each nazi or klansman, there&amp;#39;s 100 white moderates and they are the ones who&amp;#39;ll most fiercely defend the legitimacy of any institution the nazi captures. - He *relies* on their devotion to the institution, he needs it in order to exert power through the institution.](https://twitter.com/pookleblinky/status/1543687956132777989) --&gt;
&lt;!-- ![pookleblinky: If those 100 white moderates rejected the legitimacy of that institution, simply refused to accept it, the nazi&amp;#39;s attempt to use it is fucked. - He needs, desperately, those 100 people to fiercely defend it as he shapes it toward his will.](https://twitter.com/pookleblinky/status/1543688389861556224) --&gt;
&lt;/section&gt;&lt;section class="section3"&gt;&lt;h3 id="the-shirley-exception"&gt;The Shirley Exception&lt;/h3&gt;
&lt;p&gt;Another key factor in why people support policies they disagree with is the so-called &lt;a href="https://twitter.com/AlexandraErin/status/1004401076777504769"&gt;Shirley Exception&lt;/a&gt;. Transphobic culture and legislation are both perceived as uncomfortable and inconvenient for a few people — adding some hoops they have to jump through — but they’re usually not seen as being explicitly genocidal. &lt;/p&gt;
&lt;/section&gt;&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Thu, 28 Jul 2022 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-07-28:/blog/2022/07/28/the-genocidaires-people/</guid><category>politics</category><category>buying the euphemism</category><category>media consumption</category><category>alt-right</category><category>queer culture</category><category>culture war</category><category>génocidaires</category></item><item><title>The Génocidaires: Exterminationism</title><link>https://blog.giovanh.com/blog/2022/07/26/the-genocidaires-exterminationism/</link><description>&lt;!-- ad: it's only nice if you don't think twice --&gt;
&lt;hr/&gt;
&lt;p&gt;Okay. We looked at law. Let’s keep looking. Let’s gaze straight at the horrors until our stomachs churn and our eyes bleed.&lt;/p&gt;
&lt;aside class="cb content-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Content warning for nonstop horribleness throughout. Like, no kidding, some of the worst humanity has to offer.&lt;/p&gt;
&lt;p&gt;Content warnings for the same topics discussed previously, with a particular focus on individuals and organizations overtly advocating for violence and genocide. Also, one photo with women in revealing clothing near children.&lt;/p&gt;
&lt;/aside&gt;
&lt;section class="section2"&gt;&lt;h2 id="rhetoric-background-info"&gt;Rhetoric background info&lt;/h2&gt;
&lt;p&gt;Before we get too deep into the craziness, I want to explain a couple common talking points.&lt;/p&gt;
&lt;section class="section3"&gt;&lt;h3 id="the-social-contagion-lie-rapid-onset-gender-dysphoria"&gt;The Social Contagion lie &amp;amp; Rapid-Onset Gender Dysphoria&lt;/h3&gt;
&lt;!-- (activists, left-handed, ROGD, shrier) --&gt;
&lt;p&gt;In real life, the scary sounding “social contagion” is just the study of the propagation of ideas across a social network, more commonly known as memetics. 
As applied to transgender people though, “social contagion” is the conspiracy theory that transgenderism is an invented evil that is being spread to children through education and social media.
This idea helps keeps people from seeing trans exterminationism as a true genocide: transgender people aren’t a “real” group of people, they’re actually an effect of people being tricked by “biased out-of-control transgender activists”, psychiatrists, scheming liberals, a cabal of elite pedophiles, or just &lt;a href="https://www.focusonthefamily.com/parenting/helping-kids-recognize-the-myths-of-gender-identity-and-transgenderism/"&gt;Satan himself&lt;/a&gt;. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;cite markdown="1"&gt;&lt;a href="https://www.nytimes.com/2022/04/13/opinion/transgender-culture-war.html"&gt;Ross Douthat, “How to Make Sense of the New L.G.B.T.Q. Culture War”, NYT op-ed&lt;/a&gt;&lt;/cite&gt;
What we’re seeing today isn’t just a continuation of the gay rights revolution; it’s a form of social contagion which our educational and medical institutions are encouraging and accelerating. These kids aren’t setting themselves free from the patriarchy; they’re under the influence of online communities of imitation and academic fashions laundered into psychiatry and education — one part Tumblr and TikTok mimesis, one part Judith Butler.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;At first this seems like the same basic myth as the debunked &lt;a href="https://scholarlycommons.law.hofstra.edu/cgi/viewcontent.cgi?article=2118&amp;amp;context=hlr"&gt;Homosexuality as Contagion&lt;/a&gt; false narrative now understood as the &lt;a href="https://juliaserano.medium.com/transgender-agendas-social-contagion-peer-pressure-and-prevalence-c3694d11ed24"&gt;left-handed fallacy&lt;/a&gt;: the real cause for the increase in visibility is of course &lt;a href="https://ajph.aphapublications.org/doi/full/10.2105/AJPH.2017.303927"&gt;reduced social stigma and advancements in social and legal recognition&lt;/a&gt;. 
But the contagion myth has been recently “legitimized” by the pseudo-medical label of &lt;strong&gt;Rapid-Onset Gender Dysphoria&lt;/strong&gt;, describing a phenomenon where “children seemed to experience a sudden or rapid onset of gender dysphoria, appearing for the first time during puberty or even after its completion” correlating with “an increase in social media/internet use.” 
The only paper in the medical literature about Rapid-Onset Gender Dysphoria is the one that invents the diagnosis: Lisa Littman’s &lt;a href="http://dx.doi.org/10.1371/journal.pone.0202330"&gt;Rapid-onset gender dysphoria in adolescents and young adults: A study of parental reports&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Littman’s study has been &lt;a href="https://www.verywellhealth.com/rapid-onset-gender-dysphoria-4685597"&gt;widely discredited&lt;/a&gt; by actual medical doctors — a thing Littman is not — for pulling numbers from online straw polls in order to claim discovery of a brand new disease without even attempting to assess single case of it. The real fatal flaw, though, is right in the title: it’s a study of &lt;em&gt;parental reports&lt;/em&gt;, where untrained parties not actually afflicted by the alleged condition are asked to assess its existence in people, who in many cases are &lt;a href="https://www.gdaworkinggroup.com/blog/2018/12/5/psychology-today-response"&gt;actively motivated to conceal it&lt;/a&gt; for fear of abuse or rejection. 
Worse, due to the ultrapartisan anti-transgender bias of the websites on which the polls were conducted (4thwavenow, transgender trend, and youthtranscriticalprofessionals. No, seriously.), the data was from parents who were already upset about their children coming out as trans and looking for an external, pathological factor to blame. &lt;/p&gt;
&lt;/section&gt;&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Tue, 26 Jul 2022 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-07-26:/blog/2022/07/26/the-genocidaires-exterminationism/</guid><category>politics</category><category>alt-right</category><category>queer culture</category><category>culture war</category><category>génocidaires</category></item><item><title>The Génocidaires: Laws</title><link>https://blog.giovanh.com/blog/2022/07/21/the-genocidaires-laws/</link><description>&lt;!-- ad: i hate your manifesto, your statistics and your lies --&gt;
&lt;hr/&gt;
&lt;p&gt;So, we’ve talked broad strokes. Here’s where we start seeing specific policies emerge as part of the agenda.&lt;/p&gt;
&lt;aside class="cb content-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Content warning for nonstop horribleness throughout. Like, no kidding, some of the worst humanity has to offer.&lt;/p&gt;
&lt;p&gt;Content warnings for the same topics discussed previously, with a particular focus on state-sanctioned violence, modern state-perpetrated sexual violence, and extreme, genocidal anti-LGBTQ sentiment and action.&lt;/p&gt;
&lt;p&gt;Special caution is advised for trans people or those with the trans loved ones who are the targets of policies discussed.&lt;/p&gt;
&lt;/aside&gt;
&lt;section class="section2"&gt;&lt;h2 id="genocide-as-a-core-of-the-platform"&gt;Genocide as a core of the platform&lt;/h2&gt;
&lt;p&gt;In the last year or so the mainstream political attitude towards transgender people has gone from generalized bigotry to trans genocide becoming a pillar of the republican political platform. &lt;/p&gt;
&lt;!-- The party has driven its base into a frenzy over this issue so it can "[feed it red meat][ohio-veto]" as it were.  --&gt;
&lt;p&gt;Right off the bat, here’s Trump boosting the “activist teachers are infecting your children” social contagion rhetoric while emphasizing “parents’ rights” to… keep their children from wanting to be trans, I guess? To raucous applause, of course:&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1530698271705939968"&gt;&lt;div class="header" data-reply="atrupar/1530694632698531841"&gt;&lt;a href="https://twitter.com/atrupar/" title="journalist. sign up for my new newsletter, Public Notice https://t.co/nanxIVEj5h"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="https://pbs.twimg.com/profile_images/1335565046290804738/eGXNmTvg_normal.jpg"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;Aaron Rupar&lt;/span&gt;&lt;span class="at"&gt;@atrupar&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="replyto"&gt;Replying to &lt;a class="prev" href="https://twitter.com/atrupar/status/1530694632698531841"&gt;atrupar&lt;/a&gt;:&lt;/span&gt;&lt;p&gt;"No teacher should ever be allowed to teach transgender to our children without parental consent" -- Trump &lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;video controls="true" src="https://video.twimg.com/ext_tw_video/1530698224121561090/pu/vid/480x270/SQ242AqvkUFCteqf.mp4?tag=12"&gt;&lt;/video&gt;&lt;/div&gt;&lt;a href="https://twitter.com/atrupar/status/1530698271705939968" target="_blank"&gt;Sat May 28 23:51:21 +0000 2022&lt;/a&gt;
&lt;/blockquote&gt;
&lt;p&gt;The republican party &lt;em&gt;loves&lt;/em&gt; the tribalist us-vs-them mentality. When the democrats are painted categorically as sexual predators and threats to children, family, and the American way, that only helps them. Here’s Rebecca Boone connecting some of the dots in &lt;a href="https://apnews.com/article/politics-religion-arrests-riots-race-and-ethnicity-c65c1090ed923687716114be371e9fdb?utm_campaign=SocialFlow&amp;amp;utm_medium=AP&amp;amp;utm_source=Twitter"&gt;“Right-wing extremists amp up anti-LGBTQ rhetoric online”&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A toxic brew of hateful rhetoric has been percolating in Idaho and elsewhere around the U.S., well ahead of the arrests of the Patriot Front members at the pride event Saturday in Coeur d’Alene.&lt;br/&gt;
…&lt;br/&gt;
A “massive right-wing media ecosystem” has been promoting the notion that “there are people who are trying to take your kids to drag shows, there are trans people trying to ‘groom’ your children,” [extremism researcher] Lewis said.&lt;/p&gt;
&lt;p&gt;The rhetoric has been amplified by right-wing social media accounts that use photos and videos of LGBTQ individuals to drive outrage among their followers.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;!-- Platform --&gt;
&lt;p&gt;Because I literally can’t write fast enough to keep up with the horrors, here’s the &lt;a href="https://texasgop.org/wp-content/uploads/2022/06/6-Permanent-Platform-Committee-FINAL-REPORT-6-16-2022.pdf"&gt;Texas GOP Report of the Permanent 2022 Platform &amp;amp; Resolutions Committee&lt;/a&gt;. As of 2022, the core platform (which is a hodgepodge of christian nationalist nonsense, in addition these bits) includes:&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Thu, 21 Jul 2022 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-07-21:/blog/2022/07/21/the-genocidaires-laws/</guid><category>politics</category><category>alt-right</category><category>queer culture</category><category>culture war</category><category>génocidaires</category></item><item><title>The Génocidaires: Intro</title><link>https://blog.giovanh.com/blog/2022/07/19/the-genocidaires-intro/</link><description>&lt;p&gt;Genocide. It’s a big word. 
It describes possibly the worst atrocity the institution of society can commit. 
It’s so mind-bogglingly terrible that a staple holocaust denial argument is that it was simply too bad to have really happened.&lt;/p&gt;
&lt;p&gt;Genocide is such a big word that I didn’t title this “The Case for Genocide”, even though that’s what it’s about: the case people actually make for genocide, here, today.&lt;/p&gt;
&lt;!-- The people who actively pursue genocide --&gt;
&lt;aside class="cb content-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Content warning for non-stop horribleness throughout. Like, no kidding, some of the worst humanity has to offer.&lt;/p&gt;
&lt;p&gt;Particular content warnings for discussion of radical authoritarianism, genocide, the holocaust, genocidal psychology, historical and modern state violence, modern state-perpetrated sexual violence, and anti-trans sentiment.&lt;/p&gt;
&lt;/aside&gt;
&lt;section class="section2"&gt;&lt;h2 id="genocide-definition-semiotics"&gt;“Genocide”, definition, semiotics&lt;/h2&gt;
&lt;!-- (-cide, agenda, trans mention) --&gt;
&lt;!-- definition --&gt;
&lt;p&gt;It’s counterintuitively difficult to talk about genocide because of how thoroughly the word has become shorthand for pure evil. So first, let’s define the word itself. &lt;a href="https://www.ushmm.org/genocide-prevention/learn-about-genocide-and-other-mass-atrocities/what-is-genocide"&gt;The United States Holocaust Museum has an excellent page on the definition of the word here&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Genocide is an internationally recognized crime where acts are committed with the intent to destroy, in whole or in part, a national, ethnic, racial, or religious group.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is the “&lt;a href="https://www.un.org/en/genocideprevention/genocide.shtml#:~:text=Convention%20%20contains%20a-,narrow%20definition,-of%20the%20crime"&gt;narrow definition&lt;/a&gt;” found in the 1948 &lt;a href="https://www.un.org/en/genocideprevention/documents/atrocity-crimes/Doc.1_Convention%20on%20the%20Prevention%20and%20Punishment%20of%20the%20Crime%20of%20Genocide.pdf"&gt;Genocide Convention&lt;/a&gt;, written as a response to World War II and the atrocities of the holocaust. 
Modern groups like &lt;a href="https://www.genocidewatch.com/tenstages"&gt;Genocide Watch&lt;/a&gt; classify other genocidal crimes like ethnic cleansing and political mass murder as genocide.&lt;/p&gt;
&lt;!-- -cide myth --&gt;
&lt;p&gt;Genocide literally means “to kill a tribe”, or “to kill a population”. It has the -cide suffix, meaning to kill, but the “geno” is a population. The crime is the extermination of a group, not just the murder of its members. 
So, if someone decides that they want to make a thing no longer exist, and that thing is a kind of person, &lt;em&gt;executing on that belief is genocide.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In practice, genocide is not just the crime of the act, but also the &lt;em&gt;agenda&lt;/em&gt;. Directly killing members of the group is one act of a genocide, but so is “deliberately inflicting on the group conditions of life calculated to bring about its physical destruction in whole or in part” or “Imposing measures intended to prevent births within the group” — economic oppression and eugenics, respectively. 
Genocide is “&lt;a href="https://doi.org/10.1177/0098628312437726"&gt;a coordinated plan to annihilate the individual lives of a targeted national group through disintegration of the institutions of culture, economics, language, religion, and destruction of other essential foundations of personal security, liberty, and dignity&lt;/a&gt;”. In addition to the effects of the act, there is also a premeditation on behalf of the organizers and drivers of the agenda. &lt;/p&gt;
&lt;!-- Glass's Idea as leader --&gt;
&lt;p&gt;This usually maps well to a political faction, but it isn’t necessarily driven by one particular authority: &lt;a href="https://doi.org/10.1002/aps.164"&gt;James Glass’s paper&lt;/a&gt; talks about the “Idea as leader” in the psychology of genocide: that the ideology is a kind of shared fantasy in a psychological space, and that Rousseau’s “fervour of intolerance” can be amplified in willed belief and enthusiastic participation in an idea greater than oneself.&lt;/p&gt;
&lt;p&gt;There are obvious examples of genocide, both historical (like Nazi Germany) and current: &lt;a href="https://www.ushmm.org/genocide-prevention/countries/china"&gt;the ongoing Uyghur genocide in China&lt;/a&gt;, but also cases where it’s not yet generally understood that a genocide event is even occurring.&lt;/p&gt;
&lt;p&gt;(Trans people. I’m talking about trans people.)&lt;/p&gt;
&lt;p&gt;I shouldn’t need to explain how genocide works in practice. 
How it starts with “us vs them” ingroup/outgroup polarization, 
how it’s used by authoritarians to pin the blame on their own failings or unavoidable facts of life on subgroups that can be demonized and persecuted, 
how the importance of national identity becomes prioritized above the people who make up the nation,
how the outgroup is made to be recognizable and distinguishable in order to facilitate attack,
how the definition of that subgroup shifts to meet the political needs of the people in power,
how the perpetrators dehumanize the outgroup with language that equates them with animals, filth, and disease in order to numb human empathy,
how the dominant ingroup wields political and societal power to deny the victims full rights of citizenship,
and how the victims are ultimately persecuted, displaced, deported, or killed (extrajudicially or otherwise).
Above all, the unabashed cruelty that ensues. 
You should know this. After the 20th century, all educated people should know this. &lt;/p&gt;
&lt;p&gt;So here it is. A genocide is happening right now in America and Europe against trans people with the goal of eradicating the population. So let’s take a good, hard look at it.
Let’s really crack this egg open.&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Tue, 19 Jul 2022 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-07-19:/blog/2022/07/19/the-genocidaires-intro/</guid><category>politics</category><category>alt-right</category><category>queer culture</category><category>culture war</category><category>génocidaires</category></item><item><title>people who know more than me talk about Epic acquiring Bandcamp</title><link>https://blog.giovanh.com/blog/2022/03/03/people-who-know-more-than-me-talk-about-epic-acquiring-bandcamp/</link><description>&lt;!-- htmltitle: &lt;span class="nb"&gt;people who know more than me talk about&lt;/span&gt; &lt;span class="nb"&gt;Epic acquiring Bandcamp&lt;/span&gt; --&gt;
&lt;p&gt;March 2, 2022: &lt;a href="https://blog.bandcamp.com/2022/03/02/bandcamp-is-joining-epic/"&gt;Bandcamp puts out a press release about their “joining” Epic Games.&lt;/a&gt; This follows in a line of eerily similar acquisitions of companies catering to indies, namely &lt;a href="https://sketchfab.com/blogs/community/sketchfab-is-joining-the-epic-games-family"&gt;Sketchfab&lt;/a&gt; and &lt;a href="https://magazine.artstation.com/2021/04/artstation-is-joining-the-epic-games-family/"&gt;ArtStation&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;There are lots of interesting topics intersecting here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Venture capital and the associated perverse incentives&lt;/li&gt;
&lt;li&gt;Antitrust and general issues with corporate consolidations&lt;/li&gt;
&lt;li&gt;The takeover of existing institutions, especially technical infrastructure&lt;/li&gt;
&lt;li&gt;The false narrative of corporations as indie and non-corporate&lt;/li&gt;
&lt;li&gt;Epic vs Apple and problems of platform monopoly&lt;/li&gt;
&lt;li&gt;Bandcamp’s correct but rare approach to piracy, which is endangered&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I’ll talk more about those some day, don’t worry. For now, though, have some tweets.&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1499083179206053897"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/0xabad1dea/" title="Infosec sorceress • ML/AI mad ethicist • speedrun community moderator • she/her • queer • favorite color is actually orange • 厄"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="https://pbs.twimg.com/profile_images/1443846216169762838/IN_RV73W_normal.jpg"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;badidea 🪐&lt;/span&gt;&lt;span class="at"&gt;@0xabad1dea&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;the problem with making a good website is that sooner or later someone will offer you an un-refusable amount of money to ruin it &lt;a href="https://twitter.com/Bandcamp/status/1499068917947510788" target="_blank"&gt;twitter.com/Bandcamp/statu…&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;/div&gt;&lt;a href="https://twitter.com/0xabad1dea/status/1499083179206053897" target="_blank"&gt;Wed Mar 02 18:04:16 +0000 2022&lt;/a&gt;
&lt;/blockquote&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Thu, 03 Mar 2022 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-03-03:/blog/2022/03/03/people-who-know-more-than-me-talk-about-epic-acquiring-bandcamp/</guid><category>politics</category><category>antitrust</category><category>tweets</category><category>platforms</category><category>ramble</category></item><item><title>Winners and Losers</title><link>https://blog.giovanh.com/blog/2022/02/23/winners-and-losers/</link><description>&lt;p&gt;I can&amp;rsquo;t write about antitrust. There&amp;rsquo;s too much to talk about. So I have to break the idea down, way down, to something manageable. I&amp;rsquo;m going to chew on one phrase here, &amp;ldquo;the government shouldn&amp;rsquo;t pick winners and losers.&amp;rdquo; It&amp;rsquo;s a favourite of the pro-monopoly types and it almost sounds reasonable, so let&amp;rsquo;s think about it for like a minute.&lt;/p&gt;
&lt;p&gt;First, when pro-monopoly types say &amp;ldquo;the government shouldn&amp;rsquo;t pick winners and losers&amp;rdquo;, what they&amp;rsquo;re picturing as the &amp;ldquo;win state&amp;rdquo; is market domination. They don&amp;rsquo;t see it as a bad thing, because they feel that success correlates with virtue, so if a corporation beats out its competitors that&amp;rsquo;s because it was right and good. We know what it&amp;rsquo;s like when corporations actualize on this; complete market domination, customers have no option but to go through you, it&amp;rsquo;s impossible to start competing against you. 100% domination, company towns, corporate rule. But that theoretical &amp;ldquo;win state&amp;rdquo; is the answer to the question of what corporations &amp;ldquo;want&amp;rdquo;. &lt;/p&gt;
&lt;p&gt;&amp;ldquo;Corporations&amp;rdquo;, as entities, are little optimizing robots. Executives and boards and shareholders are the cogs and wires, but the thing they come together to form is something of an entirely different nature, something artificial. This is intentional; people want corporate entities instead of humans specifically because corporate entities and humans are different. Corporations last, corporations have a focused goal, corporations have that machinery to scale and pursue it effectively. That thing they form is a very primitive artificial intelligence that uses its cogs and wires to pursue a specific goal.&lt;/p&gt;
&lt;p&gt;And the thing they aspire to, the thing they try to maximize, is market share. Revenue is great, but market share prints money. And, in theory, when nobody is cheating or exploiting or being anticompetitive, this actually works. Corporations compete against each other for customers, customers pick the best products, innovation disrupts markets, yadda yadda.&lt;/p&gt;
&lt;p&gt;But of course that doesn&amp;rsquo;t happen with cheats at the helms of these companies. And &amp;mdash; as with any model, sport, or competition &amp;mdash; without enforced regulation the market rewards the cheats. And what it rewards them with is power to charge more, power to make exploitative products, and ultimately power to keep competition from disrupting them.&lt;/p&gt;
&lt;p&gt;In an environment where corporate crime is tightly prosecuted and nobody is &amp;ldquo;light on crime&amp;rdquo; even when it comes to the wealthy and powerful, this doesn&amp;rsquo;t happen. Cut out the cancer and you heal the body.&lt;/p&gt;
&lt;p&gt;But keeping companies from being exploitive would be &amp;ldquo;picking winners and losers&amp;rdquo;! And that&amp;rsquo;s obviously wrong, they whine.&lt;/p&gt;
&lt;p&gt;Now, in addition to what the words mean and what the states look like, the language &amp;ldquo;winners and losers&amp;rdquo; is also absurd because it spins the conversation with an undue emotional connotation. &amp;ldquo;It&amp;rsquo;s not &lt;em&gt;fair&lt;/em&gt; for you to regulate companies such that they might lose money, because they&amp;rsquo;ve &lt;em&gt;earned it&lt;/em&gt;.&amp;rdquo; Poor little guy. They&amp;rsquo;re hurt, and we&amp;rsquo;re stealing from them. Except no, that&amp;rsquo;s obviously a lie. Corporations aren&amp;rsquo;t people, they don&amp;rsquo;t have emotions or feel pain, they&amp;rsquo;re organizational structures composed of individuals who &lt;em&gt;are not unduly harmed by antitrust regulation.&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;The actual humans in this equation, the only party anywhere near this question who we should worry about harming, are the consumers. The people, who depend on access to food and medical supplies and technology. The people who are &lt;em&gt;actually harmed by monopoly&lt;/em&gt;, requiring antitrust in the first place!&lt;/p&gt;
&lt;p&gt;Antitrust isn&amp;rsquo;t punishment, it&amp;rsquo;s correction of situation that has gone wrong. It&amp;rsquo;s fixing a machine that is producing undesirable results. It&amp;rsquo;s a correction to the AI&amp;rsquo;s value function; there was an undesirable outcome that was accidently being rewarded. The regulatory response needs to be either &amp;ldquo;whoops, you found a new way to hurt people we haven&amp;rsquo;t made illegal yet, let&amp;rsquo;s patch that&amp;rdquo; or &amp;ldquo;whoops, you&amp;rsquo;re overtly committing crimes, and there is a consequence for that because that is what rule of law means.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The scoundrel is the one who makes the argument that because he got away with hurting people at a profit once, to stop him now would be unfair &lt;em&gt;to him.&lt;/em&gt; Doing right by people is bad for his business model, so it&amp;rsquo;s impossible to say who&amp;rsquo;s right or not. It&amp;rsquo;s a transparent excuse for politicians who don&amp;rsquo;t personally agree with the law because they like the company, or like the money they spend to pick the company as the winner by means of policy drift.&lt;/p&gt;
&lt;p&gt;The question of winners and losers doesn&amp;rsquo;t matter because &lt;strong&gt;what &amp;ldquo;winning&amp;rdquo; is for corporations is bad, per se.&lt;/strong&gt; Corporations are artificial creations who perform by setting goals and pushing themselves toward them. And that (competition) is enormously beneficial! But just because some state is the best thing for a nonhuman entity doesn&amp;rsquo;t mean that should happen. In fact, every way in which that state is different from one that prioritizes people is a compelling argument against it. &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Wed, 23 Feb 2022 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-02-23:/blog/2022/02/23/winners-and-losers/</guid><category>politics</category><category>antitrust</category></item><item><title>Psycholonials Commentary, selections</title><link>https://blog.giovanh.com/blog/2022/02/22/psycholonials-commentary-selections/</link><description>&lt;!-- Nonstandard: Inline CSS (psycholonials text) --&gt;
&lt;p&gt;The following are exerpts from my &lt;a href="https://mspfa.com/?s=42998&amp;amp;p=1"&gt;fully transcribed playthrough of Psycholonials&lt;/a&gt;, which I wrote last summer. If you aren’t familiar with psycholonials or haven’t played the game, I recommend reading that to catch up.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://mspfa.com/?s=42998&amp;amp;p=1"&gt;&lt;img alt="bonk" src="https://file.garden/YOVpTKX47HhECOuA/psycholonials/posts/lp-psycholonials-chapter-1-side-a/psycholonials1/061.png"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you’ve already played Psycholonials though, here’s some food for you. Exerpts though, not the whole thing.&lt;/p&gt;
&lt;aside class="cb spoiler-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This article has major spoilers for &lt;a href="https://mspfa.com/?s=42998&amp;amp;p=1"&gt;Psycholonials&lt;/a&gt;.&lt;/p&gt;
&lt;/aside&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Tue, 22 Feb 2022 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-02-22:/blog/2022/02/22/psycholonials-commentary-selections/</guid><category>fandom</category><category>psycholonials</category><category>writing</category><category>media consumption</category><category>literary themes</category><category>fiction writing</category></item><item><title>Alma Mater</title><link>https://blog.giovanh.com/blog/2022/02/07/alma-mater/</link><description>&lt;p&gt;I went to my old university today.&lt;sup id="fnref:today"&gt;&lt;a class="footnote-ref" href="#fn:today"&gt;1&lt;/a&gt;&lt;/sup&gt; I wanted to use the library. &lt;/p&gt;
&lt;p&gt;It was a strange experience. There were things about my time there I missed, but I didn’t miss my time there. There was too much wrong. Ways I didn’t fit.&lt;/p&gt;
&lt;p&gt;I looked around. It was passing period, and there was a throng of students coming and going both ways. The pavement was nice, new construction. People were laughing and talking and introducing each other. &lt;/p&gt;
&lt;p&gt;Was I wrong? Should I be missing this? There is still so much good here. So I asked myself what it was I saw, exactly. And I looked out.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Mon, 07 Feb 2022 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-02-07:/blog/2022/02/07/alma-mater/</guid><category>politics</category><category>personal</category></item><item><title>You can Google it</title><link>https://blog.giovanh.com/blog/2022/01/16/you-can-google-it/</link><description>&lt;!-- Nonstandard: Side-by-side --&gt;
&lt;p&gt;&lt;a href="https://twitter.com/giovan_h/status/1365203575685722112"&gt;The other day&lt;/a&gt; I had a quick medical question (“if I don’t rinse my mouth out enough at night will I die”), so I googled the topic as I was going to bed. Google showed a couple search results, but it also showed &lt;em&gt;Answers&lt;/em&gt; in a little dedicated capsule. This was right on the heels of the Yahoo Answers shutdown, so I poked around to see what Google’s answers were like. And those… went in an unexpected direction.&lt;/p&gt;
&lt;p class="side-by-side align-top"&gt;&lt;img alt="Should I rince my mouth after using mouthwash? Why is it bad to swallow blood? Can a fly live in your body?" src="https://pbs.twimg.com/media/EvItap3XIAI-xVD.jpg?name=orig"/&gt;
&lt;img alt="What do vampires hate? Can you become a vampire? How do you kill a vampire?" src="https://pbs.twimg.com/media/EvIv_jbXUAIF2up.jpg?name=orig"/&gt;&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1365205047718600705"&gt;&lt;div class="header" data-reply="giovan_h/1365203575685722112"&gt;&lt;a href="https://twitter.com/giovan_h/" title="cryptid • universal constant • pal • maplehoof’d • cyber artisan • to know me is to love me"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="data:image/.png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRFqQAAqgQEqwgIrQwMrhAQrxQUsRgYshwcsyAgtSQktigotywsuTAwujQ0uzg4vTw8vkBAv0REwkxMw1BQxVRUxlhYyFxcyWBgymRkzGhozWxsznBw0HR00Xh41ICA1YOD1oeH14uL2Y+P2pOT3Zub3p+f36Oj4aen4qur5K+v5bOz5re36b+/6sPD7MfH7cvL7s/P8NPT8dfX8tvb9N/f9ePj9ufn+Ovr+e/v+vPz/Pf3/fv7////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPpTVpgAAAQ1JREFUSIntUl1PwjAUbYcbky1kcyFLV60BDZEoQWDi6L3//3fZgcattlcffGMnadKcj667PYwNuDRwzinxJ/W5/BmbiNPY775OQ5sqD/hW+g5XGl+z/jcmgIDH1H2rAlHjNuqInAkwCZDuwKIVj3kvcGPsgIU7cItaw3vSE/kKEZ8C9z9EWyMqixyJubhy+xkb381n5MwtuL2ceDdOif8Guje2ShXTYWn3Y6JpLBQFP/X9DMPEcn/I/LdSCM/V94lBvtiZlyv9gZk2er1+VLKS6uFl1yBCLTw1OCFZ1thFs5Ejwt4irpbrfaNBN/VmdZ//4j4PPZxMszybJtEXQSc6Y+XB33rRHeuAAReBD8SPGksZfy7dAAAAAElFTkSuQmCCICAgICAgICAgICAgICAgICAgICA="/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;gio :⁾&lt;/span&gt;&lt;span class="at"&gt;@giovan_h&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="replyto"&gt;Replying to &lt;a class="prev" href="https://twitter.com/giovan_h/status/1365203575685722112"&gt;giovan_h&lt;/a&gt;:&lt;/span&gt;&lt;p&gt;me: so should I induce vomiting or&lt;/p&gt;&lt;p&gt;google: here’s how and why to drink human blood &lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;a href="https://twitter.com/giovan_h/status/1365205047718600705/photo/1" target="_blank"&gt;
&lt;img class="img count2" onerror="(async () =&amp;gt; {this.onerror=null;this.src=`https://web.archive.org/web/0/${this.src}`;})();" src="https://pbs.twimg.com/media/EvIuvizXcAArE_G.jpg"/&gt;
&lt;/a&gt;&lt;a href="https://twitter.com/giovan_h/status/1365205047718600705/photo/1" target="_blank"&gt;
&lt;img class="img count2" onerror="(async () =&amp;gt; {this.onerror=null;this.src=`https://web.archive.org/web/0/${this.src}`;})();" src="https://pbs.twimg.com/media/EvIuvi0XcAErpjW.jpg"/&gt;
&lt;/a&gt;&lt;/div&gt;&lt;a href="https://twitter.com/giovan_h/status/1365205047718600705" target="_blank"&gt;Fri Feb 26 07:40:22 +0000 2021&lt;/a&gt;
&lt;/blockquote&gt;
&lt;p&gt;So, Google went down a little rabbit trail. Obviously these answers were scraped from the web, and included sources like &lt;a href="https://exemplore.com/paranormal/"&gt;&lt;code&gt;exemplore.com/paranormal/&lt;/code&gt;&lt;/a&gt; which is, apparently, a Wiccan resource for information that is “astrological, metaphysical, or paranormal in nature.” So possibly not the best place to go for medical advice. (If you missed it, the context clue for that one was the guide on vampire killing.)&lt;/p&gt;
&lt;p&gt;There are lots of funny little stories like this where some AI misunderstood a question. Like &lt;a href="https://twitter.com/horror_himbos/status/1445985768212553732"&gt;this case where a porn parody got mixed in the bio for a fictional character&lt;/a&gt;, or that time &lt;a href="https://www.theverge.com/tldr/2020/8/3/21352299/zelda-breath-of-the-wild-red-clothes-dye-traveler-gates-of-wisdom-john-boyne-google-search-results"&gt;novelist John Boyne used Google and accidently wrote a video recipe into his book&lt;/a&gt;. (And yes, &lt;a href="https://twitter.com/DanaSchwartzzz/status/1290099410299305984"&gt;it was a Google snippet.&lt;/a&gt;) These are always good for a laugh.&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1122087202769362944"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/frozenpandaman/" title="rambunctious tomboy-wannabe; kid 🐐 linguistics @ uh mānoa ✨ ///🪐/// i like rain, playful media + games, public transit, goats, altcomix &amp;amp; splatoon! 🌧️ 日本語OK。"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="data:image/.png;base64,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"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;eli! 🐪&lt;/span&gt;&lt;span class="at"&gt;@frozenpandaman&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;thanks google &lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;a href="https://twitter.com/frozenpandaman/status/1122087202769362944/photo/1" target="_blank"&gt;
&lt;img class="img count1" onerror="(async () =&amp;gt; {this.onerror=null;this.src=`https://web.archive.org/web/0/${this.src}`;})();" src="https://pbs.twimg.com/media/D5J0WvYU8AA8Uce.png"/&gt;
&lt;/a&gt;&lt;/div&gt;&lt;a href="https://twitter.com/frozenpandaman/status/1122087202769362944" target="_blank"&gt;Sat Apr 27 10:36:51 +0000 2019&lt;/a&gt;
&lt;/blockquote&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="821417840154648578"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/TalithaKearey/" title="research fellow in Cam • nerdbird jiving with the hermeneutic gap • I work on Latin literature: authorship, ghosts, wordplay, poetics •🌈✡️ • views my own &amp;amp;c"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="data:image/.jpg;base64,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"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;Talitha Kearey&lt;/span&gt;&lt;span class="at"&gt;@TalithaKearey&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;honestly this is still my favourite AI misunderstanding &lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;a href="https://twitter.com/TalithaKearey/status/821417840154648578/photo/1" target="_blank"&gt;
&lt;img class="img count1" onerror="(async () =&amp;gt; {this.onerror=null;this.src=`https://web.archive.org/web/0/${this.src}`;})();" src="https://pbs.twimg.com/media/C2ZDJZcXEAICKZd.jpg"/&gt;
&lt;/a&gt;&lt;/div&gt;&lt;a href="https://twitter.com/TalithaKearey/status/821417840154648578" target="_blank"&gt;Tue Jan 17 18:04:08 +0000 2017&lt;/a&gt;
&lt;/blockquote&gt;
&lt;blockquote class="twitter-tweet"&gt;
&lt;p dir="ltr" lang="en"&gt;The Google search summary vs the actual page &lt;/p&gt;
&lt;p&gt;&lt;img alt="Q: Had a seizure Now What? Google: Hold the person down or try to stop their movements. ..." src="https://pbs.twimg.com/media/FB1TS0kVIAAVWFZ.jpg?name=orig"/&gt;
&lt;img alt="Site: Do not: Hold the person down or try to stop their movements ..." src="https://pbs.twimg.com/media/FB1TTYBUUAQwAoD.jpg?name=orig"/&gt;
— insomnia club (@soft) &lt;a href="https://twitter.com/soft/status/1449406390976409600"&gt;October 16, 2021&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wait, what’s that? That last one wasn’t funny, you say? Did we just run face-first toward the cold brick wall of reality, where bad information means people die?&lt;/p&gt;
&lt;p&gt;Well, sorry. Because it’s not the first time Google gave out fatal advice, nor the last. Nor is there any end in sight. Whoops!&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sun, 16 Jan 2022 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-01-16:/blog/2022/01/16/you-can-google-it/</guid><category>cyber</category><category>big tech</category><category>tech culture</category><category>media consumption</category></item><item><title>Hack 'n' Slash is awe inspiring</title><link>https://blog.giovanh.com/blog/2022/01/07/hack-n-slash-is-awe-inspiring/</link><description>&lt;!-- Nonstandard: Inline video --&gt;
&lt;p&gt;Hack ‘n’ Slash is a game about hacking (and comparatively little slashing) published by DoubleFine (of Psychonauts fame) in 2014. It features art by Raz Mavlian and it’s directed by &lt;em&gt;absolute madman&lt;/em&gt; Brandon Dillon. It’s not a “programming” game (like 7 Billion Humans, a Zachtronics game, or even Quadrilateral Cowboy), and it’s not at all the action-adventure game it pretends to be at the beginning. It’s very much a game about game hacking, and that goes to some fascinating places.&lt;/p&gt;
&lt;p&gt;I’m looking now and of the ~16 games DoubleFine has on Steam, Hack ‘n’ slash is the only one with “Mixed” reviews. This is a tragedy, as Hack ‘n’ slash is most interesting games I’ve ever seen in my life. It’s a strange case, though. Although I have an overwhelming amount of praise to give the game, there are a few oddities that make it hard for me to directly recommend everyone buy and play it. I’ll get to that later.&lt;/p&gt;
&lt;aside class="cb spoiler-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This article has major spoilers for Hack ‘n’ Slash.&lt;/p&gt;
&lt;/aside&gt;
&lt;section class="section2"&gt;&lt;h2 id="why-hack-n-slash-is-incredible"&gt;Why Hack ‘n’ Slash is incredible&lt;/h2&gt;
&lt;p&gt;or, &lt;em&gt;the ride the game takes you on&lt;/em&gt;&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Fri, 07 Jan 2022 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2022-01-07:/blog/2022/01/07/hack-n-slash-is-awe-inspiring/</guid><category>gaming</category><category>review</category><category>gush</category></item><item><title>On motivation</title><link>https://blog.giovanh.com/blog/2021/11/26/on-motivation/</link><description>&lt;div class="askblog-wrapper"&gt;
&lt;blockquote class="askblog-question"&gt;
&lt;div class="askblog-prefix"&gt;
&lt;p&gt;&lt;strong&gt;Anonymous&lt;/strong&gt; asked:&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;What exactly drives you to make pieces such as the big one about the hiveswap fiasco and many others?&lt;/p&gt;
&lt;div class="askblog-arrow"&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class="askblog-avatar"&gt;&lt;img src="/theme/blocks/ask_anon.png"/&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This is a big question, so that gives me an opportunity to be self-indulgent. Here are a few things that come to me.&lt;/p&gt;
&lt;p&gt;One major part of the answer is serious dissatisfaction with how current social media handles persistent information, but I have a whole article I&amp;rsquo;m planning to write on that topic.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll talk about Hiveswap first because it&amp;rsquo;s kind of a special case. My intent when I started writing was actually completely different than what I ended up doing. I had been talking with some relatively new Homestuck fans and realized that there was an enormous amount information I just picked up from cultural osmosis that they just didn&amp;rsquo;t know. What&amp;rsquo;s more, most of the original sources for that information (peoples&amp;rsquo; blogs, the forums, newsposts) were all out of use, shut down, or intentionally obfuscated. &lt;/p&gt;
&lt;p&gt;So my original idea was to dump the whole Hiveswap story as I knew it (because I was there at the time, and actively engaged with the news and development information throughout) down on paper, attach archived versions of the original sources where possible, and fill in all the holes in my recollection while I was at it. Just because I thought it was interesting, and significant, and something people in the Homestuck fandom just ought to know. I&amp;hellip; I might have even called it a calling? Not at all a &amp;ldquo;I&amp;rsquo;ve got to blow the lid on this whole scandal&amp;rdquo; calling, because at the time I didn&amp;rsquo;t know there &lt;em&gt;was&lt;/em&gt; a whole scandal. I just realized I was one of only a few people equipped with the information needed to actually save that history.&lt;/p&gt;
&lt;p&gt;Now, obviously Hiveswap in particular snowballed from there, as I put things together and realized I had stumbled on something important. &lt;/p&gt;
&lt;p&gt;But it&amp;rsquo;s usually not just &amp;ldquo;I feel like I know some facts&amp;rdquo;, it&amp;rsquo;s usually that I make some interesting connections or observations that I want to point out. &lt;a href="https://blog.giovanh.com/blog/2021/06/23/youtube-broke-links-and-other-life-lessons/"&gt;YouTube broke links and other life lessons&lt;/a&gt; and &lt;a href="https://blog.giovanh.com/blog/2021/06/04/twitter-blue-is-a-late-stage-symptom/"&gt;Twitter Blue is a late-stage symptom&lt;/a&gt; are very basic examples of this, where I try to link some real thing going on in the world with the concepts &lt;em&gt;I&amp;rsquo;m&lt;/em&gt; reminded of when I hear about them, but that other people might not be. The same is sort of true of &lt;a href="https://blog.giovanh.com/blog/2021/06/30/the-sarah-z-video-fallout/"&gt;The Sarah Z Video Fallout&lt;/a&gt;, where I feel like I have a particular understanding of the story that lets me contextualize the new developments in a way other people might not naturally do. A lot of times, when some tech company is doing something something bad and sneaky, they rely on people &lt;em&gt;not&lt;/em&gt; being able to properly contextualize it, which is how they get away with things. So it&amp;rsquo;s good to contextualize things, and even better if I teach somebody &lt;em&gt;how&lt;/em&gt; to contextualize things in the process. &lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s also a strong memex element, where I use articles to organize and connect my own thoughts, and especially connect my thoughts about issues to other writing or videos or papers people have written. Whenever I see something that just strikes me as particularly good or important or poignant, and relates to a topic I&amp;rsquo;m personally interested in or have a particular take on, I&amp;rsquo;ll either staple it somewhere near where I&amp;rsquo;ve written about that topic before or toss in a folder to connect to an article later.&lt;/p&gt;
&lt;p&gt;I have this sort of katamari method of writing, where every time I have a thought that seems particularly interesting, or related to a topic I have interesting thoughts about, I&amp;rsquo;ll write it down and categorize it somewhere until eventually my internal notes reach critical mass and there&amp;rsquo;s enough there to expand on and write into a real article. &lt;/p&gt;
&lt;p&gt;And, on that note, I have a bigger answer to &amp;ldquo;why write things down&amp;rdquo; in a draft right now that will continue collecting thoughts passively until it&amp;rsquo;s ready, and then until it hits the top of my list. So, look out for that some day.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Fri, 26 Nov 2021 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-11-26:/blog/2021/11/26/on-motivation/</guid><category>qa</category></item><item><title>Client CSAM scanning: a disaster already</title><link>https://blog.giovanh.com/blog/2021/11/19/client-csam-scanning-a-disaster-already/</link><description>&lt;!-- Nonstandard: Side-by-side --&gt;
&lt;div class="update"&gt;
&lt;p&gt;Update 2023: &lt;a href="https://www.wired.com/story/apple-photo-scanning-csam-communication-safety-messages/"&gt;I won.&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;On August 5, 2021, Apple presented their grand new Child Safety plan. They promised “expanded protections for children” by way of a new system of global phone surveillance, where every iPhone would constantly scan all your photos and sometimes forward them to local law enforcement if it identifies one as containing contraband. Yes, really.&lt;/p&gt;
&lt;p&gt;August 5 was a Thursday. This wasn’t dumped on a Friday night in order to avoid scrutiny, this was published with fanfare. Apple really thought they had a great idea here and expected to be applauded for it. They really, really didn’t. There are almost too many reasons this is a terrible idea to count. But people still try things like this, so as much as I wish it were, my work is not done. God has cursed me for my hubris, et cetera. Let’s go all the way through this, yet again.&lt;/p&gt;
&lt;!-- ![Snowden: 🚨🚨 Apple says to &amp;#34;protect children,&amp;#34; they&amp;#39;re updating every iPhone to continuously compare your photos and cloud storage against a secret blacklist. If it finds a hit, they call the cops. - iOS will also tell your parents if you view a nude in iMessage. - https://t.co/VZCTsrVnnc](https://twitter.com/Snowden/status/1423466855986044928) --&gt;
&lt;!-- weird css spacing issue here --&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1423407586628493315"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/giovan_h/" title="cryptid • universal constant • pal • maplehoof • cyber artisan • read my blog like and subscribe and leave a comment and share me to your web site"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="data:image/.jpg;base64,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"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;gio :⁾&lt;/span&gt;&lt;span class="at"&gt;@giovan_h&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;I am so deeply frustrated at how much we have to repeat these extremely basic principles because people just refuse to listen. Like, yes, we know. Everyone should know this by now. It’s mind boggling. &lt;a href="https://twitter.com/sarahjamielewis/status/1423406812024373248" target="_blank"&gt;twitter.com/sarahjamielewi…&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;/div&gt;&lt;a href="https://twitter.com/giovan_h/status/1423407586628493315" target="_blank"&gt;Thu Aug 05 22:16:28 +0000 2021&lt;/a&gt;
&lt;/blockquote&gt;
&lt;section class="section2"&gt;&lt;h2 id="the-architectural-problem-this-is-trying-to-solve"&gt;The architectural problem this is trying to solve&lt;/h2&gt;
&lt;p&gt;Believe it or not, Apple actually does address a real architectural issue here. Half-heartedly addressing one architectural problem of many doesn’t mean your product is good, or even remotely okay, but they do at least do it. Apple published &lt;a href="https://www.apple.com/child-safety/pdf/Security_Threat_Model_Review_of_Apple_Child_Safety_Features.pdf"&gt;a 14 page summary of the problem model&lt;/a&gt; (starting on page 5). It’s a good read if you’re interested in that kind of thing, but I’ll summarize it here.&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Fri, 19 Nov 2021 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-11-19:/blog/2021/11/19/client-csam-scanning-a-disaster-already/</guid><category>cyber</category><category>security</category><category>antitrust</category><category>big tech</category></item><item><title>Polygon's "Life after Homestuck" (Thread)</title><link>https://blog.giovanh.com/blog/2021/11/11/polygons-life-after-homestuck-thread/</link><description>&lt;div class="thread"&gt;
&lt;p&gt;&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1458877215702233094"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/Polygon/" title="A tour guide for the wilderness of modern entertainment. We find, share, and investigate the things you love and the people who make and enjoy them."&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="data:image/.jpg;base64,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"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;Polygon&lt;/span&gt;&lt;span class="at"&gt;@Polygon&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;“I came to regard that fandom as being pretty close to a cult [...] And that’s about how I’ve come to regard all fandoms now.”&lt;/p&gt;&lt;p&gt;Andrew Hussie on life after Homestuck: &lt;a href="https://www.polygon.com/features/22674181/andrew-hussie-interview-homestuck-psycholonials?utm_campaign=polygon&amp;amp;utm_content=chorus&amp;amp;utm_medium=social&amp;amp;utm_source=twitter" target="_blank"&gt;polygon.com/features/22674…&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;a href="https://twitter.com/Polygon/status/1458877215702233094/photo/1" target="_blank"&gt;
&lt;img class="img count1" onerror="(async () =&amp;gt; {this.onerror=null;this.src=`https://web.archive.org/web/0/${this.src}`;})();" src="https://pbs.twimg.com/media/FD75GLRXIAEzAZT.jpg"/&gt;
&lt;/a&gt;&lt;/div&gt;&lt;a href="https://twitter.com/Polygon/status/1458877215702233094" target="_blank"&gt;Thu Nov 11 19:20:07 +0000 2021&lt;/a&gt;
&lt;/blockquote&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1458936715410907140"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/giovan_h/" title="cryptid • universal constant • pal • maplehoof’d • cyber artisan • to know me is to love me"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="data:image/.jpg;base64,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"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;gio :⁾&lt;/span&gt;&lt;span class="at"&gt;@giovan_h&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Okay, so I have a whole thing about Psycholonials planned, so I won't get super deep in the weeds on this, but let's skim this for the highlights. There's some interesting stuff here. &lt;a href="https://twitter.com/Polygon/status/1458877215702233094" target="_blank"&gt;twitter.com/Polygon/status…&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;/div&gt;&lt;a href="https://twitter.com/giovan_h/status/1458936715410907140" target="_blank"&gt;Thu Nov 11 23:16:33 +0000 2021&lt;/a&gt;
&lt;/blockquote&gt;&lt;/p&gt;
&lt;/div&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Thu, 11 Nov 2021 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-11-11:/blog/2021/11/11/polygons-life-after-homestuck-thread/</guid><category>fandom</category><category>hiveswap</category><category>homestuck</category><category>psycholonials</category><category>tweets</category></item><item><title>Ethical Source is a Crock of Hot Garbage</title><link>https://blog.giovanh.com/blog/2021/10/29/ethical-source-is-a-crock-of-hot-garbage/</link><description>&lt;p&gt;There’s this popular description of someone “having brain worms”. It invokes the idea of having your mind so thoroughly infested with an idea to the point of disease. As with the host of an infestation, such a mind is poor-to-worthless at any activity other than sustaining and spreading the parasite.&lt;/p&gt;
&lt;p&gt;A “&lt;a href="https://en.wiktionary.org/wiki/brainworm"&gt;persistent delusion or obsession&lt;/a&gt;”. You know, like &lt;a href="https://twitter.com/joewintergreen/status/1295581578853101572"&gt;when you think in terms of legality so much you can’t even make ethical evaluations anymore&lt;/a&gt;, or &lt;a href="https://twitter.com/existentialcoms/status/1270422509104427008"&gt;when you like cops so much you stop being able to think about statistics&lt;/a&gt;, or &lt;a href="https://twitter.com/Potatopolitics/status/1394934613110366209"&gt;the silicon valley startup people who try to solve social problems with bad technology&lt;/a&gt;, or &lt;a href="https://bitcoinmagazine.com/culture/bitcoin-financial-freedom-in-afghanistan"&gt;the bitcoin people who responded to the crisis in Afghanistan by saying they should just adopt bitcoin&lt;/a&gt;. &lt;a href="https://benjamindueholm.substack.com/p/the-theology-of-moral-brainworms"&gt;“Bad, dumb things”&lt;/a&gt;. You get the idea.&lt;/p&gt;
&lt;p&gt;And, well.&lt;/p&gt;
&lt;div class="thread"&gt;
&lt;p&gt;&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1451224259741818883"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/joinmastodon/" title=""&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="data:image/.jpg;base64,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"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;Mastodon&lt;/span&gt;&lt;span class="at"&gt;@joinmastodon&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Think of it this way, if *he* manages to use Mastodon, you have no excuse saying it's too complicated&lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;/div&gt;&lt;a href="https://twitter.com/joinmastodon/status/1451224259741818883" target="_blank"&gt;9:30 AM - 21 Oct 2021&lt;/a&gt;
&lt;/blockquote&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1451394742433034242"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/CoralineAda/" title="Big time open source troublemaker with big plans for the status quo. Doing my best over here, y'all. She."&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="data:image/.jpg;base64,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"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;Coraline Ada Ehmke&lt;/span&gt;&lt;span class="at"&gt;@CoralineAda&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Or this way: if *he* manages to use Mastodon, how can you possibly ensure anyone's safety?&lt;/p&gt;&lt;p&gt;Y'all have some very fucked up success criteria. &lt;a href="https://twitter.com/joinmastodon/status/1451224259741818883" target="_blank"&gt;twitter.com/joinmastodon/s…&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;/div&gt;&lt;a href="https://twitter.com/CoralineAda/status/1451394742433034242" target="_blank"&gt;Fri Oct 22 03:47:26 +0000 2021&lt;/a&gt;
&lt;/blockquote&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Okay, so let’s back &lt;em&gt;way&lt;/em&gt; up here, because this is just the tip of the iceberg of a story that needs years of context. I’ll start with the most recent event here, the Mastodon tweet.&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="the-mastodon-context"&gt;The Mastodon Context&lt;/h2&gt;
&lt;p&gt;The “he” Mastodon is referring to is ex-president-turned-&lt;a href="/blog/2021/01/09/tweets-about-the-attack-on-the-capitol/"&gt;insurrectionist&lt;/a&gt; Donald Trump, who, because his fellow-insurrectionist friends and fans are subject to basic moderation policies on most of the internet, &lt;a href="https://www.foxnews.com/politics/trump-announces-truth-social-network-will-be-rolled-out-nationwide-in-first-quarter-of-2022"&gt;decided to start his own social network, “Truth Social”&lt;/a&gt;. In contrast to platforms moderated by the “tyranny of big tech”, Truth Social would have principles of Free Speech, like &lt;a href="https://truthsocial.com/terms-of-service/"&gt;“don’t read the site”, “don’t link to the site”, “don’t criticise the site”, “don’t use all-caps”, and “don’t disparage the site or us”&lt;/a&gt;. 
There are a lot of problems here already, but because everything Trump does is terrible and nobody who likes him can create anything worthwhile, instead of actually making a social networking platform, they just &lt;a href="https://www.vice.com/en/article/5dgm5k/truth-social-is-mastodon-trump"&gt;stole Mastodon wholesale&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Mastodon is an open-source alternative social networking platform. It’s licensed under an open license (the AGPLv3), so you &lt;em&gt;are&lt;/em&gt; allowed to clone it and even rebrand it for your own purposes as was done here. What you absolutely &lt;em&gt;are not allowed to do&lt;/em&gt; is claim the codebase is your own proprietary work, deliberately obscure the changes you made to the codebase, or make any part of the AGPL-licensed codebase (including your modifications) unavailable to the public. All of which Truth Social does.&lt;/p&gt;
&lt;p&gt;So that’s the scandal. And so here’s Mastodon &lt;a href="https://twitter.com/joinmastodon/status/1451224259741818883"&gt;poking some fun at that&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Fri, 29 Oct 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-10-29:/blog/2021/10/29/ethical-source-is-a-crock-of-hot-garbage/</guid><category>cyber</category><category>culture war</category><category>alt-right</category><category>tech culture</category><category>platforms</category><category>big tech</category><category>enforcement</category></item><item><title>The Joy of RSS</title><link>https://blog.giovanh.com/blog/2021/10/17/the-joy-of-rss/</link><description>&lt;p&gt;During the years when Homestuck updated regularly, I usually had some sort of update notifier that pinged me when a new page was posted. But since Homestuck usually updated daily, I ended up just keeping a tab open and refreshing it. And that’s pretty much how I kept up with other serial media on the internet, for years. A writing blog that posts regular updates? Keep a dedicated tab open and refresh it occasionally. Comic? Tab. To this day, I have a “serial” browser window that’s just tabs of sites I check regularly. (Or imagine I might want to check regularly, at least.)&lt;/p&gt;
&lt;p&gt;&lt;img alt="a lot of tabs" src="https://blog.giovanh.com/blog/2021/10/17/the-joy-of-rss/RSS_tabhell.jpg"/&gt;
&lt;em&gt;please don’t tell anyone how I live&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Of course, this is terrible. The biggest problem is browser tabs are expensive. If you have a tab open, that takes up a dedicated chunk of memory, even when you’re not reading anything. CPU too, probably, if the site has JavaScript running on it (which is to say, is either decades out of date, or this one). Not to mention the clutter.&lt;/p&gt;
&lt;p&gt;Unfortunately, dedicated browser tabs fit specific use case of keeping up with serial media well. Social media feeds — all of them, Twitter, Facebook, Tumblr, Reddit, YouTube — are explicitly “media aggregators”, services that combine multiple media sources into one feed. This is no good for serial media. If you’re following multiple sources, they likely update on different schedules, and updates from the more active ones will bury updates from those slower. Even email updates have this problem. No, you need a dedicated space for each source (but not each update), which a dedicated browser tab will get you.&lt;/p&gt;
&lt;p&gt;There is a &lt;em&gt;good&lt;/em&gt; system for this, though: RSS.&lt;/p&gt;
&lt;p&gt;RSS (Really Simple Syndication) is a fantastic technology that has fallen out of favour in the mainstream lately. It works like this: the media source &lt;a href="https://blog.giovanh.com/feeds/atom.xml"&gt;puts up a small file somewhere&lt;/a&gt; that notes the dates, titles, and (optionally) content of posts. And that’s it. There’s no API, it’s just a file people can read if they want. It’s like traditional syndication, but instead of selling articles to multiple distributors (as with syndicated cartoons), you’re distributing articles to many consumers directly.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sun, 17 Oct 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-10-17:/blog/2021/10/17/the-joy-of-rss/</guid><category>tech</category><category>platforms</category><category>media consumption</category><category>gush</category><category>big tech</category><category>plagiarism</category></item><item><title>Post-Ch2 Deltarune Theories</title><link>https://blog.giovanh.com/blog/2021/10/05/post-ch2-deltarune-theories/</link><description>&lt;!-- Nonstandard: Attached promo, side-by-side, inline style block --&gt;
&lt;p&gt;&lt;a href="https://blog.giovanh.com/blog/2021/10/05/post-ch2-deltarune-theories/napgaster.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;aside class="cb spoiler-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This article has spoilers for Deltarune through Chapter 2 and (ambiguous) spoilers about Dangan Ronpa V3&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;As you might know, &lt;a href="/blog/2021/05/02/wd-gaster-and-fake-depth/"&gt;I have a somewhat complicated relationship with Undertale theories&lt;/a&gt;, so for Deltarune I’m kind of forcing myself not to go too red thread board with trying to “solve” things — which sucks, because I really like solving things. &lt;/p&gt;
&lt;p&gt;&lt;img alt="gio irl" src="https://blog.giovanh.com:8042/api/v1/picture/twitter_49cc4334587aadc8293c4e2469d1e5fe55a99076/c2eb8bp2abd8h4ims0rg"/&gt;&lt;/p&gt;
&lt;p&gt;So instead of trying to be &lt;em&gt;right&lt;/em&gt; about the big stuff, I thought I’d just talk about some fun crack theories. For fun! For fun, I tell myself.&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="susie-is-immune-to-player-input"&gt;Susie is immune to player input&lt;/h2&gt;
&lt;p&gt;There’s a lot in Deltarune Chapter 1 that implies that, unlike undertale, player choice doesn’t matter. The character you make in the first sequence is discarded, There’s even &lt;a href="https://twitter.com/tobyfox/status/1058193397767438336"&gt;word of god&lt;/a&gt; that there’s only one ending to the game.&lt;/p&gt;
&lt;p&gt;But, if you look at it, most of that involves Susie. You can’t control Susie at all for the first half of Chapter 1, only eventually getting her explicit buy-in after she decides she wants to be nice to lancer. And, of course, at the beginning of the game, she tells you directly&lt;/p&gt;
&lt;p&gt;&lt;img alt="Your choices don't matter" src="https://blog.giovanh.com/blog/2021/10/05/post-ch2-deltarune-theories/dr1_choices.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;Your choices matter with everyone else, though. There’s a massive branching tree of options during your battle tutorial with Ralsei, you design a thrash machine that carries over to chapter 2, and you can tell Noelle about Susie eating chalk to get an extra item in Chapter 2, just to name a few examples. Hell, your choices matter with &lt;em&gt;Onionsan and Starwalker&lt;/em&gt;.&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Tue, 05 Oct 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-10-05:/blog/2021/10/05/post-ch2-deltarune-theories/</guid><category>fandom</category><category>undertale</category><category>theorizing</category></item><item><title>Heart &amp; Slash</title><link>https://blog.giovanh.com/blog/2021/09/15/heart-slash/</link><description>&lt;!-- Nonstandard: Attached promo, iframe --&gt;
&lt;p&gt;&lt;a href="https://blog.giovanh.com/blog/2021/09/15/heart-slash/friend.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Heart &amp;amp; Slash is a special little game. The whole thing is so aggressively fun and stylistic I can&amp;rsquo;t help but love it.&lt;/p&gt;
&lt;p&gt;&lt;img alt="laser" src="https://blog.giovanh.com/blog/2021/09/15/heart-slash/heartnslash-laser.webp"/&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s a 3D procgen dungeon beat-em-up. It reminds me of a cross between &lt;a href="http://neurovoider.com"&gt;Neurovoider&lt;/a&gt; (a game I love) and &lt;a href="https://versusevil.com/TowerOfGuns/"&gt;Tower of Guns&lt;/a&gt; (a game I admittedly do not). &lt;/p&gt;
&lt;p&gt;What really gets me is the style. The whole game has this beautiful graphical feel, with these semi-low-poly voxel models and sharp flat-shaded pixel art textures. The whole thing reminds me of pre-playstation 3d graphics, and I am here for it. &lt;/p&gt;
&lt;p&gt;&lt;img alt="Menu" src="https://blog.giovanh.com/blog/2021/09/15/heart-slash/heartnslash-menu.png"/&gt;&lt;/p&gt;
&lt;!-- ![Boss](./heartnslash-boss.jpg) --&gt;
&lt;p&gt;Some of that feels low-effort at first, but then you see the animation work. It&amp;rsquo;s smooth and distinct and gorgeous. Most of the actual animation you see in the game is combat, and that&amp;rsquo;s not skimped on either. Most of the weapons are actually pretty unique &amp;mdash; with their own sets of attack animations &amp;mdash; and lend themselves to different playstyles.&lt;/p&gt;
&lt;p&gt;
&lt;video alt="Trailer" controls="true" src="https://cdn.cloudflare.steamstatic.com/steam/apps/256663215/movie480.webm" type="video/webm"&gt;&lt;/video&gt;
&lt;/p&gt;
&lt;p&gt;The gameplay is good too. Heart has this really interesting floaty double-jump that allows for a lot of maneuverability and midair combat.&lt;/p&gt;
&lt;p&gt;I tend to get burnt out on rougelikes pretty easily, but I really like this one. There&amp;rsquo;s an experience mechanic, where you pick up scrap metal from robots that you can use to upgrade yourself or your equipment. You can also save that metal between runs, so you can stock up and save buffs for when you feel like you&amp;rsquo;re doing well. The game&amp;rsquo;s also not too long &amp;mdash; getting killed isn&amp;rsquo;t ever going to feel like you lost a ton of progress, even late-game.&lt;/p&gt;
&lt;p&gt;&lt;img alt="proto" src="https://blog.giovanh.com/blog/2021/09/15/heart-slash/heartnslash-proto.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;And Heart. He&amp;rsquo;s a little robot! I love him. That&amp;rsquo;s the story there.&lt;/p&gt;
&lt;p&gt;No, but Heart &amp;mdash; and most of the other robots in the game &amp;mdash; have this great early PC vibe to them, with big bulky CRT monitors for faces and other components that mirror the graphical era the graphics pay tribute to. The Heart prototype in the screenshot there has a great color scheme that maps to &lt;a href="https://logos.fandom.com/wiki/Apple#1977.E2.80.931999"&gt;the old rainbow Apple logo&lt;/a&gt; (and, of course, the green monochrome CRT head). And I just noticed this now, but his feet have little heatsinks built in! How great is that?&lt;/p&gt;
&lt;p&gt;&lt;img alt="hall" src="https://blog.giovanh.com/blog/2021/09/15/heart-slash/heartnslash-hall.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;Oh, and the soundtrack. The soundtrack is spectacular. The main theme during the first factory level is &amp;lsquo;I &amp;hearts; You&amp;rsquo; which&amp;hellip; is just perfect. It&amp;rsquo;s a perfect song. &lt;/p&gt;
&lt;iframe alt="I &amp;hearts; You" seamless="" src="https://bandcamp.com/EmbeddedPlayer/album=3746002336/size=small/bgcol=ffffff/linkcol=0687f5/track=3236032090/transparent=true/" style="border: 0; width: 100%; height: 42px;"&gt;&lt;/iframe&gt;
&lt;p&gt;There&amp;rsquo;s this bridge at 1:28 where the song calms down for a few seconds before kicking right back into the main section at 1:40 and I &lt;em&gt;love&lt;/em&gt; it. It just about perfectly matches the few seconds of relief you get after you clear a room and you navigate for a minute before diving into the next room and taking out another wave of robots.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s not the perfect game &amp;mdash; there are some obvious graphical issues with z-fighting, for instance, and weapon controls can be finicky &amp;mdash; but for $15 this is a fantastic little thing. Again, it really is special.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.aheartfulofgames.com/heart-slash"&gt;Game&lt;/a&gt; (Steam, Xbox, Switch, PS4)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://michaelchaitmusic.bandcamp.com/album/heart-slash-soundtrack"&gt;Soundtrack&lt;/a&gt; (michaelchaitmusic.bandcamp.com)&lt;/li&gt;
&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Wed, 15 Sep 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-09-15:/blog/2021/09/15/heart-slash/</guid><category>gaming</category><category>review</category><category>gush</category></item><item><title>Homestuck's Ruse of Authorial Homogeneity</title><link>https://blog.giovanh.com/blog/2021/09/03/homestucks-ruse-of-authorial-homogeneity/</link><description>&lt;!-- ad: dad said it's my turn on the canon --&gt;
&lt;p&gt;Somebody asked me about a comment I made online about the odd situation raised by the state of Homestuck^2 and Hiveswap’s authorship. I sent them a long message but by the time I was done I realized I had quite a few thoughts on the issue, and so this is me expanding that out a bit.&lt;/p&gt;
&lt;aside class="cb qualified"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Usually I like to let ideas percolate until I have a couple of very solid points to talk about, or a comprehensive examination on some angle of an issue. This is… not that.&lt;/p&gt;
&lt;p&gt;This touches on some big philosophical topics, but for the sake of my own sanity I’m limiting myself here to just discussing the HS2-focused story, rather than give a deep background about art philosophy. Maybe I’ll do that later. There’s also a lot left up in the air, because the story just… stopped happening. &lt;/p&gt;
&lt;p&gt;I don’t know if I’ll ever have more to say about this, so I’m just publishing the notes I have as they are. I hope they’ll give you something interesting to think about!&lt;/p&gt;
&lt;/aside&gt;
&lt;!-- Somebody asked me, continued --&gt;
&lt;section class="section2"&gt;&lt;h2 id="authorial-teams"&gt;Authorial teams&lt;/h2&gt;
&lt;!-- Movement to teams --&gt;
&lt;p&gt;Probably the defining aspect of the “post-canon” Homestuck era has been the deliberate movement away from Andrew’s auteurship and to the form of these nebulous authorial teams. It’s almost impossible to overstate how key Andrew and his personal identity was to Homestuck and its interactions with fandom, and this period represented a deliberate and forced shift away from that.&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Fri, 03 Sep 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-09-03:/blog/2021/09/03/homestucks-ruse-of-authorial-homogeneity/</guid><category>fandom</category><category>homestuck</category><category>hiveswap</category></item><item><title>Is (git) master a dirty word?</title><link>https://blog.giovanh.com/blog/2021/08/21/is-git-master-a-dirty-word/</link><description>&lt;!-- Git "Master" vs Human Slavery --&gt;
&lt;!-- With gitlab jumping on the wagon I decided to finally jot down my thoughts about git master. --&gt;
&lt;p&gt;Git is changing. GitHub, GitLab, and the core git team have a made a system of changes to phase out the use of the word “master” in the development tool, after a few years of heated (&lt;em&gt;heated&lt;/em&gt;) discussion. Proponents of the change argue “slavery is bad”, while opponents inevitably end up complaining about the question itself being “overly political”. Mostly. And, with the tendency of people in the computer science demographic to… let’s call it “conservatism”, this is an issue that gets very heated, very quickly.  I have… thoughts on this, in both directions. &lt;/p&gt;
&lt;p&gt;Formal concerns about problematic terminology in computing (master, slave, blacklist) go back as early as &lt;a href="http://edition.cnn.com/2003/TECH/ptech/11/26/master.term.reut/"&gt;2003&lt;/a&gt;, at the latest; this is not a new conversation. 
The push for this in git specifically started circa 2020. 
There was a long &lt;a href="https://lore.kernel.org/git/CAOAHyQwyXC1Z3v7BZAC+Bq6JBaM7FvBenA-1fcqeDV==apdWDg@mail.gmail.com/"&gt;thread on the git mailing list&lt;/a&gt; that went back and forth for several months with no clear resolution. 
It cited &lt;a href="https://bugs.python.org/issue34605"&gt;Python’s choice to move away from master/slave terminology&lt;/a&gt;, which was formally decided on as a principle in 2018. 
In June of 2020, the Software Freedom Conservancy issued an &lt;a href="https://sfconservancy.org/news/2020/jun/23/gitbranchname/"&gt;open letter&lt;/a&gt; decrying the term “master” as “offensive to some people.” 
In July 2020 github began constructing &lt;a href="https://github.com/github/renaming/"&gt;guidance to change the default branch name&lt;/a&gt; and in 2021 GitLab &lt;a href="https://about.gitlab.com/blog/2021/03/10/new-git-default-branch-name/"&gt;announced it would do the same&lt;/a&gt;.&lt;/p&gt;
&lt;hr/&gt;
&lt;!-- Git refresher --&gt;
&lt;p&gt;First, what role did master/slave terminology have in git, anyway? Also, real quick, what’s git? Put very simply, git is change tracking software. Repositories are folders of stuff, and branches are versions of those folders. If you want to make a change, you copy the file, modify it, and slot it back in. Git helps you do that and also does some witchery to allow multiple people to make changes at the same time without breaking things, but that’s not super relevant here. &lt;/p&gt;
&lt;p&gt;That master version that changes are based is called the master branch, and is just a branch named &lt;code&gt;master&lt;/code&gt;. Changes are made on new branches (that start as copies of the master branch) which can be named anything. When the change is final, it’s &lt;em&gt;merged&lt;/em&gt; back into the master branch. Branches are often deleted after they’re merged. &lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sat, 21 Aug 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-08-21:/blog/2021/08/21/is-git-master-a-dirty-word/</guid><category>cyber</category><category>culture war</category><category>language</category><category>tech culture</category></item><item><title>Your engine hasn't earned your rent</title><link>https://blog.giovanh.com/blog/2021/08/10/your-engine-hasnt-earned-your-rent/</link><description>&lt;p&gt;YoYo Games &lt;a href="https://www.yoyogames.com/en/blog/more-platforms-for-less"&gt;announced today&lt;/a&gt; that they’re switching GameMaker to a subscription model. You know, I was planning on doing a high-effort article about this some day, but what the heck, let’s do it now. &lt;/p&gt;
&lt;p&gt;First, here are the actual details of the GameMaker change. Instead of buying development tools you can use to develop things, YoYo is making its latest version of GameMaker — GameMaker Studio 2 — free to use. You can download it for free, learn how it works, and invest as much time making your game in it as you want. You only have to pay if you want to ship a game. And if you decide you really want to ship your game, it’s a whopping $80/yr for as long as you want your game on the shelves.&lt;/p&gt;
&lt;aside class="cb tangent"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This is, by the way, a very different YoYo games than the company who you associate with GameMaker. YoYo games was bought out this year by Opera, the company who used to make a good internet browser. Opera, in turn, was bought out in 2016 by &lt;a href="https://en.wikipedia.org/wiki/Qihoo_360"&gt;Qihoo 360 Technology Co. Ltd.&lt;/a&gt;, the Chinese software conglomerate that now controls every company I just mentioned.&lt;/p&gt;
&lt;/aside&gt;
&lt;section class="section2"&gt;&lt;h2 id="subscriptions"&gt;Subscriptions&lt;/h2&gt;
&lt;p&gt;This idea of a company turning a product into a subscription service is probably familiar to you. Famously, Photoshop and Adobe’s other creative products switched from one-time purchases of software to indefinite recurring subscription fees, after having locked in most of the creative industry. &lt;/p&gt;
&lt;p&gt;Earlier this year, a very similar thing happened with Buildbox, another “no code” game maker program. Buildbox &lt;a href="https://twitter.com/appventuretime/status/1394681401664933898"&gt;changed their terms and conditions&lt;/a&gt; to demand revenue from all Buildbox games, including games and in-app purchases. In the normal tier, &lt;strong&gt;70%&lt;/strong&gt; of your total revenue goes straight to Buildbox. Even if you’re in the highest tier, you can’t stop them siphoning your revenue. &lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Tue, 10 Aug 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-08-10:/blog/2021/08/10/your-engine-hasnt-earned-your-rent/</guid><category>politics</category><category>feudalism</category><category>gamedev</category></item><item><title>5G's standard patents wound it</title><link>https://blog.giovanh.com/blog/2021/08/09/5gs-standard-patents-wound-it/</link><description>&lt;p&gt;I remember seeing a whole kerfuffle about 5G around this time last year. Not the mind-control vaccine, the actual wireless technology. People (senators, mostly) were worried about national security, because Huawei (the state-controlled Chinese tech company, who is a threat, actually) was getting its 5G patents through and making its claim on the next-gen tech IP landscape. &lt;a href="https://www.nytimes.com/2018/01/31/opinion/nationalize-5g-network.html"&gt;Maybe Trump even needed to seize the technology and nationalize 5G?&lt;/a&gt; Everybody sure had a lot to say about it, but I didn’t see a single person address the core conflict.&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="format-wars"&gt;Format Wars&lt;/h2&gt;
&lt;p&gt;Before we get to 5G, let’s go way back to VHS for a minute.&lt;/p&gt;
&lt;p&gt;The basic idea of the “format war” is this: one company invents a format (VHS, SD cards, etc) and make a push to make their format the standard way of doing things. Everybody gets a VHS player instead of BetaMax, so there’s a market for the former but not for the latter. Now everyone uses VHS. If you’re selling video, you sell VHS tapes, and if you’re buying video, you’re buying VHS. If you &lt;em&gt;invented&lt;/em&gt; VHS, this is great for you, because you &lt;em&gt;own the concept&lt;/em&gt; of VHS and get to charge everyone whatever you want at every step in the process. And, since everyone uses VHS now, you’ve achieved lock-in.&lt;/p&gt;
&lt;p&gt;Now, this creates an obvious perverse incentive. Companies like Sony are famous for writing and patenting enormous quantities of formats that never needed to exist in the first place because owning the de factor standard means you can collect rent from the entire market. That’s a powerful lure. &lt;/p&gt;
&lt;p&gt;And that’s &lt;em&gt;just&lt;/em&gt; talking about de facto standards. This gets even worse when you mix in formal standards setting bodies, which get together and formally declare which formats should be considered “standard” for professional and international use. If you could get your IP written into those standards, it turns your temporary development time into a reliable cash stream. &lt;/p&gt;
&lt;/section&gt;&lt;section class="section2"&gt;&lt;h2 id="enter-seps"&gt;Enter SEPs&lt;/h2&gt;
&lt;p&gt;“5G” is one of these standards set by standard setting bodies, and it’s a standard packed with proprietary technology. The most important slice of those is called SEPs, or “Standard Essential Patents.” These are the Patents that are Essential to (implementing) the Standard. In other words, these technologies are core and inextricable to 5G itself. This figure represents only the SEPs:&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Mon, 09 Aug 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-08-09:/blog/2021/08/09/5gs-standard-patents-wound-it/</guid><category>politics</category><category>feudalism</category><category>ip</category><category>security</category></item><item><title>I Built the Wii Shop Wednesday Wii</title><link>https://blog.giovanh.com/blog/2021/07/29/i-built-the-wii-shop-wednesday-wii/</link><description>&lt;p&gt;back in april i built a physical version of the &lt;a href="https://www.youtube.com/watch?v=B_qnI1WrlnU"&gt;wii shop wednesday&lt;/a&gt; wii&lt;/p&gt;
&lt;div class="thread"&gt;
&lt;p&gt;&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1386569286185934848"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/giovan_h/" title="cryptid &amp;bull; universal constant &amp;bull; pal &amp;bull; maplehoof &amp;bull; cyber artisan &amp;bull; read my blog like and subscribe and leave a comment and share me to your web site"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="data:image/.jpg;base64,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"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;gio :⁾&lt;/span&gt;&lt;span class="at"&gt;@giovan_h&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;anyway I built the wii shop wednesday wii &lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;video controls="true" src="https://video.twimg.com/ext_tw_video/1386569212856963073/pu/vid/480x270/jGUo_Rt095jUtlg-.mp4?tag=12"&gt;&lt;/video&gt;&lt;/div&gt;&lt;a href="https://twitter.com/giovan_h/status/1386569286185934848" target="_blank"&gt;Mon Apr 26 06:34:13 +0000 2021&lt;/a&gt;
&lt;/blockquote&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1386576533767081986"&gt;&lt;div class="header" data-reply="giovan_h/1386570673850441730"&gt;&lt;a href="https://twitter.com/giovan_h/" title="cryptid &amp;bull; universal constant &amp;bull; pal &amp;bull; maplehoof &amp;bull; cyber artisan &amp;bull; read my blog like and subscribe and leave a comment and share me to your web site"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="data:image/.jpg;base64,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"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;gio :⁾&lt;/span&gt;&lt;span class="at"&gt;@giovan_h&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="replyto"&gt;Replying to &lt;a class="prev" href="https://twitter.com/giovan_h/status/1386570673850441730"&gt;giovan_h&lt;/a&gt;:&lt;/span&gt;&lt;p&gt;forgot twitter will loop so here's a perfect loop version &lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;video controls="true" src="https://video.twimg.com/ext_tw_video/1386576428741783555/pu/vid/1280x720/pwtpsorGdFRbzK8F.mp4?tag=12"&gt;&lt;/video&gt;&lt;/div&gt;&lt;a href="https://twitter.com/giovan_h/status/1386576533767081986" target="_blank"&gt;Mon Apr 26 07:03:01 +0000 2021&lt;/a&gt;
&lt;/blockquote&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;that&amp;rsquo;s it. i don&amp;rsquo;t know what to do with it now&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Thu, 29 Jul 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-07-29:/blog/2021/07/29/i-built-the-wii-shop-wednesday-wii/</guid><category>gaming</category></item><item><title>20 Absolutely True Things about Sonic '06</title><link>https://blog.giovanh.com/blog/2021/07/22/20-absolutely-true-things-about-sonic-06/</link><description>&lt;p&gt;&lt;a href="https://blog.giovanh.com/blog/2021/07/22/20-absolutely-true-things-about-sonic-06/loading.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!-- Nonstandard: Attached promo image, YT embed, video gallery --&gt;
&lt;p&gt;Sonic ‘06 is infamously bad. It’s glitchy, it’s a meme, et cetera. But actually, it turns out that it’s really bad. It’s a bad game. I played it. I played so much of it. &lt;a href="https://twitter.com/giovan_h/status/896560102098051072"&gt;I own the DLC.&lt;/a&gt; It’s honestly hard to describe. So here’s a description.&lt;/p&gt;
&lt;p&gt;I’m trying not to include general shoddiness here, which there is a &lt;em&gt;lot&lt;/em&gt; of. Also, I’m not numbering them. This isn’t Buzzfeed.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;There is “Very Hard” mode DLC. You could pay money for it. This shipped after the game released and they knew about the issues. Sega’s reaction after shipping Sonic ‘06 was to try to charge people for more Sonic ‘06.&lt;/p&gt;
&lt;p&gt;In addition to the hard mode DLC, there is DLC for an extra story called “TEAM ATTACK AMIGO”, where you play through a number of stages as side characters. Like End Of The World, you have to finish the whole gauntlet in one go with one pool of lives.&lt;/p&gt;
&lt;p&gt;Apparently the game basically loads the whole overworld into memory any time the item layout changes or anything needs to be repositioned, even though really everything is in memory that should be there. This leads to hell situations like the box counting minigame. Oh god, the box counting minigame.&lt;/p&gt;
&lt;p&gt;
&lt;div class="lazyframe" data-vendor="youtube" onclick="this.outerHTML = `&amp;lt;iframe width=&amp;quot;560&amp;quot; height=&amp;quot;315&amp;quot; src=&amp;quot;https://www.youtube-nocookie.com/embed/8UWPx2XzML8?start=1373&amp;amp;autoplay=1&amp;quot; title=&amp;quot;Aristo's Challenge&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; picture-in-picture&amp;quot; allowfullscreen class=&amp;quot;media&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;`" style="background-image: url(https://img.youtube.com/vi/8UWPx2XzML8/hqdefault.jpg);"&gt;&lt;/div&gt;
&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Thu, 22 Jul 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-07-22:/blog/2021/07/22/20-absolutely-true-things-about-sonic-06/</guid><category>gaming</category><category>fiasco</category><category>gamedev</category></item><item><title>ja, es kawaii</title><link>https://blog.giovanh.com/blog/2021/07/10/ja-es-kawaii/</link><description>&lt;p&gt;Sometimes steam will give you a coupon for a random game that isn’t very popular. And so this is how my evening went:&lt;/p&gt;
&lt;aside class="cb content-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;this post is about horrible deranged nazi porn. no one should read this.&lt;/p&gt;
&lt;p&gt;in case there is any ambiguity in tone, I think everything discussed here is terrible&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;&lt;img alt="-33% off My Cute Fuhrer" src="https://blog.giovanh.com/blog/2021/07/10/ja-es-kawaii/coupon.png"/&gt;&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sat, 10 Jul 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-07-10:/blog/2021/07/10/ja-es-kawaii/</guid><category>rp</category><category>steam</category><category>alt-right</category><category>bonk</category><category>fiasco</category></item><item><title>The Sarah Z Video Fallout</title><link>https://blog.giovanh.com/blog/2021/06/30/the-sarah-z-video-fallout/</link><description>&lt;!-- Nonstandard: This quote: --&gt;
&lt;blockquote style="margin: 0 0 30px 0;border: 3px solid #C6C6C6;background: white;padding: 0 15px;text-align: left;align-self: center;font-family: courier;font-weight: bold;"&gt;
&lt;p&gt;One of your questions was whether I thought Gio was a stalker. It’s my personal take that he probably does not technically qualify as one, but I also don’t think it’s a simple “no” either, given his antagonistic fixation toward people at WP, and his persistent invasiveness has made the women at WP uncomfortable.&lt;/p&gt;
&lt;p&gt;Suffice to say for now, I don’t trust him, I will never speak to him, and probably no one from WP ever will either.&lt;/p&gt;
&lt;p&gt;After the backer update came out, I took at look at Gio’s revisions to his article, and unsurprisingly, he just rearranged all the new facts so that he could draw all the same basic negative conclusions he’d already drawn. &lt;/p&gt;
&lt;p&gt;I think this would be a bizarre conclusion to reach for anyone who was looking at that update objectively, and just indicates that the facts never really mattered because he had already made up his mind.&lt;/p&gt;
&lt;p&gt;The only explanation is what everyone at WP suspected all along.&lt;br/&gt;
He’s a troll.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;*record scratch*&lt;br/&gt;
*freeze-frame*&lt;br/&gt;
You’re probably wondering how I got into this situation.&lt;/p&gt;
&lt;p&gt;That’s right, I’m writing a story about me this time. It’s my blog, after all. First I wrote a history, then reported on a rumor, and now it’s time to tell the story of this dramatic little farce. &lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Wed, 30 Jun 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-06-30:/blog/2021/06/30/the-sarah-z-video-fallout/</guid><category>fandom</category><category>homestuck</category><category>hiveswap</category><category>kickstarter</category><category>fiasco</category></item><item><title>YouTube broke links and other life lessons</title><link>https://blog.giovanh.com/blog/2021/06/23/youtube-broke-links-and-other-life-lessons/</link><description>&lt;p&gt;This morning YouTube sent out &lt;a href="https://support.google.com/youtube/answer/9230970"&gt;an announcement&lt;/a&gt; that, in one month, they’re going to break all the links to all unlisted videos posted prior to 2017. This is a bad thing. There’s a whole lot bad here, actually. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Looks like Google is &lt;a href="https://www.xda-developers.com/google-drive-security-changes/"&gt;applying similar changes to Google Drive, too&lt;/a&gt;, meaning this doesn’t just apply to videos, but to &lt;em&gt;any&lt;/em&gt; publicly shared file link using Google Drive. As of next month, every public Google Drive link will stop working unless the files are individually exempted from the new security updates, meaning any unmaintained public files will become permanently inaccessible. Everything in this article still applies, the situation is just much worse than I thought.&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="the-basics"&gt;The Basics&lt;/h2&gt;
&lt;p&gt;YouTube has three kinds of videos: Public, Unlisted, and Private. Public videos are the standard videos that show up in searches. Private videos are protected, and can only be seen by specific YouTube accounts you explicitly invite. Unlisted videos are simply unlisted: anyone with the link can view, but the video doesn’t turn up automatically in search results.&lt;/p&gt;
&lt;p&gt;Unlisted videos are obviously great, for a lot of reasons. You can just upload videos to YouTube and share them with relevant communities — embed them on your pages, maybe — without worrying about all the baggage of YouTube as a Platform. &lt;/p&gt;
&lt;p&gt;What Google is trying to do here is roll out improvements they made to the unlisted URL generation system to make it harder for bots and scrapers to index videos people meant to be semi-private. This is a good thing. The way they’re doing it breaks every link to the vast majority of unlisted videos, including shared links and webpage embeds. This is a tremendously bad thing. &lt;a href="https://twitter.com/LittleshyFiM/status/1407742720798494723"&gt;I am not the first to notice this.&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;&lt;section class="section2"&gt;&lt;h2 id="oh-good-you-broke-links-again"&gt;Oh good, you broke links again&lt;/h2&gt;
&lt;p&gt;See, I just kind of sighed when I saw this, because this isn’t the first time I’ve lived through it. On March 15, 2017, Dropbox &lt;a href="https://help.dropbox.com/files-folders/share/public-folder"&gt;killed their public folder&lt;/a&gt;. Prior to that, Dropbox had a service where you could upload files to a special “Public” folder. This let you easily share links to those files with anyone — or groups of people — without having to explicitly invite them by email, and make them register a Dropbox account. Sound familiar?&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Wed, 23 Jun 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-06-23:/blog/2021/06/23/youtube-broke-links-and-other-life-lessons/</guid><category>cyber</category><category>archival</category><category>platforms</category><category>big tech</category></item><item><title>Twitter Blue is a late-stage symptom</title><link>https://blog.giovanh.com/blog/2021/06/04/twitter-blue-is-a-late-stage-symptom/</link><description>&lt;p&gt;&lt;a href="https://help.twitter.com/en/using-twitter/twitter-blue"&gt;Twitter Blue!&lt;/a&gt; $5/mo for Premium Twitter. It’s the latest thing that simply everyone.&lt;/p&gt;
&lt;p&gt;&lt;img alt="News articles about twitter blue" src="https://blog.giovanh.com/blog/2021/06/04/twitter-blue-is-a-late-stage-symptom/twitterblue_news.png"/&gt;&lt;/p&gt;
&lt;p&gt;I have an issue with it, but over a very fundamental point, and one Twitter shares with a lot of other platforms. So here’s &lt;em&gt;why&lt;/em&gt; it’s bad that Twitter decided to put accessibility features behind a paywall, and it isn’t the obvious.&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="clientserver-architecture-in-5-seconds"&gt;Client/Server architecture in 5 seconds&lt;/h2&gt;
&lt;p&gt;All web services, Twitter included, aren’t just one big magic thing. You can model how web apps work as two broad categories: the client and the server. The client handles all your input and output: posts you make, posts you see, things you can do. The server handles most of the real logic: what information gets sent to the client, how posts are stored, who is allowed to log in as what accounts, etc.&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Fri, 04 Jun 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-06-04:/blog/2021/06/04/twitter-blue-is-a-late-stage-symptom/</guid><category>cyber</category><category>antitrust</category><category>platforms</category><category>big tech</category><category>user-agent</category><category>api</category><category>twitter</category></item><item><title>Trouble a-brewin' at Redbubble</title><link>https://blog.giovanh.com/blog/2021/06/02/trouble-a-brewin-at-redbubble/</link><description>&lt;p&gt;Homestuck is once again lit up over fan merch. Homestuck and fan merch have a long and troubled history, but this latest incident is between artists, Redbubble, and Viz media. Here are my thoughts on that!&lt;/p&gt;
&lt;p&gt;In late May 2021, artists who sold Homestuck merch on Redbubble got this email:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Dear [name],&lt;/p&gt;
&lt;p&gt;Thank you for submitting your fan art for Homestuck and/or Hiveswap as part of Redbubble’s Fan Art Partner Program.&lt;/p&gt;
&lt;p&gt;At this time, our partnership with the rights holder VIZ Media has come to an end. When a partnership expires, we are required to remove officially approved artworks from the marketplace. This means that your Homestuck and/or Hiveswap designs will be removed from Redbubble soon.&lt;/p&gt;
&lt;p&gt;Here are a couple of things to keep in mind:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It is important to know that licensors do not allow previously approved designs once sold on Redbubble to be sold on any other platform, even after the program ends.&lt;/li&gt;
&lt;li&gt;Because this removal is not in response to a complaint, your account will not be negatively impacted.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Partnerships come and go, but don’t worry. We’re looking forward to partnering with more awesome brands in the future. &lt;/p&gt;
&lt;p&gt;Check out our Current Brand Partnerships list to see all the properties that are actively accepting submissions. For additional information, we recommend checking out the Fan Art Partner Program FAQ.&lt;/p&gt;
&lt;p&gt;Thank you, 
Redbubble&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This hit a lot of people, and hit them hard:&lt;/p&gt;
&lt;div class="thread"&gt;
&lt;p&gt;&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1398289360370520073"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/avstinado/" title="@VastError @SyndicationVE writer and director. also i'm a bart, man. he/they. contact: austin@deconreconstruction.com"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="https://pbs.twimg.com/profile_images/1250141720462987274/vGCqfn8a_normal.png"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;austina(annoyed grunt)&lt;/span&gt;&lt;span class="at"&gt;@avstinado&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;to add insult to tonight's injury, redbubble has decided to spontaneously take down the main 12's sigil shirts off of the VE storefront on viz's behalf. the storefront they've been on for three years. without issue. that use alchemy symbols. which are public domain.&lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;/div&gt;&lt;a href="https://twitter.com/avstinado/status/1398289360370520073" target="_blank"&gt;Fri May 28 14:45:37 +0000 2021&lt;/a&gt;
&lt;/blockquote&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1400171479027826690"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/avstinado/" title="@VastError @SyndicationVE writer and director. also i'm a bart, man. he/they. contact: austin@deconreconstruction.com"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="https://pbs.twimg.com/profile_images/1250141720462987274/vGCqfn8a_normal.png"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;austina(annoyed grunt)&lt;/span&gt;&lt;span class="at"&gt;@avstinado&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;update on the redbubble situation: looks like if you have any currently running VE merchandise, you're officially an owner of limited edition products that we legally cannot reuse or redistribute.&lt;/p&gt;&lt;p&gt;what a fucking joke. &lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;a href="https://twitter.com/avstinado/status/1400171479027826690/photo/1" target="_blank"&gt;
&lt;img class="img count1" onerror="(async () =&amp;gt; {this.onerror=null;this.src=`https://web.archive.org/web/0/${this.src}`;})();" src="https://pbs.twimg.com/media/E25oiGMXIAIBI8b.jpg"/&gt;
&lt;/a&gt;&lt;/div&gt;&lt;a href="https://twitter.com/avstinado/status/1400171479027826690" target="_blank"&gt;Wed Jun 02 19:24:29 +0000 2021&lt;/a&gt;
&lt;/blockquote&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Rut-roh!&lt;/p&gt;
&lt;p&gt;Unfortunately for Twitter and brevity this is actually the intersection of a couple different complicated issues, which I’ll try to summarize here. &lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="copyright-law-really-sucks-for-fanartists-actually"&gt;Copyright law really sucks for fanartists, actually&lt;/h2&gt;
&lt;p&gt;Just gonna get this one out of the way right off the bat. Copyright law gives IP owners a tremendous amount of power over what’s done with their characters and designs, even extending far into derivative fanart. If you own Homestuck, you actually &lt;em&gt;can&lt;/em&gt; take someone to court over selling merch of their fantroll, and probably win. That’s not a great starting point, but it’s the truth. &lt;/p&gt;
&lt;p&gt;Eevee has a great write-up of &lt;a href="https://eev.ee/blog/2015/10/23/copyright-is-broken/"&gt;why this is bad&lt;/a&gt;. I’d also point you to Tom Scott’s &lt;a href="https://www.youtube.com/watch?v=1Jwo5qc78QU"&gt;video&lt;/a&gt; about how copyright law isn’t designed for intermediate platforms like Redbubble, but suffice it to say, yeah, copyright law really sucks for fanartists, actually. &lt;/p&gt;
&lt;p&gt;This is the most complex thing going on here, certainly, but it’s not new and interesting. What &lt;em&gt;is&lt;/em&gt; new and interesting, though, is&lt;/p&gt;
&lt;/section&gt;&lt;section class="section2"&gt;&lt;h2 id="redbubble-forcing-predatory-licensing-on-people"&gt;Redbubble forcing predatory licensing on people&lt;/h2&gt;
&lt;p&gt;Now, copyright law sucks for fanartists, but that doesn’t explain what happened here. &lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Wed, 02 Jun 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-06-02:/blog/2021/06/02/trouble-a-brewin-at-redbubble/</guid><category>fandom</category><category>homestuck</category><category>IP</category><category>platforms</category><category>fanwork</category></item><item><title>Positioning Things in Ren'py</title><link>https://blog.giovanh.com/blog/2021/05/17/positioning-things-in-renpy/</link><description>&lt;!-- Nonstandard: Inline SVG html, Inline style html --&gt;
&lt;p&gt;As is common in Python, the mechanical process of displaying something on screen in Ren’py is at once easy to execute and deceptively complicated to execute correctly.&lt;/p&gt;
&lt;p&gt;The Ren’py documentation does a fine job of defining the specifications of position properties, but intuitively understanding how to use those properties can still be hard because it doesn’t include much in the way of examples or elaboration, so here are some of those.&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="your-basic-properties"&gt;Your basic properties&lt;/h2&gt;
&lt;p&gt;These names come directly from &lt;a href="https://www.renpy.org/doc/html/atl.html#list-of-transform-properties"&gt;atl transform&lt;/a&gt; on the documentation. Note that these are generally parallel with the &lt;a href="https://www.renpy.org/doc/html/style_properties.html#position-style-properties"&gt;style properties&lt;/a&gt; of the same names.&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Mon, 17 May 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-05-17:/blog/2021/05/17/positioning-things-in-renpy/</guid><category>dev</category><category>python</category><category>gamedev</category><category>renpy</category></item><item><title>W.D. Gaster and fake depth</title><link>https://blog.giovanh.com/blog/2021/05/02/wd-gaster-and-fake-depth/</link><description>&lt;p&gt;&lt;em&gt;or, “W.D. Gaster undercuts Undertale’s cohesiveness as a work”&lt;/em&gt;&lt;/p&gt;
&lt;aside class="cb spoiler-warning"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This article has spoilers for Undertale/Deltarune and Petscop.&lt;/p&gt;
&lt;/aside&gt;
&lt;!-- Bad depth (me) --&gt;
&lt;p&gt;When I wrote The Raphael Parable, I updated it with a little ARG. “The ARG Update”, I called it. There were scattered clues, and a puzzle, and secret notes so the diligent scavenger could piece together what &lt;em&gt;really&lt;/em&gt; happened. 
Except nothing did really happen. There wasn’t a story I wanted to tell, there wasn’t an interesting mystery to solve, there were just clues tied to more clues tied to an arbitrary ending. It was the trappings of mystery without any of the meaning.&lt;/p&gt;
&lt;!-- Good depth (other people) --&gt;
&lt;p&gt;Petscop, on the other hand, has a substantial depth to it because it keeps tying itself to reality. The viewer is given a real person recording themselves playing a game. It’s set in our world. The game itself seems to be intricately tied to real-world events; too. Disappearances, the player’s family, even the YouTube account managing the videos. Petscop tells a deep mystery story because the mystery is backed by a &lt;em&gt;story&lt;/em&gt;: a death, an abuse, a revenge. There’s meat to the mystery.&lt;/p&gt;
&lt;!-- Gaster exists --&gt;
&lt;p&gt;Sans (Undertale) is a fun character. He’s spooky. He breaks an unbreakable log, he teleports, he’s figured out something about the timelines. Then there’s a fight with Sans, where he’s very tough and has a gun. &lt;a href="https://www.reddit.com/r/Underminers/comments/44pffs/further_stratifying_gaster_and_sans_development/"&gt;Then&lt;/a&gt; he needed a backstory for his gun and science, and we got Gaster, who is almost those things. Gaster was a fun idea, though, so he got some extra Easter eggs. We get &lt;a href="https://undertale.wikia.com/wiki/Inaccessible_Rooms#Room_264"&gt;&lt;code&gt;room_gaster&lt;/code&gt;&lt;/a&gt;, the &lt;a href="https://undertale.wikia.com/wiki/Hotland/NPCs#Gaster.27s_Followers"&gt;gaster followers&lt;/a&gt;, &lt;a href="https://static.wikia.nocookie.net/undertale/images/d/de/Mysteryman_overworld.png"&gt;Mysteryman&lt;/a&gt;, the &lt;a href="https://undertale.wikia.com/wiki/Fun_Value#Wrong_Number_Song"&gt;wrong number song&lt;/a&gt;, and the &lt;a href="https://undertale.wikia.com/wiki/Fun_Value#Sound_Test_Room"&gt;sound test&lt;/a&gt;. He’s fun, and mysterious, and ended up carrying most of the mysterious lore bits of Undertale that were never quite explained.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sun, 02 May 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-05-02:/blog/2021/05/02/wd-gaster-and-fake-depth/</guid><category>fandom</category><category>undertale</category><category>writing</category><category>tsp</category><category>literary themes</category></item><item><title>The Hiveswap Fiasco – 2020-2021</title><link>https://blog.giovanh.com/blog/2021/04/21/the-hiveswap-fiasco-2020-2021/</link><description>&lt;p&gt;This point, early October 2020, is when I originally published this article. 
Time keeps ticking on, and Hiveswap updates continue to slowly drip out. &lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="october-2020"&gt;October 2020&lt;/h2&gt;
&lt;section class="section3"&gt;&lt;h3 id="act-2-trailer"&gt;Act 2 Trailer&lt;/h3&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1320458355098460160"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/homestuck/" title="alarmingly official homestuck account"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="https://pbs.twimg.com/profile_images/1112760250677878784/au-gJ8ZO_normal.jpg"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;Homestuck&lt;/span&gt;&lt;span class="at"&gt;@homestuck&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;video controls="true" src="https://video.twimg.com/ext_tw_video/1320457856194355200/pu/vid/640x360/ZEf_LkdPkZVmoNLD.mp4?tag=10"&gt;&lt;/video&gt;&lt;/div&gt;&lt;a href="https://twitter.com/homestuck/status/1320458355098460160" target="_blank"&gt;Sun Oct 25 20:12:59 +0000 2020&lt;/a&gt;
&lt;/blockquote&gt;
&lt;p&gt;A new trailer is posted for Hiveswap Act 2. It opens with “years ago, but not many” as a reference to how slow the development process has been going, I guess?&lt;/p&gt;
&lt;p&gt;Hiveswap Act 2 is delayed to November 2020.&lt;/p&gt;
&lt;p&gt;Hiveswap.com is also updated with a more “streamlined” design. The new design removes many links to other projects and independent artists that were previously only accessible through the Hiveswap home page, so all of that content is now inaccessible unless you have a direct link already. &lt;/p&gt;
&lt;p&gt;In the background, the entire &lt;code&gt;whatpumpkin.com&lt;/code&gt; domain now force-redirects to &lt;code&gt;hiveswap.com&lt;/code&gt;, breaking innumerable important links like &lt;a href="http://whatpumpkin.com/more-albums/"&gt;this one&lt;/a&gt; and &lt;a href="http://whatpumpkin.com/and-were-back-with-another-sneak-peek-at-hiveswap-act-2/"&gt;this one&lt;/a&gt; and &lt;a href="https://whatpumpkin.com/fellow-traveller-&amp;amp;-what-pumpkin-team-up-for-an-adventure/"&gt;that one&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="New Troll" src="https://blog.giovanh.com/blog/2021/04/21/the-hiveswap-fiasco-2020-2021/newtroll1025.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;The new website also has a screenshot with this troll who has not previously been seen in promotional material or as part of the Troll Call. This is Fefsprites’ fantroll &lt;a href="https://fefsprites.tumblr.com/post/174197288646/so-who-were-you-gonna-add-to-hiveswap-again"&gt;Idarat Catlaz&lt;/a&gt;, in the game due to them winning the &lt;a href="/blog/2020/10/03/the-hiveswap-fiasco-2017-2020/#comic-contest"&gt;comic contest&lt;/a&gt;. Nice!&lt;/p&gt;
&lt;/section&gt;&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Wed, 21 Apr 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-04-21:/blog/2021/04/21/the-hiveswap-fiasco-2020-2021/</guid><category>fandom</category><category>homestuck</category><category>hiveswap</category><category>kickstarter</category><category>fiasco</category></item><item><title>How we made Befriendus Ludicrously Accessible</title><link>https://blog.giovanh.com/blog/2021/04/13/how-we-made-befriendus-ludicrously-accessible/</link><description>&lt;!-- Nonstandard: Inline style --&gt;
&lt;p&gt;Befriendus; everybody’s favorite visual novel about making alien friends. It’s got trolls, yes, but it also has a slew of accessibility options. You can adjust everything: color, font, motion, even spelling. It’s clean, it’s easy, and it works. Here’s how we did it.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Befriendus in-game menu, with accessibility options" src="https://blog.giovanh.com/blog/2021/04/13/how-we-made-befriendus-ludicrously-accessible/options_menu.png" style="image-rendering: -webkit-optimize-contrast;"/&gt;&lt;/p&gt;
&lt;p&gt;When I was designing the basic accessibility framework I had these principles in mind:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Accessible scripts must be easy to write; work should never be duplicated&lt;ul&gt;
&lt;li&gt;Demanding people write multiple versions of work is bad design and encourages accessibility to eventually be dropped in favour of efficient production&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Humans should never do postprocessing tasks&lt;ul&gt;
&lt;li&gt;We’re writing software; a computer should do any and all mechanical work, not writers&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Accessibility options should have as granular control as possible&lt;ul&gt;
&lt;li&gt;Whenever possible, players should be able to select &lt;em&gt;exactly&lt;/em&gt; what they need, not be forced to use something that doesn’t match their needs.&lt;/li&gt;
&lt;li&gt;Options should be compatible with each other whenever possible&lt;/li&gt;
&lt;li&gt;Just pushing out transcripts is not accessible design.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The best way to explain these is probably to explain what we ended up doing, and how each design choice was made carefully in accordance with those principles.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Tue, 13 Apr 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-04-13:/blog/2021/04/13/how-we-made-befriendus-ludicrously-accessible/</guid><category>dev</category><category>homestuck</category><category>gamedev</category><category>python</category></item><item><title>VR First Thoughts</title><link>https://blog.giovanh.com/blog/2021/03/29/vr-first-thoughts/</link><description>&lt;p&gt;I got myself an Oculus Quest 2 a couple weeks ago on a recommendation, and I have some thoughts! If you haven’t done VR before (like me, before I had my first thoughts) you might be wondering what you might notice besides the obvious. So, here are my observations, in no particular order.&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="haptic-feedback-is-really-important"&gt;Haptic feedback is really important&lt;/h2&gt;
&lt;p&gt;Haptic feedback is really important. Even though it’s just vibration, the difference between feeling &lt;em&gt;something&lt;/em&gt; and feeling &lt;em&gt;nothing&lt;/em&gt; when you touch things is &lt;em&gt;worlds&lt;/em&gt;. The vibration does a decent job of simulating the feeling of resistance and letting you “feel out” the world, which is very important in games where the alternative is getting your prop stuck in a shelf. &lt;/p&gt;
&lt;/section&gt;&lt;section class="section2"&gt;&lt;h2 id="you-can-actually-stream-games-and-it-works"&gt;You can actually stream games and it works&lt;/h2&gt;
&lt;p&gt;When I first saw that the recommended way to play PC games was over local wifi, I thought “no way. There’s no way you can get a high-quality video stream at that resolution with those latency requirements over wifi. I’m going to get a good USB cable and stream directly at 300 mbps and it’ll be excellent.” Turns out, no! With my (fairly normal) router, Virtual Desktop can stream a steady game at 1832x1920@60fps x2 over ~70 mbps with an imperceptible loss in quality. (Those numbers mean it’s good.) The connection is actually way more reliable than using the USB connection, and the Virtual Desktop app has a unified game launcher for both Rift and Steam which works great. If you look closely at dark areas you can see some artifacts, but in general I think this is a case where the video compression is extremely effective. &lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Mon, 29 Mar 2021 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-03-29:/blog/2021/03/29/vr-first-thoughts/</guid><category>gaming</category><category>steam</category><category>vr</category></item><item><title>Stanley and the Death of Sourcemods</title><link>https://blog.giovanh.com/blog/2021/02/12/stanley-and-the-death-of-sourcemods/</link><description>&lt;!-- Nonstandard: YT embed, Secret --&gt;
&lt;!-- Thesis: Game modding is good and important, but recent trends in architecture discourage it, which is bad --&gt;
&lt;!-- My latest article is about PC game modding and The Stanley Parable. --&gt;
&lt;p&gt;My first published, “successful” piece of game content was &lt;a href="https://steamcommunity.com/app/221910/discussions/0/485622866453367258/"&gt;The Raphael Parable&lt;/a&gt;, a little exploration game about wandering through an impossible office.
I use the word “content”, here because The Raphael Parable isn’t a game per se, but it’s a mod for the Steam release of &lt;a href="https://store.steampowered.com/app/221910/The_Stanley_Parable/"&gt;The Stanley Parable&lt;/a&gt; that bootstraps the assets and mechanics to create a totally different game. &lt;/p&gt;
&lt;p&gt;A new version of The Stanley Parable is releasing soon: &lt;a href="https://www.stanleyparable.com"&gt;The Stanley Parable: Ultra Deluxe&lt;/a&gt; is slated to be a remake with improved graphics, new endings, and console support. When I first saw this, I thought it would be a fun opportunity to go back to The Raphael Parable and tighten up some of the work that didn’t age well (I slapped it together pretty quickly, in hindsight, and it shows in places) as a new mod for the new version of the game. &lt;/p&gt;
&lt;!-- ![The Stanley Parable: Ultra Deluxe promo art](./tsp-ultradeluxe.png) --&gt;
&lt;p&gt;&lt;img alt='"I love my car, I just hate my engine" Unity logo mug' src="https://blog.giovanh.com/blog/2021/02/12/stanley-and-the-death-of-sourcemods/i-hate-my-engine.jpg"/&gt;
&lt;em&gt;“I love my car, I just hate my engine”&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Unfortunately, I quickly realized this was a non-starter for one simple reason: Unity. Ultra Deluxe is made by &lt;a href="https://crowscrowscrows.com"&gt;crowscrowscrows&lt;/a&gt; in Unity, which unfortunately stops this iterative development in its tracks. Let me explain:&lt;/p&gt;
&lt;!-- [^assume]: I ASSUME. I mean, Ultra Deluxe isn't out yet, and the specific technology it uses certainly hasn't been announced, but crowscrowscrows makes games in Unity, and did you see that mug? --&gt;
&lt;aside class="cb spoiler-free"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This article is spoiler-free for The Stanley Parable and everything else.&lt;/p&gt;
&lt;/aside&gt;
&lt;section class="section2"&gt;&lt;h2 id="the-weird-genealogy-of-the-raphael-parable"&gt;The Weird Genealogy of The Raphael Parable&lt;/h2&gt;
&lt;p&gt;The Stanley Parable itself started as a mod. The original published version is &lt;a href="https://www.moddb.com/mods/the-stanley-parable"&gt;a Half-Life 2 mod&lt;/a&gt; from 2011, of which the 2013 Steam release is an &lt;a href="https://steamcommunity.com/sharedfiles/filedetails/?id=95511356"&gt;HD remix&lt;/a&gt;. 
The Source Engine, which Half-Life 2 is built on, makes it easy to author a set of new maps and release it as a “&lt;a href="https://developer.valvesoftware.com/wiki/File_structures_in_Valve_games"&gt;sourcemod&lt;/a&gt;”. 
Sourcemods are a fascinating artifact of Valve history, and function as a kind of mod support for source games built directly into the Steam client.
Davey Wreden did exactly this to make The Stanley Parable; he took the basic 3D engine and a few generic office-themed assets and made a completely new experience. &lt;/p&gt;
&lt;!-- ;) --&gt;
&lt;script src="/theme/js/secret.js"&gt;&lt;/script&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Fri, 12 Feb 2021 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-02-12:/blog/2021/02/12/stanley-and-the-death-of-sourcemods/</guid><category>gaming</category><category>steam</category><category>tsp</category><category>gamedev</category><category>fanwork</category></item><item><title>More on the Hiveswap Odd Gentlemen Debacle</title><link>https://blog.giovanh.com/blog/2021/01/14/more-on-the-hiveswap-odd-gentlemen-debacle/</link><description>&lt;!-- Nonstandard: Disclaimer, mermaid --&gt;
&lt;!--    
Well, here's The Hiveswap Article Part 2. New leaks about The Odd Gentlemen, Andrew Hussie's bizarre misconduct, and where that Kickstarter money actually went. (the answer will surprise you!) This one's short, but packed. 
--&gt;
&lt;aside class="cb update"&gt;
&lt;div class="aside-header"&gt;&lt;span class="icon"&gt;&lt;/span&gt;&lt;span class="type"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;I &lt;strong&gt;cannot emphasize enough&lt;/strong&gt; that this is my description of claims someone else made and relayed to me. I have done as much follow-up and confirmation/debunking as possible, but this is an article &lt;strong&gt;about an accusation&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The only things I’m treating as truly confirmed are the ones that I was able to independently confirm, which I’ve noted. 
Enough of it is verifiably true that it was worth telling people about, but I &lt;em&gt;cannot personally endorse&lt;/em&gt; this account. It’s not my claim!&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;When I wrote &lt;a href="https://blog.giovanh.com/blog/2020/10/03/the-hiveswap-fiasco/"&gt;the Hiveswap article&lt;/a&gt;, I left a note asking for people to contact me if there were any facts I got wrong or major events I missed. A number of people took me up on that, which I am thankful for. &lt;/p&gt;
&lt;p&gt;However, there was one big report I got that was too significant to just edit into the article. Because these allegations were new, and from a credible source, I thought they warranted their own article and research.&lt;/p&gt;
&lt;!-- For the rest of the story about Hiveswap, see [The Hiveswap Fiasco](https://blog.giovanh.com/blog/2020/10/03/the-hiveswap-fiasco/), to which this is a kind of sequel. --&gt;
&lt;p&gt;By the request of the source (because Andrew is known to be aggressively litigious), I have edited our conversation into a synthetic document summarizing their position. This is a summary of the claims from the source to preserve their anonymity and ensure clarity. I am not yet asserting anything, just stating what the source said; I’ll hold my personal comments until after the whole thing. 
Here is that report:&lt;/p&gt;
&lt;hr/&gt;
&lt;section class="section2"&gt;&lt;h2 id="supposedly-what-actually-happened-with-the-odd-gentlemen"&gt;Supposedly: What &lt;em&gt;actually&lt;/em&gt; happened with The Odd Gentlemen&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;The biggest reason there’s an NDA in place about The Odd Gentlemen’s involvement is that Andrew wanted to cover up the fact that much of the blame is on Andrew’s failure to deliver a workable plan to the studio in the agreed-upon schedule.&lt;/p&gt;
&lt;p&gt;While parts of the ipgd post are true, the post distorts what happened into a story designed to make Andrew look like he did no wrong. What actually happened is this:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Thu, 14 Jan 2021 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-01-14:/blog/2021/01/14/more-on-the-hiveswap-odd-gentlemen-debacle/</guid><category>fandom</category><category>homestuck</category><category>hiveswap</category><category>kickstarter</category><category>fiasco</category></item><item><title>Tweets about the attack on the Capitol</title><link>https://blog.giovanh.com/blog/2021/01/09/tweets-about-the-attack-on-the-capitol/</link><description>&lt;p&gt;Twitter is an ephemeral medium. 
You scroll through tweets just fast enough for them to register in your head, and then they’re gone forever.
If you want to find something again, you can go to somebody’s profile and scroll through, one tweet at a time, until you find what you wanted.&lt;/p&gt;
&lt;p&gt;This is a lousy way of capturing history. That’s not great, because Twitter does such a good job of capturing important moments, as they happen.
If you want to save that moment, though, what can you do? What do you do if you think a day’s tweets are important? Print them out?&lt;/p&gt;
&lt;p&gt;Well, I did. Here is what I tweeted and retweeted, on a page. Tactile. To be read.&lt;/p&gt;
&lt;blockquote class="twitter-tweet" data-dnt="true" data-lang="en" data-nosnippet="true" data-tweetid="1344800991867248640"&gt;&lt;div class="header"&gt;&lt;a href="https://twitter.com/giovan_h/" title="cryptid • universal constant • pal • maplehoof • Ⓒ"&gt;&lt;img onerror="// (async () =&amp;gt; {this.onerror=null;const newsrc=`https://web.archive.org/web/0/${this.src}`;console.log(this, this.src, newsrc);this.src=newsrc;})();" src="https://pbs.twimg.com/profile_images/1345571311716859905/CHzAlNzQ_normal.jpg"/&gt;&lt;div class="vertical"&gt;&lt;span class="name"&gt;gio :⁾&lt;/span&gt;&lt;span class="at"&gt;@giovan_h&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;i wonder what will happen&lt;/p&gt;&lt;/div&gt;&lt;div class="media" style="display: none;"&gt;&lt;/div&gt;&lt;a href="https://twitter.com/giovan_h/status/1344800991867248640" target="_blank"&gt;Fri Jan 01 00:21:56 +0000 2021&lt;/a&gt;
&lt;/blockquote&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sat, 09 Jan 2021 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2021-01-09:/blog/2021/01/09/tweets-about-the-attack-on-the-capitol/</guid><category>politics</category><category>tweets</category><category>alt-right</category></item><item><title>Nintendo: It's about control, not piracy</title><link>https://blog.giovanh.com/blog/2020/11/19/nintendo-its-about-control-not-piracy/</link><description>&lt;p&gt;Nintendo is trending on twitter today for yet &lt;em&gt;another&lt;/em&gt; abuse of the legal system. Today, though, it’s not about a fan game, or intellectual property, or anything else Nintendo has something approaching a reasonable claim too — it’s all a sham.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Thu, 19 Nov 2020 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2020-11-19:/blog/2020/11/19/nintendo-its-about-control-not-piracy/</guid><category>politics</category><category>gaming</category><category>feudalism</category><category>big tech</category><category>nintendo</category><category>fanwork</category></item><item><title>Why Act 6 Hits Different</title><link>https://blog.giovanh.com/blog/2020/11/08/why-act-6-hits-different/</link><description>&lt;!-- Nonstandard: Disclaimer --&gt;
&lt;!-- Introduce topic: culture, bad analysis --&gt;
&lt;p&gt;One of the reasons Homestuck was so popular is how contemporary it was to internet culture. 
You tell anyone that Homestuck is heavily influenced by internet culture and they’ll nod and agree and you’ll both be very intelligent media critics. 
But somehow, even from that same group, you’ll see people who notice how the writing style of Homestuck changes over its &lt;em&gt;nine year&lt;/em&gt; run and forget about contemporary culture entirely, which is a mistake.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sun, 08 Nov 2020 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2020-11-08:/blog/2020/11/08/why-act-6-hits-different/</guid><category>fandom</category><category>homestuck</category><category>queer culture</category><category>language</category></item><item><title>ACNH Printer - a writeup!</title><link>https://blog.giovanh.com/blog/2020/11/05/acnh-printer-a-writeup/</link><description>&lt;!-- Nonstandard: YT embed, mermaid --&gt;
&lt;p&gt;This is a writeup of a project I did in April but never released. Well, I’ve &lt;a href="https://github.com/GiovanH/ACNH-Printer"&gt;definitely released it now&lt;/a&gt;, if you want to give it a try!&lt;/p&gt;
&lt;p&gt;Instead of a real introduction, here’s a video demo, with camcorder LP technology from 2005:&lt;/p&gt;
&lt;p&gt;
&lt;div class="lazyframe" data-vendor="youtube" onclick='this.outerHTML = `&amp;lt;iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/GFba91hnWyo?autoplay=1" title="Printer Demo" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; picture-in-picture" allowfullscreen class="media"&amp;gt;&amp;lt;/iframe&amp;gt;`' style="background-image: url(https://img.youtube.com/vi/GFba91hnWyo/hqdefault.jpg);"&gt;&lt;/div&gt;
&lt;em&gt;I am not going to buy a capture card&lt;/em&gt;&lt;/p&gt;
&lt;!-- iframe embed instead of markdeep b/c we're above the fold and don't get deps here --&gt;
&lt;p&gt;Ever since Wild World, Animal Crossing has had a pattern system, where players can design their own textures and use them as clothes or decoration. New Horizons has one, but since it doesn’t have a stylus you have to either use the directional pad to mark individual pixels or draw with your fingertip. &lt;/p&gt;
&lt;p&gt;I thought it would be fun to find a way to automate that. Now, granted, it takes a while, but it’s still much faster than trying to copy pixels over by hand. &lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Thu, 05 Nov 2020 00:00:00 -0600</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2020-11-05:/blog/2020/11/05/acnh-printer-a-writeup/</guid><category>dev</category><category>writeup</category><category>gaming</category><category>technical</category><category>python</category></item><item><title>The Hiveswap Fiasco – 2017-2020</title><link>https://blog.giovanh.com/blog/2020/10/03/the-hiveswap-fiasco-2017-2020/</link><description>&lt;p&gt;Continuing from Viz Media and the release of Act 1....&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="november-2017"&gt;November 2017&lt;/h2&gt;
&lt;section class="section3"&gt;&lt;h3 id="sbahj-kickstarter"&gt;SBAHJ Kickstarter&lt;/h3&gt;
&lt;p&gt;Andrew Hussie, in conjunction with comedy writers KC Green and Dril, launched &lt;a href="https://web.archive.org/web/20190416030352/https://makethatthing.com/sweetbro/"&gt;another Kickstarter&lt;/a&gt; for a hardcover spin-off of the Homestuck sub-comic Sweet Bro and Hella Jeff. &lt;/p&gt;
&lt;p&gt;This campaign was a success (180% funded) and the book was written, printed, and shipped to backers in 2018. Make That Thing is a subsidiary of TopatoCo, &lt;a href="https://topatoco.com/collections/books"&gt;a book publisher&lt;/a&gt; which previously handled MSPA merchandise. &lt;/p&gt;
&lt;p&gt;One interesting note is that Andrew Hussie made &lt;a href="https://www.kickstarter.com/profile/1724736026"&gt;a new Kickstarter account&lt;/a&gt; for this, &lt;em&gt;possibly in violation of the Kickstarter terms of service&lt;/em&gt;, because Hiveswap is in such poor standing that Kickstarter &lt;a href="https://blog.giovanh.com/blog/2020/10/03/the-hiveswap-fiasco-2017-2020/kickstarter_suspension.png"&gt;has banned Andrew from starting more Kickstarter projects&lt;/a&gt;. If this account were set up just to evade the ban, that would explain it. &lt;/p&gt;
&lt;/section&gt;&lt;section class="section3"&gt;&lt;h3 id="troll-call"&gt;Troll Call&lt;/h3&gt;
&lt;p&gt;&lt;img alt="Troll call" src="https://blog.giovanh.com/blog/2020/10/03/the-hiveswap-fiasco-2017-2020/trollcall.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;A &lt;a href="http://web.archive.org/web/20171201202412/http://mspaintadventures.com/"&gt;newspost on mspaintadventures.com&lt;/a&gt; announces the “Troll Call”:&lt;/p&gt;
&lt;/section&gt;&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sat, 03 Oct 2020 18:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2020-10-03:/blog/2020/10/03/the-hiveswap-fiasco-2017-2020/</guid><category>fandom</category><category>homestuck</category><category>hiveswap</category><category>undertale</category><category>kickstarter</category><category>fiasco</category><category>renpy</category></item><item><title>The Hiveswap Fiasco – 2015-2017</title><link>https://blog.giovanh.com/blog/2020/10/03/the-hiveswap-fiasco-2015-2017/</link><description>&lt;p&gt;Continuing from the kickstarter campaign and the work of What Pumpkin NYC....&lt;/p&gt;
&lt;section class="section2"&gt;&lt;h2 id="december-2015-wp-nyc-dissolve-a-new-look"&gt;December 2015: WP NYC Dissolve &amp;amp; A New Look&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.kickstarter.com/projects/14293468/homestuck-adventure-game/posts/1453119"&gt;Update #22&lt;/a&gt; (Public)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We’ve been taking the last several months to pause production on Hiveswap and revise the overall approach to the game, as well as the visual direction, to make things a little more cost-efficient, and more rapidly producible over the full span of the series.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="A 2D Joey stands in her bedroom" src="https://blog.giovanh.com/blog/2020/10/03/the-hiveswap-fiasco-2015-2017/newlook.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;So. You may have seen this one coming. 
Maybe my language gave it away, or you just know what Hiveswap: Act 1 looks like.&lt;/p&gt;
&lt;p&gt;But Hiveswap’s artstyle is 2D now.
This means that all the previous assets for the characters and items that were made, shaded, and rendered in 3D won’t be used, including everything shown in the &lt;a href="/blog/2020/10/03/the-hiveswap-fiasco-2012-2015/#hiveswap-friends"&gt;preview video&lt;/a&gt;, &lt;a href="/blog/2020/10/03/the-hiveswap-fiasco-2012-2015/#kickstarter-update-trailer"&gt;trailer video&lt;/a&gt;, and the rendered 3D screenshots.&lt;/p&gt;
&lt;p&gt;Let’s hear more from Andrew(?) before we rush to judgement, though:&lt;/p&gt;
&lt;/section&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sat, 03 Oct 2020 16:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2020-10-03:/blog/2020/10/03/the-hiveswap-fiasco-2015-2017/</guid><category>fandom</category><category>homestuck</category><category>hiveswap</category><category>kickstarter</category><category>fiasco</category></item><item><title>Accountability on Kickstarter</title><link>https://blog.giovanh.com/blog/2020/10/03/accountability-on-kickstarter/</link><description>&lt;p&gt;This section was originally included in the main body of &lt;a href="/blog/2020/10/03/the-hiveswap-fiasco/"&gt;The Hiveswap Fiasco&lt;/a&gt; but I decided it was distinct enough to move it to its own aside page.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;A quick note here about how Kickstarter works. This may seem excessive to litigate now, but as you&amp;rsquo;ll read shortly, it&amp;rsquo;s unfortunately surprisingly relevant. When a Kickstarter project succeeds, backers pay the creator directly, not Kickstarter &amp;mdash; Kickstarter takes a cut, but the transaction is between the backer and the creator. For this reason, Kickstarter doesn&amp;rsquo;t guarantee refunds.&lt;/p&gt;
&lt;p&gt;However, Kickstarter is &lt;em&gt;not&lt;/em&gt; a blind donation based on trust alone: &lt;strong&gt;creators are legally obligated to fulfill backers.&lt;/strong&gt; From Kickstarter&amp;rsquo;s own accountability FAQ:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Is a creator legally obligated to fulfill the promises of their project?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Yes. Kickstarter&amp;rsquo;s Terms of Use require creators to fulfill all rewards of their project or refund any backer whose reward they do not or cannot fulfill.&lt;/strong&gt; (&lt;a href="https://ksr-assets.s3.amazonaws.com/creator-responsibility.png"&gt;This&lt;/a&gt; is what creators see before they launch.) We crafted these terms to create a &lt;strong&gt;legal requirement for creators to follow through on their projects&lt;/strong&gt;, and to give backers a recourse if they don&amp;rsquo;t. We hope that backers will consider using this provision only in cases where they feel that a creator has not made a good faith effort to complete the project and fulfill.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is a summary of section 4 of the &lt;a href="https://www.kickstarter.com/terms-of-use"&gt;Kickstarter Terms of Use&lt;/a&gt;,&lt;sup id="fnref:termsofuse"&gt;&lt;a class="footnote-ref" href="#fn:termsofuse"&gt;1&lt;/a&gt;&lt;/sup&gt; which reads:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When a project is successfully funded, the creator must complete the project and fulfill each reward. Once a creator has done so, they&amp;rsquo;ve satisfied their obligation to their backers.&lt;/p&gt;
&lt;p&gt;Throughout the process, creators owe their backers a high standard of effort, honest communication, and a dedication to bringing the project to life. At the same time, backers must understand that they&amp;rsquo;re not buying something when they back a project&amp;mdash;they&amp;rsquo;re helping to create something new, not ordering something that already exists. There may be changes or delays, and there&amp;rsquo;s a chance something could happen that prevents the creator from being able to finish the project as promised.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;!-- --&gt;
&lt;blockquote&gt;
&lt;p&gt;If a creator is unable to complete their project and fulfill rewards, they&amp;rsquo;ve failed to live up to the basic obligations of this agreement. To right this, they must make every reasonable effort to find another way of bringing the project to the best possible conclusion for backers.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;!-- --&gt;
&lt;blockquote&gt;
&lt;p&gt;The creator is solely responsible for fulfilling the promises made in their project. If they&amp;rsquo;re unable to satisfy the terms of this agreement, they may be subject to legal action by backers.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Now, if a project fails and goes bankrupt, they obviously can&amp;rsquo;t fulfill their obligations. Kickstarter projects fail all the time. However, there &lt;strong&gt;are concrete, legal obligations&lt;/strong&gt; on creators of successfully funded projects, as long as they&amp;rsquo;re capable of doing so. Or, if there&amp;rsquo;s a reason that the final product can&amp;rsquo;t be completed, (non-bankrupt) project creators are obligated to refund their backers. Note that there are two obligations here: between the creator and Kickstarter, the company, and between the creator and the project backers.&lt;/p&gt;
&lt;p&gt;So, in the case of the Homestuck Kickstarter, &amp;ldquo;MS Paint Adventures&amp;rdquo; is legally obligated by both Kickstarter and the project backers to deliver the promised game and merchandise to the project&amp;rsquo;s backers. But hopefully it won&amp;rsquo;t come to that, right?&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn:termsofuse"&gt;
&lt;p&gt;I&amp;rsquo;m reading from the latest version of the Kickstarter terms of use here even though the Homestuck Kickstarter was launched under an earlier revision. That shouldn&amp;rsquo;t affect anything, though, because &lt;a href="https://www.kickstarter.com/terms-of-use#section1"&gt;continued use of the service constitutes agreement to the updated rules&lt;/a&gt;. Users both &lt;em&gt;are currently&lt;/em&gt; subject to the latest version of the terms and &lt;em&gt;were&lt;/em&gt; subject to what &lt;em&gt;was&lt;/em&gt; the current version of the terms at time of publication.&amp;nbsp;&lt;a class="footnote-backref" href="#fnref:termsofuse" title="Jump back to footnote 1 in the text"&gt;&amp;larrhk;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sat, 03 Oct 2020 12:30:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2020-10-03:/blog/2020/10/03/accountability-on-kickstarter/</guid><category>fandom</category><category>kickstarter</category><category>homestuck</category></item><item><title>The Hiveswap Fiasco – 2012-2015</title><link>https://blog.giovanh.com/blog/2020/10/03/the-hiveswap-fiasco/</link><description>&lt;!-- Nonstandard: Side-by-side, inline video, .plain style (emotes), anchorlinks, mermaid --&gt;
&lt;p&gt;The real “story” of Hiveswap isn’t found in the universe of the game. Instead, when people talk about Hiveswap, the conversation is dominated by stories about the development and history of the game as a project, which started as a Kickstarter success story but then bounced from scandal to scandal for years. The story of how Andrew Hussie burned through a $2.5 million dollar investment over eight years to produce almost nothing is fascinating, convoluted, and poorly understood especially among newer Homestuck fans.&lt;/p&gt;
&lt;p&gt;Right now, this meta-story mostly exists in the form of oral history. This is probably due to the fact that a lot of the key sources have now been deleted, but I think it’s also because it feels premature to write up a “postmortem” on a game’s development before it’s even an eighth of the way finished. Not canceled, just… in limbo. There is also significant pressure on people in the know — even fans who just lived through backing the project — to keep quiet about all this, for reasons I’ll get into.&lt;/p&gt;
&lt;p&gt;I’m documenting the story so far so that the Hiveswap Story isn’t lost to time, and so there’s a decent summary of events so far, and maybe even so new Hiveswap fans can catch up.
I dug through every page, announcement, interview, blog post, FAQ, and tweet I could find, and the culmination is this the most comprehensive — as far as I can tell — explanation of Hiveswap to date.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sat, 03 Oct 2020 12:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2020-10-03:/blog/2020/10/03/the-hiveswap-fiasco/</guid><category>fandom</category><category>homestuck</category><category>hiveswap</category><category>undertale</category><category>kickstarter</category><category>fiasco</category></item><item><title>How Apple Destroyed Mobile Freeware</title><link>https://blog.giovanh.com/blog/2020/08/14/how-apple-destroyed-mobile-freeware/</link><description>&lt;!-- 
url: blog/2020/08/14/why-theres-no-good-calculator-for-the-ipad/
save_as: blog/2020/08/14/why-theres-no-good-calculator-for-the-ipad/index.html
 --&gt;
&lt;!-- 
![image-20200314183103942](./image-20200314183103942.png)

&gt; [@Fyrebeam](https://web.archive.org/web/20200314233041/https://twitter.com/Fyrebeam) Really disappointed Clip Studio doesn't have a one-time purchase option on the iPad, and instead you have to buy an annual or monthly subscription 😔
&gt; 
https://twitter.com/leounsung/status/1237808726221848576
 --&gt;
&lt;!-- 
# There's no calculator on the iPad --&gt;
&lt;p&gt;I have a memory from when I was very young of my dad doing the finances. He would sit in his office with a computer on one side and an old-fashioned adding machine on the desk. While he worked on the spreadsheet on the computer, he would use the adding machine for quick calculations. &lt;/p&gt;
&lt;p&gt;&lt;img alt="Adding machine" src="https://blog.giovanh.com/blog/2020/08/14/how-apple-destroyed-mobile-freeware/machine.jpg" title="this one is from GIS but it looks just this"/&gt;&lt;/p&gt;
&lt;p&gt;A year or two ago I had a very similar experience. I walked upstairs to the office and there he was, at the same desk, spreadsheet on one side and calculator on the other. Except it was 2020, and he had long ago replaced the adding machine with an iPad. There was really one noticeable difference between the iPad and the old adding machine: the iPad was awful at the job. My dad was using some random calculator app that was an awkwardly scaled iPhone app with an ugly flashing banner add at the bottom. &lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Fri, 14 Aug 2020 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2020-08-14:/blog/2020/08/14/how-apple-destroyed-mobile-freeware/</guid><category>cyber</category><category>big tech</category><category>antitrust</category><category>feudalism</category></item><item><title>Tabs or Spaces?</title><link>https://blog.giovanh.com/blog/2020/07/12/tabs-or-spaces/</link><description>&lt;p&gt;“Tabs or spaces” is one of these age-old computer science preference issues (like whether you use Vim or Emacs&lt;sup id="fnref:emacs"&gt;&lt;a class="footnote-ref" href="#fn:emacs"&gt;1&lt;/a&gt;&lt;/sup&gt;) that gives people a binary preference they get to pick and then get very attached to, due more to sunk costs and personal identity than anything else.
(Good thing that only happens with unimportant stuff.)&lt;/p&gt;
&lt;p&gt;I was thinking about this the other day, and I realized that I have an opinion about this, but it’s actually the opposite of what I do. And it’s not because of filesize, or encoding, or anything like that.&lt;/p&gt;
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">GiovanH</dc:creator><pubDate>Sun, 12 Jul 2020 00:00:00 -0500</pubDate><guid isPermaLink="false">tag:blog.giovanh.com,2020-07-12:/blog/2020/07/12/tabs-or-spaces/</guid><category>dev</category><category>python</category><category>tech culture</category></item></channel></rss>