Codex Library


Read the latest posts from Codex Library.

from tn5421

Caffeine and Addiction

For as long as I can remember, I’ve been addicted to caffeine.

When I was a child, nothing could compare to the sweet sweet taste of a cold Pepsi on a hot day, or a cold day, or any other day for that matter. I wasn’t ever allowed to have too much at once, of course, but I would do a lot of things to get my hands on some soda.

Fast forward to today. I wake up, go to work, then come home and sit on the computer for most of the day, excluding the bare necessities of each day. I’ve long since come to the conclusion that I tend to get addicted to things much more easily than my peers for one reason or another. For this post’s purposes, the reason doesn’t really matter, just the fact that it is, indeed, like that.

I weigh something like 240 pounds, Imperial. I’m 6’1″. This qualifies me as technically obese even though I only really have what looks like a beer belly; you can tell I used to be skinny. But it’s difficult to stop myself from drinking upwards of two liters of soda a day. The habit is near-enough automatic as it stands.

Today, I have decided to replace soda as much as possible in my life. I’ve ordered some time-delay caffeine pills, bought a couple nodoz / smaller portions of soda for the meantime, and am currently waiting on Amazon to ship my stuff.

What I hope to accomplish with this is threefold. One, I want to lose the weight. This is a vital step in the second objective, which is to create a more body-positive self-image. Lastly, but not least by any means, I’d like to have the energy to go out and do stuff more often than once a week.

Here’s hoping that it works like I think it will.


from noirscape

Oh boy. Seems YouTube ruined the internet. Again. What was the last time this happened? A month ago? Well, whichever it is, this time there seems to be some amount of misinformation floating around so I'm going to attempt to set the record straight, to the best of my ability.

Let's start with the most important thing you should take away from this post: I am not a lawyer. If you are a content creator and have urgent legal concerns, I recommend you speak with one, or perphaps even better attempt to get lawyers who make YouTube content (there's quite a few) to cover this matter (so more people can benefit from it).

Okay, that said, let's get into things.

What happened

So long story short, there is this US law called COPPA, also known as the Children's Online Privacy Protection Act. If you've grown up on the internet, like most kids these days you probably have ran into this law a couple times when registering on a forum when you were below 13. Or maybe you didn't, but that's neither here or there.

Either way, COPPA is a law that forbids unauthorized data collection on kids (you can collect data but you need consent of the parents and due to the inherent anonimity of the internet, the majority of sites opt to not bother with an additional step and just ban kids under 13 year old from talking on their platforms), originally designed after concerns that digital advertisers would attempt to keep track of the behavior of kids and use that to market products to their easily impressionable minds.

I can honestly say that the law is from beginning to end in my completely unprofessional opinion: A joke. The intent is nice, but the implementation leaves a lot to be desired. For starters, it causes a really weird schism, especially if you're a 12 year old. Due to the wording and the fact that most sites opt to forego the additional verification step, the result is that COPPA only has caused one thing: Teaching kids to lie about their age online, which of course has other side effects such as making it easier for predators to hide behind incorrect birthdates since “everyone just lies about their age anyway”.

So COPPA is a bit bad. It's also not a law that's heavily enforced since the government body that is tasked with doing so is the FTC, which isn't properly staffed to deal with the entirety of the internet. Frequently, you only see COPPA enforcement against larger corporations who very bluntly run afoul.

One such company is Google.

Google vs the FTC

Back in september 2019, Google was officially fined by the FTC for using the fact that they collected data on kids to advertise to YouTube advertisers, whilst not properly taking care of how they would still follow COPPA. It's the largest recorded COPPA fine in history, coming in over at 170 million USD.

Also, I'm just going to get overtly political for a second, but FTC fines are reached by a vote. This vote was done according to the so called “party line”, which is politics talk for “this is what the party they belong to thinks is right”. The results of the vote were 3-2, with Republicans being the 3 vote and Democrats being the 2 votes. If you're someone with the ability to vote, you might want to take the way the current committee is setup into account for the next time you get to elect an administration.

Overt political talk off, let's continue on. So YouTube was fined the 170 million USD and in response they promised to start attempting to take care of the issue with them collecting data on children, which was a part of the requirements of the fine they received from the FTC.

