Fundraiser: Super Mario World Edition

Like many of you, I grew up playing video games. They were my favorite distraction, much better than TV, and the primary way I bonded with some of my family. I went through a long spell where I stopped playing them, but thanks to a crippling Minecraft addiction I’ve been drawn back in.

When I was considering what to do for the fundraiser, my mind quickly settled on something relating to video games. It’s very much in my wheelhouse, yet not something I’ve shown on this blog. Having said that, I immediately crossed off doing a simple Minecraft stream; I do those way too often to be considered a special event.

Fortunately, I have an excellent substitute: Super Mario World. I played it a tonne as a kid, passing it several times, but I’ve barely played it since my teen years. This is a great excuse to chat about this game and my childhood, then sit down and actually play the thing from start to finish. As the speedrunners would say, I’m aiming for any percent warpless; no Star Road to zip straight to Bowser, though I also won’t take every exit of every level.

And I’ll do it all for the low, low price of $0.

No really, if not a single soul transfers a single penny into the fundraiser by midnight Friday the 25th, I’ll sit down and play Super Mario World at 10 AM MDT on the 26th.

Here’s the brilliant part: playing Super Mario World is kinda boring. It was the launch title for the Super Nintendo, sold 20 million copies, and often came bundled with the system. Pretty much everyone has played it, so while you can wring a bit of enjoyment from reflected nostalgia, it isn’t terribly compelling.

But that popularity also means a lot of other people have hit the same wall, and instead of moving on a few of them tried to find ways to make the game interesting again. A “randomizer,” for instance, is a bit of code that scrambles up a video game. Levels are done out of order, power-ups don’t do what they used to, and sometimes there are text or art changes made to the game. It turns something everything has played into something no-one has, and makes for much more compelling viewing.

As I type this, the legal GoFundMe sits at $79,650. Increase that above to $79,950, and I’ll switch from playing Super Mario World to Super Mario World Randomizer at the “Way Cool” difficulty on the 26th. If you insist on donating only to FtB, instead of everyone impacted by Richard Carrier’s lawsuit, I’ll still count your donation towards that $79,950. I can’t guarantee I’ll complete the randomized version, as it’s possible to encounter a version that’s impossible to pass (or beyond my skill level!) and nobody’s verified this version is passable, but I’ll give it a go for at least four hours.

So click the link and donate to the legal GoFundMe. And don’t worry about blowing past that goal, I have plenty more up my sleeve. If you want to see what else is happening this fundraiser, we’ve also got you covered.

[HJH 2020-09-14: Whoops, forgot to complete a sentence. I also added a link to the fundraising page proper, now that it’s live.]

Trying an Experiment

Usually when I get addicted to something, obsessing over it for a week or two is enough to get it out of my system. My Minecraft addiction has been going strong for a month and a half, though, with [no] signs of abating. The time I used to use to daydream posts has instead been turned to testing the best design for a lava blade or roughing up a flexible design for a mountain home in Blender.

When pondering what to do about the situation, though, I realized something: I’m a noob, but not a complete one. Yes, I can say “mob grinder” with a straight face, but I’ve also died tonnes of times in order to establish my base. I still don’t have any enchantments, I can count the number of iron bars I own on one hand, but much of that tardiness is because I’ve been more focused on finding the right location for a home. I’m not bragging about my amazing builds or redstone skillz, but I’m also not flailing around either, and I haven’t seen a lot of Minecraft players with that intermediate skill level.

I figure it might be watchable. And if I’m putting in the hours, I might as well try my hand at streaming the game. And so, I have. I’ve currently got five videos up, in fact, though I hear Twitch deletes old videos unless you fork over cash. If videos start disappearing, I’ll archive them on YouTube.

Until that point, here’s a quick overview of what I’m hoping to build and the constraints I’ve placed on myself, then four more videos where I start executing on it. Looking back on the series, I’m still a bit amazed at the pace of improvement, on a technical level. There’s no way I can keep that pace up, but at least I can always craft more mines.

The View from The Street

Whenever mass protests arise, I’m always indebted to the people and protestors who stand right in the thick of it. Hunter Walker, for instance, gave me quite a bit of insight into the Washington, DC. protests. For the Portland, Oregon protests, I got lucky and someone on this very network has been covering them.

