Infinite Wishes: ♾️🧞‍♀️✨

Is a weblog by Emma Humphries

12 Oct 2020 » The Winner's Curse, Blaseball, and self-deception

On looking for the lie in the model

The Winner's Curse explained with cats.
Credit: © Johan Jarnestad/The Royal Swedish Academy of Sciences

My need to make things more complicated made itself a little more clear this morning.

I was thinking about Milgrom and Wilson’s Nobel Prize in Economics, announced this morning, for their work on the winner’s curse in common value auctions.

It’s the realization that when you only have an estimate of something’s value, if you are working from a biased estimator, you could end up overpaying for the item. Like the cat in the illustration above who thinks there’s over twice as many fish in the bin as there actually are. (Much respect to the prize committee for thinking of cats and fish for the explainer.)

Meanwhile, I’m placing my bets (it’s all non-convertible, in-game currency) for the next hour’s games of Blaseball. Each upcoming game has summary odds for which team is more likely to win.

Blaseball betting screen

If you trust that estimate, then the optimal betting strategy is to make the maximum bet on the predicted winner for each game*.

Then I started second guessing the strategy.

But what if there’s additional information I could use to bet? That’s in the game’s code and configuration parameters which we don’t have access to. We can find proxies for this (other players diligently collect stats at the player, team, division, league, game, and season levels) and one could build models.

But if the summary statistic isn’t a lie or a trick, then those models should only reduce the variance.

While there are cases where trusting the model (like Milgrom’s common value auction) can get you in trouble, most of the time when you see a 70% chance of rain, you bring an umbrella and don’t look for ways the weather forecaster is trying to trick you.

I don’t know if it’s human or just American to not trust the forecast. It does seem to work on Americans often, with our distrust of climate models, and willingness to fall for ponzi schemes.

It’s an easy thing to get sucked into, be aware of it.


* Because Blaseball is a comedy horror survival game with elements of fantasy league baseball, there are effects which aren’t priced into the summary odds for the next game, such as when an away team loses in the bottom of the last inning (play continues after the winning run scores) and the losing team may start the next game with a negative score. You can only bet on the upcoming game while the current is in-play, so if a team has carryover ‘shame’ from a loss, that is not priced into your bet.

07 Oct 2020 » A Silicon Valley PSA

Billboards with code are a Silicon Valley thing

A COVID-19 PSA billboard with JavaScript code
Credit: Photo by the author (and she pulled over to take the picture)

There’s a tradition of code on billboards in Silicon Valley.

The first ones I saw were from the recruiting board DICE.

And other companies, including PayPal’s Braintree payments service, followed.

I’m pleased that our County Board of Health is following the tradition.

The code on the billboard is:

var still_alive = true;
while (still_alive) {
  WearMask();
  Stay6ftApart();
  WashHands();
  GetTested(); 
}

Criticizing the code was also a thing. But nobody likes a reply guy. You could quibble about stay_alive staying true.

If it goes false, that’s a side effect of you not following the instructions.

30 Sep 2020 » On PHP

A succinct observation on the state of web development

The PHP Elephant
Credit: Vincent Pontier

“modern web dev is an extreme overreaction to not liking some php” — Scott Jehl

18 Sep 2020 » Being Angry

I'm angry about the Supreme Court as a single point of failure and still annoyed by React

I am yelling, silently
Credit: Mabel Amber

Of course I’m angry.

Not as much at the death of Justice Ginsberg, I hope her memory remains a blessing, but that we live in a system where:

  1. We prayed every day that God grant her another day of life until she could be replaced by another liberal justice
  2. That my existence as a queer, trans, non-binary woman, and my wife’s existence as a queer, disabled woman, and the lives of Black and Indigenous people, people of color, immigrants, Muslims, Jews, and anyone with a uterus are a constant referendum where the majority of voters are white, Christian, cisgender, and motivated by an ideology hostile to anything but whiteness

It’s exhausting.

The new issue of Logic Magazine came out last week, and Mar Hicks has an article on COBOL: how it came about, how it enabled a generation of people to learn programming, how academic computer science (and later techbro culture) hated it, and how it was sabotaged not because of it being a bad language, but by austerity programs.

But despite [its accessibility], there’s a cottage industry devoted to making fun of COBOL precisely for its strengths. COBOL’s qualities of being relatively self-documenting, having a short onboarding period (though a long path to becoming an expert), and having been originally designed by committee for big, unglamorous, infrastructural business systems all count against it. So does the fact that it did not come out of a research-oriented context, like languages such as C, ALGOL, or FORTRAN.

This ties back to my previous post on React, and how we make too many technical decisions on the basis of full employment for primarily white men with university degrees.

I’m going to find solace in a couple of things: Dan Hon’s Twitter thread with an alternate history of the 2000’s, and Mona Eltahawy’s The 7 Necessary Sins for Women and Girls.

And rejoice in a glorious takedown, complete with ancient magic and badgers, of the technical interview.

“In Lisp,” you offer. “We often write domain-specific languages to solve new problems.”

“C is not a DSL!”

“If you insist.” Keep going anyway.

12 Sep 2020 » React is a subsidy

JavaScript-first development is a subsidy harming the open web.

React is a subsidy
Credit: React logo CC 4.0 by Facebook, edited by the author

After a week of job interviews over video, while the sky was the color of Landry Violence, I decided to watch Stuart Langridge’s GOTO; 2020 talk (YouTube) on JavaScript.

Thirty seconds in, Langridge relates Zack Leatherman’s example of 8.5MB of tweets in static HTML rendering 1/5 of a second faster than a React site rendering a single tweet (Hellsite).

Reader, I howled, despite that being a bad idea after a week of dangerous air quality and six hours a day on video calls. Then I summoned The Infinite Scream (Hellsite) to do the howling for me while I wrote a blog post.

I’ve been thinking of the costs of the Javascript-first, particularly the React-first, state of web development:

  1. Users have to buy and use high-end devices (phones, tablets, and laptops) to access content
  2. Developers abandon the web for native applications
    • Which in turn demand rents (transaction fees)
    • And concessions (non-political content, what content can be sold)
  3. Orgs sticking with the with web use tool chains with high overhead and requirements (every dev needs a high end laptop and training in the React tool chain)
  4. Development jobs go to people who have the time and skills to use React and native frameworks instead of the open web
  5. JavaScript-first and native apps encourage privacy intrusive practices that siphon behavioral data, and reward getting a user “Hooked”

JavaScript in general, and React in particular, is a tax on the Open Web which subsidizes:

  1. Device manufacturers
  2. App stores
  3. Surveillance capitalism
  4. Elite developers

at the expense of:

  1. Users stuck on a device upgrade treadmill
  2. Projects which don’t fit the JavaScript-first economic model
    • Especially anti-racist, anti-policing, and anti-colonialist projects
  3. Creators who have to work under the precarity of large Social Media platforms
  4. Developers without access to tools and training for elite jobs

This subsidy will continue to harm all of us who were told that the Web was a boon for everyone.