The way they've gone about this is... brute to say the least, and the flaw here is mainly due to how intensive data collection is on it's own, even when not marketed to advertisers to begin with. Specifically, Google promised to start treating any content that is made for children as only being watched by children. If that sounds weird or confusing, especially since it's Google, the company who knows everything about you, sometimes even before you know about you, there's a reason for it. Specifically, the reason they have to take this approach is because they can't collect data on kids anymore, which limits their ability to identify said audience.

Yesterday, November 20th 2019, Google laid out its stated plans to fulfill their promise. And... here is the issue.


The biggest change is that YouTube now requires content creators to specify whether their videos are made for kids or not. Videos that are made for kids take the aforementioned heavy handed approach, and end up disabling pretty much all capabilities the platform has for users to interact with it for that specific video. The video will not appear in notification boxes, will be removed from recommended videos, the “notification” function in a video, which permits linking to a poll or to another video on the platform is disabled, end screens (these work similar to notifications except they appear as full boxes on the last couple seconds of the video) are unusable and finally comment sections are disabled.

Personalised advertisements are also disabled for the video, which for content creators that rely on YouTubes ad system for their income (already a rare situation these days) has seen reductions for around 90% on their income.

This also comes hand in hand with to my understanding the videos now being able to appear in the “YouTube kids” app, an application that is designed by YouTube to prevent children from seeing adult content. The application for the record has gotten into the public eye in the past due to child predators using the fact videos can be marked as being “for children” to essentially remotely groom them. Scary stuff, and these changes could result in a very much risky growth of other undesirable (not on the level of child predator stuff) content for children appearing on the platform.

For existing creators, YouTube has also promised to let its own algorithms determine whether it's appropriate for children or not for existing uploads on the platform. Putting aside for the moment that YouTubes algorithms are questionable in the best case situation and outright dogcrap in the worst situation, the problem is that this is not enough to cover the asses of content creators.

Broad Strokes

The FTC has very clearly specified that they plan to go after content creators that appeal to children as long as they don't have their videos marked as appealing to children, with the risk of them getting 42000$ in fines per affected video.

And here is when we get to the broad strokes. You see, while the “is it made for children” question can often be answered with a clear cut yes or no, the question of “does it appeal to children” is a really broad one.

Few people will have confusion over Peppa Pig videos being aimed at children, a reupload of a song from the movie Frozen on the platform or someone playing a H-Game (a term for a game with adult content in it) with the NSFW scenes disabled appealing to adults. But what about say, a content creator who creates animations with gallows humor in it.

Hazbin Hotel, a recently released animated series pilot which has all the stylings of a Disney XD cartoon, whilst clearly not marketed in it's characters at children, is an example of content that unintentionally could result in appealing to children, even if they're not targeted at children. Under the FTC settlement, content creators who do this would have to mark their videos as being made for children, which incurs the aforementioned restrictions.

Or for another example, to continue with my “vaguely related examples from the not confusing list”: What about platforms like SiIvaGunner, whose entire existence is reliant on the fact that they make remixes and modifications to existing music tracks, often blending in music that could potentially appeal to children, but can just as easily be highly offensive and not something you'd want a child to hear. Well, their content would again be regarded as “appealing to children”, since video game music is something children can easily like, which would mark the videos as being targeted to children, causing your kids to start listening to remixes that for example could feature content based on JustinRPGs vore fetish for a dragon Pokemon. I don't need to be a moral guardian to point out how that's not what you want, but what could easily happen due to these broad strokes.

And probably for the most complex and ambigious situation: What about the largest segment of YouTube creators: Those that play video games. Let's Plays are a large enough part of YouTube and whilst a lot are very unprofessional and are just someone playing it whilst talking into the camera about boring things, others are high-value productions that aim to show the best they can of a particular game (chuggaaconroy is a really good example of this latter one). Does this content appeal to children? It's a though question, considering video games often appeal to people of all ages, which under these guidelines would make them marketed at children.


This comes high off the heels of the so called “YouTube adpocalypse”, after several major advertisers started pulling their ads from YouTube after a couple of news sites ran articles showcasing racist and similarly awful behavior of some of their major content creators (the biggest example being PewDiePie, but for lesser examples cases like Logan Paul and prank channels being dicks to homeless people are good examples of this blowing up in their face).

The response from YouTube was to start recommending creators who didn't want their videos demonitized to start making more “child friendly” content as well as reducing the ability for content creators to customize their video and link to affiliate sites.