1. yes, we’ve always had a few asshats in the crowd doing asshat-y things like throwing fireworks.

2. We actually didn’t have any of that last night, to the point where there was not even a single instance of coordinated banging on the fence to make noise (and not to damage the fence). Like, this shit was peaceful. 100% peaceful. No excuses peaceful. I was actually surprised we could get more than 1500 people down there for a protest like this, with real, legitimate grievances that would anger any caring heart, and have no one engaging in any of the behaviors that they’ve used to justify past attacks. No one at all. I was so fucking proud of us before the tear gas flew and chaos came down. This shit wasn’t even 1% on the protesters. This shit was all on the feds. All of it.

and,
3. Holy fuck, those assaults last night were BAD. Really bad. Mega bad. Even, if you’ll pardon the pun, MAGA BAD.

Crip Dyke has been on the case, which is amazing when you realize her ‘nym is quite literal.

And now we’re back where we started, with me telling you about the decision I had to make to stay and possibly be pushed away from the car, and because of my slower ability to flee inevitably coming into contact with cops that I **know** assault crutch users as if they were armed. If I fell, would I even be able to get up? Especially if the club was aimed at an arm or wrist?

I talk with BFF and she’s scared. We haven’t been together, but she has her own scary stories about how aggressive the cops have been tonight. She convinces me to get in the car. We’re sitting. We’re talking. We make the decision. We leave.

I felt bad retreating with others still facing the Feds’ rage, but it was the right decision.

Tonight was so bad.

If you’re listening to me, if you’ve been listening to me the past 11 days, I’m telling you, however bad the other nights have been, however much you thought those nights sounded scary, they weren’t tonight. Tonight was its own thing, a category to itself.

She has an extensive series on the protests, in fact. You can learn that expired tear gas was fired, watch as she ponders discomfort, cringe as she reveals the Feds were poisoning the air, enjoy a few flowers, witness a police-induced stampede, dream about glitter, observe people getting tear gassed without warning, sigh as people fall short, see the change that happens when Portland gets national press coverage or when the Mayor is nearby, listen to a detailed account of police violence, rewind back to when she was first tear-gassed as well as a first set of photos from the protests. It’s well worth your time.

I know it may not seem that way. Click on the first link to her blog, and you’ll see I’m only getting around to sharing these links a month after they were written. Why on Earth would I link to stale news, surely the protests stopped when the Feds pulled out?

The worst nights follow the same script: A large group takes to the streets calling for an end to police violence and systemic racism. A small fraction commits low-level crimes — often lighting small fires, graffiti-ing buildings and throwing fireworks or water bottles at officers. The police respond with force against the entire crowd.

Over the last month, demonstrators have been battered with batons as they left protests. Police have charged at crowds until they’re pushed deep into residential neighborhoods. Journalists have been shoved and arrested. Tear gas, while used more sparingly than in the early days of the protests, is threatened near nightly. And police regularly shut down protests by declaring them riots. That happened twice over the weekend, though police declined to intervene as far-right activists, some brandishing firearms, brawled with counter-protesters for hours on Saturday afternoon. […]

The mayor recognizes the problem with these scenes that play out on the streets of his city every night: non-violent protesters facing force as police respond to the misbehavior of a few. He just hasn’t found the answer.

“the weekend” referred to above is the weekend of August 22nd. The protests didn’t stop, we just stopped paying attention to them when the level of violence dropped to an “acceptable” level. As I type this, lawsuits are being launched against the US federal government over their behaviour in Portland. The events Crip Dyke documented continue to have resonance, and are due to be replicated elsewhere.

In fact it’ll probably happen this week. Jacob Blake was shot in the back seven times by the police of Kenosha, Wisconsin, as his three children watched on in horror. On day three of the protests against the incident, a gunman opened fire on peaceful protestors, killing two and wounding a third. By now, you shouldn’t be shocked at what happened next.

The apparent shooter, meanwhile, was seen on video walking away from the scene — his AR-style rifle clearly visible, his hands above his head. But Kenosha police who were responding to the reports of gunfire showed no interest in arresting or even questioning the man. Instead, they asked him for directions. “Is someone injured, straight ahead?” an officer asks him via loudspeaker. “Get out of the road,” said another.

He even approached an idling police car, going up close to the window, but then appeared to change his mind and walked away.

