Moviepass is dead? (And I killed it?)

2018-08-06 23:20 - General

I found out about MoviePass mid/late last year. I probably saw an average of one movie per year until then. In general I'm patient, so I'm in no rush to see a movie in the theater, and the ticket price is more than I'm willing to pay for little benefit (from my perspective). But MoviePass allowed me to see effectively all the movies I could ever want, in the theater, for ten bucks a month. So I used it. A lot.


DateMovieTicket Cost
Sat, May 5Avengers: Infinity War$12.00*
Sun, May 6You Were Never Really Here$15.00
Sun, May 13Tully$12.00*
Sun, May 20Deadpool 2$12.00*
Sat, May 26Solo$12.00*
Sun, May 27Book Club$15.69
Thu, June 6Upgrade$17.99
Sat, June 9Ocean's 8$16.99
Sun, June 10Won't You Be My Neighbor$15.00
Fri, June 15Hotel Artemis$15.99
Sat, June 16American Animals$17.40
Sun, June 17Nancy$12.00
Sat, June 23Tag$15.99
Sun, June 24Incredibles 2$7.99**
Sat, June 30Jurassic World$16.99
Sun, July 1Hereditary$12.00*
Wed, July 4Hover$12.00
Fri, July 6Sicario: Day of the Soldado$12.00*
Tue, July 10Sorry to Bother You$15.00
Fri, July 13Three Identical Strangers$12.00*
Sat, July 14Leave No Trace$16.99
Sun, July 15Ant-Man and the Wasp$12.00*
Thu, July 19Skyscraper$17.99
Sun, July 22Hotel Transylvania 3$8.49**
Sat, July 28The Equalizer 2$12.00*

* These were E-Tickets, which MoviePass seems to get a discount on.

** These were matinees. Why did MoviePass never encourage users to go to the much cheaper matinees?

These are the ticket stubs I have lying around. I might have missed one here or there. But the long and short of it is that for these three months, while I paid MoviePass $29.85 ($9.95 × 3) they paid several local movie theaters $379.16. This is so obviously a losing proposition for them.

Death of MoviePass?

Early last month, MoviePass introduced surge pricing. With little predictability, some movies would not be included but instead come with an extra charge around $4. When this happened, I felt like I might be canceling soon. You can see an extra strong focus on the (one) local theater with E-ticketing in my watching habits over July — they are immune to surge pricing.

Then in late July MoviePass ran out of money and had a service interruption. Somewhere in there, they started forcing users to tacke pictures of their ticket stubs. (To enforce the one-viewing-per-movie rule that they added in April.) Now they've introduced more, stricter limits: from "unlimited" (one per day) to three movies per month. And very unpredictable availability (black-outs). This already started a bit. Rumors seem to be perhaps that A) every showing before 5PM (why?) and B) basically every showing of every major movie (at least for the first few weeks) will simply be unavailable. Rumors also abound about availability disappearing in the time it takes to travel to the theater.


I'm not happy. Honestly, I expected MoviePass to be short lived when I first subscribed. But that was just over nine months ago. It's survived this long, but the writing is clearly on the wall now. I'll probably keep it and extract what value I can. I'm probably getting $10/mo from it.

On the other hand, this past year has re-introduced me to the theater experience. Given a theater full of them, you're guaranteed to run into strangers that have no problem talking, turning on their bright phone screens, and generally making the theater experience less than it could be. Worst is the fixed time slots. You can see a heavy focus on weekend viewings above. I find it's quite rare for a weekday showing to both not be overlapping work hours, and also not force an uncomfortably early or late dinner. So many weekday movies start at right around six o'clock. Eating early enough to finish and then get to the theater is far too early. Eating after forces a nearly 9PM meal — I don't want to be stuck in the theater with hunger distracting me from the movie!

So I feel very lukewarm now. If I walk to a theater and then can't get into the movie; if I find I can't get a seat from limited availability after black-outs; if I just get tired investing my time in finding a compatible showing time — I won't be too sad if MoviePass ends up in my past.

Game Boy Speaker Repair

2018-07-29 13:33 - Making

The Game Boy Color, open, with the new speaker installed.

I recently picked up a Game Boy Color for cheap, due to an issue with the sound. This is a common issue, the speakers wear out or break over time. Replacements are easy to come by, and cheap. Here's mine, with the new speaker in. Turns out the cheap and easy to get replacements aren't quite perfect. The original speaker (with the "Z" on the back, outside the console) comes in a plastic case, with some nubs on the outside to hold it in place. The new one fits in that space, but it's a bit smaller. A few dabs of hot glue should keep it from rattling around. And now my Game Boy Color has sound again!

Mason Jar Soap Dispenser

2018-07-27 17:11 - General

Back when I first moved into my current apartment I went on a home furnishings spree. I got a nice soap dispenser and tumbler set that matched and looked good in place. But over time, and with exposure to water, the soap dispenser wore out quite a bit. I could never quite find something I really liked again.

Until this. I found a dispenser mechanism specifically made to attach to a mason jar. It said "any" mason jar on it, so I bought sight-unseen across the internet some mason jars. Some wide mouthed mason jars. Which didn't fit the lid it came with. Thankfully I managed to trace the hole and cut it right out with a dremel, no fuss. I've always had a minor fascination with mason jars. They feel like a basic part of the at-home, DIY spirit. Now I've got a couple at home!

RFID Reader v2 Starts

2018-06-07 23:14 - Making

The first working prototype of the next version of my RFID reader project.