And now YouTube seems to have put itself in a game of lose/lose, since this settlement will have a very clear effect: Creators who create content are now going to have to skew their content to be so blatantly adult that there could be no confusion as to what it is so that the FTC cannot sue them for COPPA violations, which then will result in YouTubes advertisers having to pull out since most don't want to be associated with that stuff and now nobody is happy anymore.


I mentioned it earlier, but the FTC isn't properly equipped to deal with the entirety of the internet, let alone a site the scale of YouTube. In response to these concerns, the FTC has claimed it will run and has the ability to run it's own bots to determine video content that violates COPPA guidelines and take action from there.

The realistic effect here will probably be that larger channels (those with at least 1 million subscribers would seem like a good cutoff point if I were the FTC for practical purposes) will end up being at bigger risk of being sued over this than smaller channels are.

Again, I'm not a lawyer and this shouldn't be an excuse to not take this issue seriously, it could totally affect smaller creators too.


Okay so that was all really damn negative. Is there any positive side? Well, the FTC is still accepting public comments and I would urge you to leave a comment. A serious one though, troll comments or just bombarding it with spammy messages isn't going to be helpful. Try to stay respectful and remember that a human on the other side will be tasked eventually with processing your comments. Basically don't be an arsewipe okay?

I would also like to point out that whilst I mainly spend time ranting and rambling about the negative knock-on effects that it doesn't change that Google did end up breaking COPPA in a significant way and the fine is entirely deserved. The issue here is with the FTC however, who have now made a conscious choice to put the onus on dealing with COPPA laws on content creators rather than Google.


from noirscape

Annoying dog/Toby Fox

So... Pokemon Sword and Shield is out. It's proving to be divisive, with fans pissed at Game Freak for cutting out the National Dex. This post isn't about that though. Instead, let's talk about it's music. Specifically, let's talk about how Toby Fox is a fucking masterful shitposter.

Toby Fox is a music composer and indie game developer that is mainly known for his work on Undertale, a charming game reminiscent of the JRPG Earthbound in it's style with bullet hell elements. Currently he's working on what appears to be a spiritual successor called Deltarune, which managed to grab the internet.

That said, this isn't his only work or even the thing that put him on the map. No, what put Toby on the map was his work on the Homestuck discography, for which he has provided around 70% of all tracks.

He also composed a track for Pokemon Sword and Shield, which is the subject of this little post.

Preamble: How Toby Fox got into contact with Nintendo

But before we talk about that, I should probably explain how Toby Fox managed to get into a collaboration with Nintendo to begin with. At it's simplest, whilst Toby was on a trip to Japan, he happened to run into Sakurai (from Kirby and Super Smash Bros.), who invited him over to his house to play video games, notably Smash Brothers.

The result of these events caused what appears to have been a friendship between the two, causing Toby to remix Megalovania for the fourth time and having Sakurai put Sans in Super Smash Bros. Ultimate.

Later, Toby was also invited to compose music for Little Town Hero, a game which didn't do so well, but it establishes that a connection with Toby and Nintendo has been formed.

And now... Pokemon Sword and Shield has a tune composed by Toby Fox in it.

The thing is though... the track is a reference to a shitpost Toby Fox made 9 years ago. How? Well, uh... let's talk about that.

Homestuck and MSPA forums

Most people have heard in some form of the webcomic slash internet phenomenon Homestuck. Whether you've read it or not, most people are at least to some extent aware of the... rabidness of some of it's more notorious fans.

Whilst I won't go into detail on the comic itself, the fanbase for Homestuck is... unique. People love to ship characters together (shipping being the act of putting two fictional characters into a relationship), and Homestuck is probably the ur-example of this being taken to it's extreme, with every character being paired up with another character in whatever way you could imagine.

The comics author, Andrew Hussie has mostly encouraged this and takes great delight in making fun of his rabid fanbase. Except... in one element.

You see, before Viz Media bought Homestuck and hosted the comic on, the comic was hosted on Hussies personal site, known as mspaintadventures. Attached to this site was a forum that was intended to discuss the comic.

Because the Homestuck fanbase can best be described as “every horrible and good thing from every single other fanbase out there blended into one” (which is only contributed to by the fact that the comic makes extreme use of pop culture, both obscure and not-obscure), the administrators of these forums inevitably ended up dealing with the worst elements, notably shippers who would pair up underage characters.

In an attempt to curb this, they added a rule to the forums, prohibiting the posting of art involving “pregnant kids”. The rule of course proved to be completely ineffective at stopping the rabid fans and was mocked all around.