Brent Ford, 24, a photographer, witnessed the entire scene. “He had his hands up and they told him to get out of there, even though everyone was yelling that he was the shooter,” Ford told VICE News. “The police didn’t seem to hear or care what the crowd was saying.”

Yep, the police protected a murderer. After all, he was one of their own.

His connections to law enforcement, however, go beyond his vocal support of police on social media. In a statement to BuzzFeed News on Wednesday, the Grayslake Police Department confirmed that [the shooter] was a former member of the Lindenhurst, Grayslake, Hainesville Police Department’s Public Safety Cadet Program. According to a description that was recently removed from the department’s official website, the program “offers boys and girls the opportunity to explore a career in law enforcement” through “hands-on career activities,” such as riding along with officers on patrol and firearms training.

Along with the page describing the Public Safety Cadet Program, the organization’s official Facebook account was deleted after images from 2018 of a boy in a police uniform [resembling the shooter] began to circulate online.

Before he killed two people, he was apparently being thanked by the police for being there. Even as first-degree murder charges were announced against him, his actions were being obfuscated in order to make them easier to defend. And while I’m not aware of any Republican amounting an explicit defense, this is a party that celebrated two white people who brandished weapons against peaceful protesters, headed by a person who views all protestors as terrorists and fantasizes about torturing people he hates. They have innocent blood on their hands, and they’re likely to get a fresh coat of it.

We will NOT stand for looting, arson, violence, and lawlessness on American streets. My team just got off the phone with Governor Evers who agreed to accept federal assistance (Portland should do the same!) TODAY, I will be sending federal law enforcement and the National Guard to Kenosha, WI to restore LAW and ORDER!

Portland could easily become the new normal in the US. This makes Crip Dyke’s series all the more vital to read.

Is The Gender Critical Movement a Cult?

Looking back on her time in the “gender critical” feminist movement, [Amy Dyess] is unequivocal: it’s a cult.

A cult that groomed her when she was vulnerable and sleeping in her car; a cult that sought to control her, keeping tabs on her movements and dictating what she could and couldn’t say; a cult that was emotionally and sexually abusive towards her.

As Amy began to notice more and more red flags about the GC movement – like how it defended abusive women, how it wouldn’t let lesbians speak out about sexual assault perpetrated by women, and how it was forming alliances with homophobic groups – she started asking questions.

I definitely stuck a pin in this article when it popped up in my feeds. And yes, it’s old news by now, but I’m surprised so few people have discussed the central conceit: is the Gender Critical movement a cult?

[CONTENT WARNING: TERFs, sexism]

[Read more…]

Fundraising Update 1

TL;DR: We’re pretty much on track, though we also haven’t hit the goal of pushing the fund past $78,890.69. Donate and help put the fund over the line!

With the short version out of the way, let’s dive into the details. What’s changed in the past week and change?

import datetime as dt

import matplotlib.pyplot as pl

import pandas as pd
import pandas.tseries.offsets as pdto


cutoff_day = dt.datetime( 2020, 5, 27, tzinfo=dt.timezone(dt.timedelta(hours=-6)) )

donations = pd.read_csv('donations.cleaned.tsv',sep='\t')

donations['epoch'] = pd.to_datetime(donations['created_at'])
donations['delta_epoch'] = donations['epoch'] - cutoff_day
donations['delta_epoch_days'] = donations['delta_epoch'].apply(lambda x: x.days)

# some adjustment is necessary to line up with the current total
donations['culm'] = donations['amount'].cumsum() + 14723

new_donations_mask = donations['delta_epoch_days'] > 0
print( f"There have been {sum(new_donations_mask)} donations since {cutoff_day}." )
There have been 8 donations since 2020-05-27 00:00:00-06:00.

There’s been a reasonable number of donations after I published that original post. What does that look like, relative to the previous graph?

pl.figure(num=None, figsize=(8, 4), dpi=150, facecolor='w', edgecolor='k')

pl.plot( donations['delta_epoch_days'], donations['culm'], '-',c='#aaaaaa')
pl.plot( donations['delta_epoch_days'][new_donations_mask], \
        donations['culm'][new_donations_mask], '-',c='#0099ff')

pl.title("Defense against Carrier SLAPP Suit")