I've used Arduinos for some time now, for electronics projects. They're very easy to get started with, but a little bit limited. As I called out in the VFD clock project I did a few years ago, STM32 is a nice next step up. Pictured is a Maple Mini clone I still had from that project, easily available for around $5. Even better is the (as it's colloquially known) "Blue Pill board with almost the same functionality at around $2, and it's close cousin the "Black Pill". More speed and RAM and Flash, more peripherals. More exciting!

I designed a multi-headed RFID reader project, on top of an Arduino core. After some delays it's finally seen real usage, and revealed several opportunities for improvement. Mostly around the hardware, but if I'm going to redesign, I want to take the opportunity to revisit the software as well.

On my clock project, I found the SDK very detail-heavy and hard to work with. ST Microelectronics, which makes the STM32 chips, also makes a package called STM32CubeMX, a code generator that makes the SDK easier to consume. But it wants to output projects that specifically work with a small handful of professional (read: $$$) IDE packages. I recently discovered that Atollic TrueSTUDIO, which is in that list, is available for free download! I've spent a fair deal of free time, in small chunks, recently getting these all set up and working, and especially understood.

The plan is to take advantage of FreeRTOS, which the Cube tool can include with just a click, to handle scheduling and some other things to make this next version both faster and more stable. For now at least, I've got a proof of concept, working end-to-end, able to read cards and developed with a capable IDE with breakpoints and value inspection built right in.

Custom Game Case, from Unused Koozie

2018-05-29 17:12 - Making

The pair of source Koozies, with the Game Boy Micro on top. Top sewn up, bottom cut open, sides sewn. Flipped right side out. Tucked in. Flap closed.

Several months ago I got a pair of Koozies, which have sat unused since then. More recently I've pulled out my Game Boy Micro, which has no protective case, unlike most of my portable devices. I realized that the Koozie was the right sort of material, soft and padded, and almost exactly the right size. So I cut one side of the bottom off, sewed closed the top, and sewed the sides in closer, to be the right size. After flipping it right side out and confirming a good fit, I trimmed what was the bottom of the Koozie down, to be a flap which I can tuck in to cover the open side. It worked out quite nicely!

There was a fire, a couple buildings down from mine

2018-05-28 17:49 - General

There was a fire, a couple buildings down from mine, and I had quite the view of it. I actually smelled something first as I was sitting down to work on something, flipping the switch that enabled (among other things including the light I want) my soldering iron, but it was still in sleep mode of course. Not much later, I noticed this out the window:

That's the back side of this building. Seems pretty serious, enough to have broken through the roof. I'm totally fine, but things are a bit smelly.

Here's a story about it from the Post, which says over 100 fire fighters responded, two of which ended up with minor injuries.

My phone only lets me shoot 10 minutes of video at a time, so I had to (spend 20 minutes shooting, then) re-encode to stitch two clips together. But you get to see the blaze at (what seems) its worst through to being put out by New York's Bravest.

The wi-so-serial works!

2018-03-24 21:33 - Making

The first working wi-so-serial, installed.

For months, stalled by a partially broken computer, I've been working on this project. I have a server at home (and another for remote backups, at a relative's house). And I've got full disk encryption which needs a password to unlock, at boot. Which means if it ever reboots I have to physically be there to get it going again. I'd like to be able to administer my servers remotely.

I've looked into commercial IP KVM devices, but they cost hundreds of dollars. Since I'm working with Linux here, in theory all I need is a serial terminal. So I've designed a serial-to-WiFi bridge. The picture above is the first one that I've ever had working, installed. The ribbon cable hooks up to the internal serial port header, the green terminal plugs into an unused USB port header for power. Then there's snaking trails of several other pairs of wires: one each hooking to the case and to the motherboard for the power LED, the power button, and the reset button.

Most newer motherboards power their USB ports all the time, even while the computer is off, this one included. So I can remotely power up or down, restart, and then control the computer. In theory. I've just gotten far enough to test all this, and discover performance issues. I've got all the computer-side setup to manage, yet. But after working on this since August, it's great to have it finally proven to really be workable.

Small Tools: Bisect

2018-02-23 11:59 - Programming

Git provides a great bisect tool. When something has been broken, it will automatically help you find out how and why, by bisecting (splitting into halves) the source control history, incrementally narrowing down on changes. I've sometimes got situations where I'd like to do a similar operation on something else that's not git history, but is instead numbered. A while ago I threw together a python script to help me do this:

#!/usr/bin/env python

def main(argv):
  if len(argv) != 3:
    print "Usage: <good> <bad>"
  good = int(argv[1])
  bad = int(argv[2])

  while True:
    if bad == good + 1:
      print "First bad:", bad

    totry = ((bad - good) / 2) + good
    inp = raw_input('At %s [g/b]: ' % totry)

    if 'g' == inp:
      good = totry
    elif 'b' == inp:
      bad = totry
      print "I don't understand."

if __name__ == '__main__':
  import sys

Save this in your path, mark it executable, and run it with two arguments: the (smaller) number which was good and the (larger) number that is now bad. It will find the midpoint, you test that number and tell it good or bad and it repeats until you've tested immediate neighbors, indicating the first number which was bad: the one that introduced the problem.

Hokkaido Milk Bread

2018-02-20 14:31 - Making

I recentely learned about the tangzhong bread making method. I pickeda recipe and decided to try it.

The dough is formed. Dough has risen, is divided and rolled and set in (the wrong) pan. Baked!

So I made the dough first of course. Then, I didn't know where my Mom kept her bread loaf pans so I used a Bundt pan instead. And I don't know where the pastry brush is, so I didn't do the egg wash. But it still came out quite nice. Very dense, and certainly tasty. Worth trying again with a few more details "right".