And then Toby Fox took a go at it. Taking the forum rule to it's most bizarre form, he created an album called The Baby Is You which very clearly was intended to make light of the rule in question.

It's... its a treat. To explain for those who haven't read the comic: The album is about the character Dave, who is pregnant (note: Dave is male) with his best friend John (who is the protagonist of the webcomic and is also male). It's by all accounts something closely resembling a protest album and the songs very clearly take shots at the ineffectiveness of the rule and is great if you like absurdist humor.

The ensuing result is that Toby Fox got temporarily banned from MSPA forums, the album itself was taken down (but as you can see by the link, it's been spread online anyway) and I'm not 100% on this last part but I think the rule has been reversed.

Now why did I ramble on about an (admittedly very funny) incident that happened in 2010 that most people wouldn't know about. Well... the thing is, that protest album made it's way into Pokemon Sword and Shield.

The Baby is You

Specifically, I'm talking about the track “A Baby Legend – The Baby is 2”, which is the final track on the album. It's essentially a sarcastic recap which then ends in a kinda catchy beat.

And guess what beat made it into Sword and Shield. Yes. That one. Below I've embedded a video about it which compares the two tracks.

And... this is hilarious. Toby Fox, you've done it. Congratulations, you win the internet. I tip my hat off to you, I bloody damn salute you.


from noirscape

DragonInjector store promotional artwork

Note: DragonInjector promo art used under fair use.

So, yours truly got himself an early copy of the DragonInjector.

In exchange for this, I have been asked to give feedback of my copy, and because I like flexing my writing muscle, I have decided to write a full-on review.

What is the DragonInjector?

The DragonInjector is essentially an all-in-one gadget for Switch hacking. It combines an M0 trinket with a jig and it fits in the gamecard slot. It's a device I've been looking forward to for over a year now, and I'm super curious to see what the actual product looks like. It came in with the mail today, so let's give it a look!


Image of the case front

My copy of the DragonInjector shipped with a case that makes it look like a Nintendo Switch game. There's not much to speak off for the front, but it gives the entire project a sense of legitimacy I never really got from my DS flashcard, which shipped in a shoddy silver box.

Image of the case back

The back however is where the fun for me begins. I love the little attentions to details here, it really feels like a real back blurb for a switch game and reminds me of some recoatings for the game “Cubic Ninja” that advertised the Homebrew Launcher, and it really just helps give a bigger sense of legitimacy to the product.

The casing also came with a small transparent sticker to prevent the case from falling open. Small, but again, loving the attention to detail.

Image of case inside

Inside the case, the aforementioned love for details just keeps continuing. Bundled exclusively in my copy is a smaller version of the case art, with the inside being signed by the creator (benefits of being an early adopter \^–^).

In addition, the inside version of the case art features a beatiful instruction set on the left, rendered as an SSH client. It features a list of features and explains what each of the included tools are for.

On the right, an infographic detailing how the DragonInjector's battery can be replaced and an infographic detailing how to access the injector and the jig from the gamecard is visible. The build number is written in silver pen.

Also bundled are a USB key to change the DragonInjectors firmware, the injector itself (it'd be trash without one!) and a screwdriver that can be used to replace the battery.

All in all, this case just shows the passion behind this project.

The Injector itself

Okay, so let's talk about the actual thing, the reason I spend money on it to begin with.

Build quality

Picture of the front

The DI is a 3d printed object, but if you'd ask me, that really doesn't serve as a degradation of it's quality, but rather as an attest to how far the quality of 3D printing has come.

Picture of the back

Whilst my copy is not stickered (and instead, I've been given stickers so I can choose the color of my injector), I've been told that future injectors will ship with a sticker on the front that will show the build number.

Injector in the switch

The injector fits very well in the gamecard slot, with considerably little effort being needed to make it fit well. There's a little bit of jankiness in fitting it in the Switch, but honestly, it's negliglibe and should be seen as more this being a casing in the shape of a gamecard slot than an actual gamecard. I've had more issues with a Nintendo DS flaschard in my 3DS.

All in all, solid build quality.

Let's talk about the components.

Picture of jig and payload launcher


A part of the Injector is the Jig. To access the Jig, you have to slide off the top of the injector, then slide out the jig itself. The first time I did this, the jig actually was a bit hindered and I hade to use my nail to get it loose, but I'm pretty sure this is something that will just be worn to something useful over time.

Picture of jig loose

To test the jig, I put my Switch out of AutoRCM for the first time in 1.5 years and booted it normally.

To use the jig, you just slide it down the right joycon rail at a 45 degree angle, then boot the switch while holding Volume Up. The one thing I do wish had been clearer was the fact that I had to turn the transistor facing away from the switch, not towards the switch (one can argue this is a me moment, but hey).


Picture of injector

The injector is the bottom half after you slide off the top and is easily the highlight for me. To use it, simply put the USB-C end in your Switch and plug it in your Switch.

This takes me to the booter firmware: DragonBoot. One issue I noticed almost immediately was that I got FatFS error 5. Further investigation, this seemed to have occurred because I was missing a payload for DragonBoot to boot from.

One quick trip to Hekate's download page later, and I now have the latest version of Hekate on /dragonboot/ on my SD card and it worked perfectly.

For a future firmware update to DragonBoot, it would be nice if it would be possible for this to show something nicer than a FatFS error.

Other minor stuff

I tested the dongle. It works... kinda fine? I had some issues with connecting it to my computer, but that was ironed out pretty fast.

I didn't test the scewdriver or the battery yet, but it looks super easy and the fact the screwdriver is bundled means I'm unlikely to risk losing it.


The DragonInjector is an absolute must-have for any Switch hacker. There's some minor prerelease issues with DragonBoot that I'm sure will be sorted out by the actual release and I'm super happy with it.

So... yeah, go pick one up. The actual released injectors can eventually be bought here, so keep an eye out for that.

Disclosure: Product was purchased early. Actual product might have minor differences from this review.


from noirscape

Or: How to improve your asyncio code!

So uh... yeah, this is just a definition. I'll quickly explain why this is. Also, I'll note that I wasn't brought up on this idea on my own, it's essentially something I found online but I think it's important to keep in mind that a lot of people who do asyncio don't use this pattern and spreading awareness of it will help a lot!

(I modeled this design document after the ones on, except y'know, I use Python code instead of Java)

Producer-Consumer-Worker pattern


When working in asynchronous code, usage of the producer-consumer pattern is common. The producer-consumer-worker pattern builds on this pattern.

The solution provided here is the Producer-Consumer-Worker pattern.


This UML is probably wrong, but at it's simplest:

  • The Producer adds a task to the Queue.
  • The Consumers duty is to retrieve a task from the Queue.
  • When the consumer retrieves a task, it starts a Worker.

Applicability and examples

The reasoning for this is that the normal producer-consumer pattern is not useful for asynchronous code, as it is not resistant to potential exceptions. When running asynchronous code, one of the benefits is that even if one part of the event loop crashes, the rest of the loop can keep running. However in a traditional producer-consumer pattern, this means that in the situation the consumer crashes, the producer will aimlessly keep adding tasks to the queue without a consumer to answer it.

Specific problem and implementation

Example involving possibly crashing code

import asyncio
import random

queue = asyncio.Queue()

async def producer():
    task = {}
    task["crash"] = bool(random.getrandbits(1))
    await queue.put(task)

async def consumer():
    while True:
        task = await queue.get()
        loop = asyncio.get_event_loop()

async def worker(task):
    if task["crash"]:
        raise Exception("Crashed!")
    print("Didn't crash!")

async def main():
    loop = asyncio.get_event_loop()
    for _ in range(0, 10):
Explanation of methods and objects involved

This is an asynchronous Queue, as provided by the asyncio standard library. It provides the queue that both the consumer and the worker use.


This asynchronous method determines on a random basis if the worker should crash or not, and then adds the output to the queue.


This asynchronous method is started when the event loop begins and constantly waits for new input on the queue (This is what the await queue.get() call is for).

After that it creates a new task for the worker with the task as the assignment and adds it to the event loop.


This asynchronous method is created and started by the consumer. It simply runs a check on if it should crash, and if it does, it raises a generic Exception. Otherwise, it prints a message.


Main asynchronous function and the entrypoint. It starts the consumer and creates 10 producers.

stdlib function that starts main.


Without the worker involved in this task, if the asyncio consumer crashes (even though in this example it's arbitrary, in cases when working with web APIs which might not always be online) the entire consumer portion would be halted and as a result the loop would seemingly be able to continue fine but as the consumer would no longer be running, the producer will just add tasks to the queue without them ever being ran.

This also improves concurrency as the worker is another task on the event loop, which means that the consumer can continously keep retrieving tasks from the queue without it being blocked by the execution of said task.


from noirscape

I've wanted to write about Stallman for a long time. Countless drafts have turned through my head, considered arguments and article structure, but whenever I actually wound up sitting down to write them out? I just felt mentally too tired to actually write them.

Not right now though. With Stallman having resigned from the FSFs directors position, I think it's important to take a deeper examination as to why Stallman resigned, what the issue is with Stallman as a whole and most importantly: What this means for the future of the FSF/GNU.

Why Stallman resigned

It's been iterated on a lot, but long story short, a few days ago, Stallman made some appaling comments on the MIT/CSAIL mailing list. These comments specifically concerned Marvin Minsky, the creator of the MIT AI lab. Minsky was one of the people that was implicated in the controversial pedophilia case surrounding Jeffrey Epstein as one of the people that Epstein told one of the accussers to sleep with, however as Minsky died in January 2016, this means that he was never accused formally of the crime (accusations against Minsky came to light in August of that same year).

The comments in question have been incorrectly cited by major publications (specifically, the publications went with the narrative that Stallman said that “she [Epsteins victim] would have been entirely willing”, which is a subtle misquote, as the word missing is “have been presented as entirely willing”, but the difference is somewhat minor-ish on the whole, but more on that in a bit).

As a result of this fallout, Stallman has resigned from the FSF and has been let go from MIT/CSAIL as a 'visiting professor'.

Now, one can argue that because the publications went with an incorrect quote, Stallman is essentially absolved from any blame and this is just another call out from “the esjeedoubleyous that want to destroy tech”. However, I would instead argue that the actual difference between what Stallman was claimed to have said and what he actually said is there, but the resulting impact should still have occurred, because the comments are reprehensible either way.

To be precise, what Stallman said was that Epstein likely coerced his victim to appear as “willing” in front of Minsky. Now this if youre debating on Stallmans level seems like an important distinction. If you live in non-crazy land, this distinction barely matters, because, coercion or not, “I didn't know about it” isn't an excuse that holds up on crimes of this magnitude.

It's also quickly forgotten by most comments I see made on the matter that Stallman tossed this up as an hypothesis, with little evidence aside from “Stallman thinks its logical for Epstein to do this”. You know what we call that? An argument that runs on Appeal to Common Sense. Which is a logical fallacy.

I should probably also add in that Stallmans position at MITs CSAIL was entirely because Minsky sponsored Stallman to come on as a visiting professor in the first place (more on this in a bit).

So what we seem to have here is someone who doesn't seem to be able to understand that his best friend likely might have been a sexual predator and is engaging in apologist behavior for said behavior on little ground other than “I think this makes sense”.

This is irrelevant on whether Stallmans hypothesis is true or not (to be clear, even the story Stallman presents would have landed Minsky prison time as a pedophile under the jurisdiction of the Virgin Islands), but his response to the legal argument (which in this case would be decisive) is uh...

“I think it is morally absurd to define “rape” in a way that depends on minor details such as which country it was in or whether the victim was 18 years old or 17.”

I don't think I have to explain this, but... “minor details such as age when it comes to rape”? Are you fucking kidding me? Blegh.

Anyway, the fallout due to this was... well, the usual situation. People got riled up, Stallman attempted to issue a non-apology, later made the utterly baffling statement on his personal political page (more on this page in general later) that sex with minors is a bad thing and that he finally understands that and today he's been let go from CSAIL and the FSF.

Caught up? Good. Now let's see why this is a thing that should have happened a long time ago.

Stallmans political views

No matter how you put it, Stallman is a political figure. FOSS is by design extremely left leaning in it's nature (particularly the copyleft, which is a core element of these licenses). He is also extremely closely tied to the FSF, to the point where I have noted that I see the FSF and GNU Foundation in general of being a personality cult around Stallman to friends.

With that in mind, we oughta talk about Stallmans views, because they're something that propagates heavily throughout the FSF.

To wit:

  • Stallman is a free speech absolutist, with all the core flaws this implies. He'll stick up for any kind of horrific speech and fundamentally misunderstands XKCD 1357 to apply it to corporations.
  • Stallman believes that necrophilia should be legalized, seeing it as the second thing he would want to have happen to his own body after his death (the main thing being used for medical science).
  • Stallman believes that bestiality should be legalized, mainly not seeing the issue because a parrot tried to mate with his arm once and he found it a funny experience after learning what happened and wouldn't mind it occuring again and because some animals try to mate with humans on their own (ignoring the fact that we cannot see what an animal thinks nor can we ask them about it and as a result can't give consent).
  • Stallman believes pedophilia shouldn't be illegal based on the notion that the main issue surrounding it is a social stigma (to be fair to him; due to the incident I described earlier, Stallman has retracted this statement, but he's held it for ~15 years, so it bears mention!)

Feel properly disgusted yet? Well, like I said, these views tend to exist throughout the GNU/FSF, meaning that whenever Stallman gets flak for his political views, there's a large army of defenders for each and every single one of these.

Other things he believes should be legal, but I couldn't find any direct reasons to (although I could deduce the why): Possession of child pornography and incest.

Oh yeah, he also wants weed legalized, but somehow managed to describe it in the most pretentious way possible:

Besides, I often enjoy rhinophytonecrophilia (nasal sex with dead plants).

I uh... that isn't really disgusting (nor bad, legalization of weed for medical purposes I support), but it kinda sets the tone for anything involving him, doesn't it? A pretentious blowhard who says something using complicated words because it makes him look smart.

Moving on.

Personal Hygiene

Do I... do I have to? Okay, I'll spend as little time on this as possible since this is truly disgusting.

Stallman eats gunk from between his toes. I kid you not, there's a YouTube video of him doing this, look it up, I'm not going to for my own sanity.

On computing

Okay, so we've gotten the already weird parts out of the way, now we have to actually talk about Stallmans influence on computing as a whole.

Stallman is oft credited as the founding father of the Free Software movement, it having born from a series of incidents in CSAIL, which saw a large number of those working in it being poached away by larger corporations. Stallman in response made the “heroic” act of leaving CSAIL and starting the GNU Foundation and the FSF.

Why do I put heroic in quotes there? Because yes, the situation at CSAIL from all accounts I could find on the internet was abhorrent, Stallman never really left CSAIL. He formally resigned from CSAIL, but only for a short while, as he later was given an essentially permanent status as Visiting Professor at the lab (this essentially meant that he got a free office, which in Stallmans case also has been his legal address for the past several decades since his house burnt down in the late 1980s and he hasn't bothered to find a new one since.)

Visiting Professor also meant that while he didn't get paid by MIT for being there, he would have full access to all mailing lists and accounts for their faculties. From accounts I have found on the internet, this for the most part meant that Stallman could spend most of his time popping into software lists and complaining that they should license their work under the GPL or asking for projects that used JavaScript in sites to work without them (this because Stallman has an archaic internet setup that means any page he wants to visit gets send to an email daemon, which downloads and reformats the page and then emails it to him). Very impactful work indeed.

It kinda puts things into a different perspective if this hero just turns out to have been in the same place he's been all this time, except now he's free to spend his time to complain at students not following his ideology.

On actual programming now, for realsies!

Let's now get into Stallmans actual relevant work for the Free Software movement. Whilst he deserves credit for y'know, making the GPL and writing the original version of the GNU coreutils... for the past 10 years or so, Stallmans main influences on the movement have been these:

  • Serve as the public figurehead. (with the issues I mentioned in the political views part, so also a PR nightmare)
  • Make PRs to emacs
  • Complain on mailing lists about arbitrary things that irritate him. (GNU/Linux)
  • Abuse his power as the head of the FSF to keep in a dumb joke about abortion that was incredibly Americentric and unfunny to begin with.
  • Use his power as the head of the FSF to forbid merging code that would improve cross-compatability with not-FOSS software.

That's... not good. We've gone from someone who essentially wrote the foundation of Linux's popularity to someone who can at the most positive be described as a grandpa who yells at cloud and at it's most negative as little above a really persistent internet troll who manages to keep in power only because he started with some legitimacy. (The inbetween and the one I subscribe to: Stallman is a demagogue).

In short, Stallmans contributions as of the past decade don't weigh up against his former status as the head of FSF/GNU.

Luckily he's been fired though.

The FSF moving forward

In the numerous drafts I've made of articles of a similar tone to this one, I often conflated the FSF and Stallman, since again, their views share a lot. However, them firing Stallman gives me the idea that either this view was underinformed or perphaps more likely, has shifted over the years.

That said, even though Stallman is now gone, the views that he's permeated over the past decades have not. The FSF will need to get a tight grip on any of Stallmans “followers” that are currently becoming a very vocal minority on the internet that believe that Stallman shouldn't have been let go and that he's the Jesus of programming.

I do express hope here that the dust will settle though, and that moving forward, the FSF can find a better public face for their beliefs than Stallman.

Tackling one common defense

A common defense that I see pop up whenever people address these issues with Stallman (I'm hardly the first to do so) is that we should give him a pass because he says he is neuroatypical (aka has autism).

I very likely have a form of autism. Several of my friends have autism. None of us are even remotely close to the appalling behavior Stallman displays.

Autism means that I fail reading the room sometimes, misinterpret a joke as being a serious statement, fail to understand a social obligation and so on. And I have worked hard to not have it happen as often. I have learned social cues, and so have many of my friends. If you wouldn't spend extensive time with me, you probably wouldn't even know I had it.

Stallman putting his defense here on autism is offensive to autistic people. Even if he has it, the excuse isn't that he's autistic, the issue is that he doesn't bother learning how to deal with it.

Being autistic doesn't excuse you from being an asshole. It gives you some recompense, but a consistent repetition of the same asshole behavior over and over again just means you're a goddamn asshole.


🦀🦀🦀Stallman is gone🦀🦀🦀

Tags: #FOSS #Stallman #FreeSoftware


from tn5421

After having this blogging platform recommended to me by somebody on the fediverse, I decided that it might be in my best interests to check it out. I may have a wordpress but it's not like I'm married to the platform. All I've really done is configure a theme that I like, after all.

I didn't really have anything in mind to blog about today, so I guess I'll just rant about stuff.

It took me all of about 2 hours to figure out why my steam wouldn't launch today. As it turns out, the nvidia graphics driver didn't install 100% correctly when I upgraded to Linux Mint 19. The fix was amazingly simple; change to the open source driver and back, then restart.

Then I played a bunch of casual Rocket League with a friend, which was nice. He wasn't very good at the game but I already knew that going in, so we just played for fun.

I've been procrastinating on doing anything productive since then other than some miscellaneous tinkering.


from providence


Well, well, that really didn't take long. Only 5 days!

With this release, I bring you an Existing Content logger. This completely new script aims to permit you to grab all existing data from a Guild, a Channel or a DM so that everything is properly preloaded.

There are also numerous tiny fixes to templates and a role overview on the user details page. To be able to properly use that if you're coming from 1.0, you'll need to use the existing logger to grab the entire guild.

The other big change is that all templates are now using url_for() if they are referring to other endpoints. This is in preparation of the next release (which should only take a day or so after this one), where I'll be implementing the Frozen-Flask library, which will allow you to statically deploy your archives.

Details on that will come later, but for now, enjoy this changelog!

You can grab the latest release from the git repo!


from providence


Well, hello one and all to the new Providence changelog blog.

Here I'll more or less be talking and showing off Providences features. Today? I have released 1.0! The very first release, would you look at that...

It's been 4 months since I wrote my initial thoughts on a discord logbot. Ever since then, I've opted to start writing one myself. Progress has been slow, in no small part due to motivational issues, but I really do believe that I'm currently in a state where I can release a first version of this application.

So, meet Providence.

There's a ton of features currently packed, but as of right now it can log pretty much everything aside from reactions (which have partial implementations in the frontend) and display all of it in a reasonably competent fashion using it's web UI.

You can find instructions to install in the README. Give it a glance.

As for what WSGI to use for your frontend, use whatever works for you for now. I don't have any immediate plans to lock it to one WSGI for support yet, but gunicorn would be my choice from quickly testing it.

Or just use the Flask dev server, it's not like you should be running this on a place where tons of users can access it :p

Future stuff

The most immediate feature I want to work on is importing existing messages and users into the database. This will probably not be very hard, as it is just scanning through messages.

After that, I'll probably streamline the frontend templates more, removing the hard links and making better use of jinjas templating to access endpoints, as well as implementing breadcrumbs.

Longer term, I want to look into exporting day pages into panopticon style logs and freezing the entire instance to permit sharing using flask-freeze as well as generally smoothing out the process to get stuff running.

There's tons of little UI issues that still bother me, and I want to tackle those. I also will need to move away the members and role lists from the guild details page and into their own pages and only load previews of those.

It would also be handy to move to using blueprints rather than just mapping all endpoints in, but that's something I'm not fully out yet on.

After I get importing messages done, I'll also relicense the entire thing to the AGPL, which I'm picking as it closes the server loophole the GPL itself has.

See you next time!