pl.xlabel("days since cutoff")
pl.ylabel("dollars")
pl.xlim( [-365.26,donations['delta_epoch_days'].max()] )
pl.ylim( [55000,82500] )
pl.show()

An updated chart from the past year. New donations are in blue.

That’s certainly an improvement in the short term, though the graph is much too zoomed out to say more. Let’s zoom in, and overlay the posterior.

# load the previously-fitted posterior
flat_chain = np.loadtxt('starting_posterior.csv')


pl.figure(num=None, figsize=(8, 4), dpi=150, facecolor='w', edgecolor='k')

x = np.array([0, donations['delta_epoch_days'].max()])
for m,_,_ in flat_chain:
    pl.plot( x, m*x + 78039, '-r', alpha=0.05 )
    
pl.plot( donations['delta_epoch_days'], donations['culm'], '-', c='#aaaaaa')
pl.plot( donations['delta_epoch_days'][new_donations_mask], \
        donations['culm'][new_donations_mask], '-', c='#0099ff')

pl.title("Defense against Carrier SLAPP Suit")

pl.xlabel("days since cutoff")
pl.ylabel("dollars")
pl.xlim( [-3,x[1]+1] )
pl.ylim( [77800,79000] )

pl.show()

A zoomed-in view of the new donations, with posteriors overlaid.

Hmm, looks like we’re right where the posterior predicted we’d be. My targets were pretty modest, though, consisting of an increase of 3% and 10%, so this doesn’t mean they’ve been missed. Let’s extend the chart to day 16, and explicitly overlay the two targets I set out.

low_target = 78890.69
high_target = 78948.57
target_day = dt.datetime( 2020, 6, 12, 23, 59, tzinfo=dt.timezone(dt.timedelta(hours=-6)) )
target_since_cutoff = (target_day - cutoff_day).days

pl.figure(num=None, figsize=(8, 4), dpi=150, facecolor='w', edgecolor='k')

x = np.array([0, target_since_cutoff])
pl.fill_between( x, [78039, low_target], [78039, high_target], color='#ccbbbb', label='blog post')
pl.fill_between( x, [78039, high_target], [high_target, high_target], color='#ffeeee', label='video')

pl.plot( donations['delta_epoch_days'], donations['culm'], '-',c='#aaaaaa')
pl.plot( donations['delta_epoch_days'][new_donations_mask], \
        donations['culm'][new_donations_mask], '-',c='#0099ff')

pl.title("Defense against Carrier SLAPP Suit")

pl.xlabel("days since cutoff")
pl.ylabel("dollars")
pl.xlim( [-3, target_since_cutoff] )
pl.ylim( [77800,high_target] )

pl.legend(loc='lower right')
pl.show()

The previous graph, this time with targets overlaid.

To earn a blog post and video on Bayes from me, we need the line to be in the pink zone by the time it reaches the end of the graph. For just the blog post, it need only be in the grayish- area. As you can see, it’s painfully close to being in line with the lower of two goals, though if nobody donates between now and Friday it’ll obviously fall quite short.

So if you want to see that blog post, get donating!

The Expanding Colony

I owe you an update to the fundraiser, but alas I instead got addicted to watching Twitter feeds for protest info. So let’s do this instead.

The thesis of Chris Hayes’ last book was that there were two police systems in the USA: that of “The Nation,” which behaves much as you’d expect, and that of “The Colony,” which is aimed at subjugating a subset of the populace through terror and pain. Citizens of “The Nation” don’t usually see what citizens of “The Colony” see, those visions are hidden both by design and a willful blindness. In the USA, for instance, police killed 1,028 people in the last year. Most are never heard of, like Steven Taylor or Breonna Taylor, both because of the sheer number of times it happens and because we’re taught to think of these deaths as “justified.” Aggressively swing a baseball bat in a Wal-Mart? That justifies the death penalty, without trial. Suspected of having drugs and next to someone firing at the police? Death penalty, no trial. Citizens of The Nation grasp what’s happening on an intuitive level, but because they rarely face reality this knowledge is allowed to slip to the back of their minds.

Every once in a while, though, The Nation gets a glimpse of what The Colony has to live with. Being forced to confront reality can lead to changes, but often those changes are incremental or incomplete, and The Nation comes up with excuses to turn its head away again. Looting and rioting? How dare these villains break the law! If only they followed the example of Martin Luther King, Jr. [Read more…]