New bot: @choochoobot

It’s a goofy idea: After a few happy-hour drinks on Thursday, I decided to write a little Python script to make emoji “trains” of random length, combining the steam engine with the two styles of rail cars. Once I got that running, I remembered reading about Emma Winston’s “Tiny Gallery” bot, which tweets little scenes of generative emoji “art galleries.”

In fact, there’s a whole “tiny universe” of bots that tweet emoji scenesโ€”most prominently, Katie Rose Pipkin’s amazing “tiny star fields”. But as far as I could tell, none of them have trains. So I set to work putting my trains into some tiny landscapes, and quickly got something together.

Friday morning I “launched” the bot, by tweeting about it from my own account. I’m not sure what reaction I expected, but it wasn’t this one: over the course of the next 24 hours, over a thousand people followed it. By 10 tweets in or so, it had surpassed @pomological as my most popular bot. Over the weekend it climbed to 1,600 followers and it seems to still be on the rise.

Best of all though, I’m getting nice feedback from people speaking all different languages. That’s something I don’t usually get when I’m writing, but of course these “scenes”โ€”if you can even call them thatโ€”are equally intelligible in any language. It feels really great to know that people around the world like this thing.

The source code is online, and I’ll write up more of a how-to soon. More excitingly, I want to keep developing out the possibilities here. Even out of the idea phase, it’s still a goofy project, but it’s a fun canvas to explore some more elaborate ideas.

Mark Twain’s ghost haunts copyright history

After years of toying with the idea, Kash finally convinced me to write up the bizarre copyright story that started seven years after Mark Twain’s death, when his ghost reportedly dictated a new novel, via Ouija board, to Emily Grant Hutchings. His publisher said: well, if Twain wrote it, we own it.

So the more firmly they insisted Twain himself was behind the work, the more they strengthened the Twain estateโ€™s copyright argument that it, as the owner of all things written by Twain, owned this book, too. And Twain had a deal with Harper & Brothers that gave it the sole rights to publish books by Twain, so Hutchings and her publisher would have to produce credible evidence that he wanted to break that deal in his afterlife.

They just don’t make them like this any more. I’ve been pretty happy with the reception this piece has gotten, too, including a write-up by Techdirt and the lead spot in the Paris Review’s link roundup this week.

NYPD denies records of copyright communications it had previously acknowledged

A few media outlets reported last summer that the NYPD, in its continuing efforts to crack down on the sometimes-annoying costumed characters in Times Square, had asked Disney and Marvel to initiate copyright action there. Disney and Marvel didn’t bite. I requested the communications (or records thereof) under New York’s Freedom of Information Law, and got told โ€” months later โ€” there were no such records. Strange.

I wrote the whole thing up for Techdirt this week:

Unfortunately, the nature of frustrated transparency efforts is that we don’t really have the answers. If the NYPD had promptly responded that it had no such records or would be withholding them according to a particular exemption, or even if it had given me a limited set, we could close this case. As it stands, we don’t really know anything more about the NYPD’s bizarre efforts to jam its “quality-of-life” issues into an ill-fitting copyright enforcement box.

Generative tiled watercolors and live south Indian music

A few weeks back, Gautam Tejas Ganeshan invited me to display selections from the Pomological Watercolor Collection behind his performance at San Francisco’s Artists’ Television Access space. I jumped at the opportunity, but stressed a little at how I was going to present them. I didn’t want to do a plain old slideshow, and I didn’t want to do anything that looked cheesy.

A few days later I had the idea to draw a grid of tiles, some of which were blank and some of which had watercolors, and play the Game of Life with them. Pretty immediately I ruled that specific plan outโ€”it’d require a large grid, and the paintings would be too small to show any detailโ€”but I was intrigued by the idea of flipping tiles between blank and fruit images.

The result is a little program I called pomtiles.1 It generates a series of frames with grids of between 2ร—1 and 3ร—3 tiles that each show hand-selected colors or randomly picked images. The frames are suitable for stitching up with a program like ffmpeg into a single video. The one I displayed tonight, embedded below, hangs on each frame for 12 seconds and has no accompanying audio. Suitable for being in the background at a party, perhaps.

It worked really well in context. Gautam’s music demands a lot of attention, and the images complement that nicelyโ€”something in the periphery that is not too challenging, but a nice spot to focus your eyes. The concert ran for a bit over two hours, so the three-hour video didn’t even have to loop.

Of course, there are a few things I’d have done differently if I’d had a little more time and expertise. Most would have given some more consistency to the rules, but then probably nobody cared about that but me. Some aspects feel unfinishedโ€”like the fact that individual tiles can be modified multiple times between displays, say, or that changes to the rows and columns always happen on the right and bottom sideโ€”but the video worked well.

In any case, the Python I wrote to generate the tiles is now online and dedicated to the public domain. It’s a little janky in places (written with my objectives in mind), but if you want to run it and need help, just let me know.

  1. This is the project that I learned how to mat images for, which has already benefited @pomological. []

New square backgrounds for @pomological

I’m happy to say I’ve fixed the most frequent complaint I’ve gotten about @pomological: the images, while great, are overwhelmingly in the portrait orientation, making the preview images on many Twitter clientsโ€”and especially Twitter.comโ€”kind of lousy.

No more! Beautiful squares on a color hand-picked to match most of the painting backdrops.

To address this, I had to learn a little about pillow, the leading Python image library. Now, when the bot downloads a random image from the watercolors, it draws a new neutral-colored box that’s a little longer than the painting’s longest side, and pastes the thing in the center of that.

The hardest part was ensuring the resulting image was in a format that Twitter can understandโ€”especially because this is one of the handful of things that changed in between Python 2 and 3. But I persevered, and read a lot of documentation, and now it’s live.