It’s Time To Buy A Bike

Posted in default on July 12th, 2019 at 07:12:01

I’ve decided I should buy a bike.

I’ve been riding the Blue Bikes around Cambridge for a little more than a month — partially in response to the meltdown of the T — and I’ve come to the conclusion that biking in Cambridge is sufficiently useful and sufficiently safe that it’s a means of transport I should continue trying to use for some trips.

My intent is that this will be used primarily for city riding, with a possibility of using it on well-maintained recreational trails, but I’m not looking for a mountain bike or anything.

Ideally I want something light, but I probably want multiple gears — Cambridge is largely flat, but biking through East Cambridge without gears would be a challenge. I have found that the Blue Bikes typically aren’t geared *high* enough: I often find myself looking for more power and not being able to get it.

I’m likely looking for used rather than brand new — I don’t need anything fancy. Based on my positive experiences with the Blue Bikes, a step through bike of some kind seems appropriate.

I’m not looking for heavy cargo capacity: I still have a car, and am still likely to use that for anything resembling heavy lifting. This will be for transporting me and nothing else that I can’t fit in a backpack.

Storage at work will likely be in the company bike cage; storage at home will likely be locked up in the backyard.

  1. What other answers to questions should I have?
  2. Any concrete suggestions on what kind of bike this turns into?
  3. [Boston-area] Where should I get it?

!!con Trip Report: Day One

Posted in Technology on May 12th, 2019 at 08:13:55

Yesterday, I spent the day at !!con (“bangbangcon”), a conference which focuses on “The joy, excitement, and surprise of computing”. The experience was everything I hoped it would be and more!

As someone who is enthused and energized by the excitement and joy of others, !!con is a mecca. The 10-minute talks have one key requirement: The talk title must include an exclamation point! (The must also be “related to computing” and “be about something you think is interesting and cool!” — all of which play a role in what talks are selected.) These requirements are core to the premise of the con: that talks should be about excitement, and it shows in every aspect of the program that is selected. From body modification to unusual game development experiences, from beginners learning about brand new technology to long-time experts exploring and sharing esoteric knowledge about how something works, the talks were all formed around the joy of discovery.

In the past, I’ve experienced !!con from a distance via the tweets of Liz Fong-Jones. Liz has done an excellent job at pulling the high points from various conferences for years, and I have seen !!con tweets go by and been saddened that I wasn’t aware of it early enough to find a way to attend. Thankfully, this year — due to a timely reminder from a coworker — I was able to get to the event. Being here in person is even more valuable because the excitement over these things is contagious, and is energizing for me all on its own.

Compared to the traditional tech conference, !!con has clearly seriously invested in and succeeded in creating a more welcoming and supportive environment where all kinds of folks feel invited and included. It’s visible from almost the first moment you walk in that this is not the audience of your typical tech conference. It’s eye opening what an attempt to create an inclusive environment can achieve. Elements like anonymized review process, a focus on first time speakers, and encouraging anyone that “finds that people like you are underrepresented at programming conferences” to apply have clearly paid off. (Of course, this is only successful because the organizing committee of the conference has clearly done work all over to make this happen, and has a demonstrated history of getting it right, as far as I can tell.) Both speakers and attendees feature a much more diverse mix, both in racial and gender diversity, than I have experienced at any tech event before this.

Another element that is a joy is the level of accessibility to the conference. This is my first event with live captioning, and as someone who has recently come to realize the extent to which I require captions to process information well, it is a joy. While I am not hard of hearing, I suffer a lot from difficulty processing accents and certain vocal ranges, as well as suffering to a certain extent from symptoms of ADHD that make some forms of processing more difficult. The captions are simply an incredible tool towards making the content more accessible, and I’m definitely committed to demanding this level of accessibility from future events I participate in.

For my own participation, yesterday I was happy to act as a facilitator of one of the breakout/”unconference” sessions: “Unions: Why You Should Have One.” I didn’t have an explicit goal, but with the broader worker solidarity movement afoot in tech, I felt like providing a space for people to chat about it was worthwhile. To my pleasant surprise, we packed the room: we had more than 30 people who came in and participated, in every stage of the process from “This seems interesting” to folks who are well down the path towards building solidarity among their workforce and building on it. Also, since I’m in a town far from home, I came into this conference without recognizing a lot of faces, and now I’ve made some new friends!

If I were to try to highlight all the talks I loved yesterday, I would just have to list every single one: Every talk had some aspect I enjoyed. That said, I can make a few special call-outs to ones that really stick out to me:

Kate Beard‘s “Let’s build a live chat! 👍from the 1800s (?!) 🤔using modern web technology!!! 😮” combined an amazing history of the telegraph — how it changed communications worldwide — with a desire to learn how to use the Web Audio API. The result is Morse Chat: An application that you can use to chat with your friends in Morse Code. Kate has just recently finished a 4-month coding boot camp, and is now working at the Financial Times, and was clearly excited to put those skills to work in a fun personal project to learn more about how to use web audio and websockets — and created a fun and nifty app in the process. Kate’s excitement over the app was contagious, and I absolutely loved it.

Each section of the con had a theme running through the three to four talks that were grouped together, and the game development section was definitely a big draw to me. The practical exploration of Game Feel from Ayla provided some awesome demos of what you can do (and can’t do) to make games feel better, and Sophie’s use of a hardware build to cheat at Pokemon was terrific as well — but what I really loved was Em‘s terrific story of creating a game that’s fun to play using a stationary bike.

Em has a history of creating games with unusual interactive surfaces, and recognizes that how you interact with something changes how you experience it. When they bought a bluetooth enabled stationary bike setup, they found that the existing game UI that came with it was insufficiently motivating, and decided to see what they could do to build a better game. They created a prototype application that envisions you as an UberEats style bike messenger: someone who picks up meals and delivers them to clients. Initially, with only a single input — pedal or not pedal — creating a compelling game experience turned out to be hard. The part of this talk that was most interesting to me was the process — during prototyping — where an attempt to add an additional input led them. The plan was to use turning the handlebars as a way of indicating turns. When stymied by the difficulty of combining this notion with triggering re-routing in commercial mapping UIs like Google Maps, Em found it was a development experience that wasn’t “going with the grain”, and took a step back.

After taking a step back, they realized there was a different approach to take: instead of fighting mapping APIs to implement turning down different streets, instead, they could simply give the player a different set of choices: set up multiple food pick ups and drop offs, and turn the game into a more traditional resource conservation/collection game. Now, the choices were around “Which orders am I going to pick up and drop off, and in what order” — creating a game out of solving a modified version of the travelling salesman problem. With that in mind, you create a game that has a compelling loop, without needing to fight against the development style encouraged by your tools. This step into the perspective of someone prototyping a game was absolutely one of my favorite points of the con.

In the health-related track, I loved Sarah‘s talk, “I Built an Artificial Pancreas!” While I’m not personally a health hacker/body mod type person, I have a lot of respect for those like Sarah who are. But the most interesting part of the whole thing to me was how much more effective her insulin pump is at regulating her blood sugar now: With open source software and open hardware, she was able to pull her actual values directly in line with her target 90% of the time, when before that was almost never the case. Open source software for healthier living? That’s a tagline I can get behind.

All in all, this conference is lovely. The community, the technology, the information and the sense of pure joy from the participants and the speakers are hard to describe, and I’m happy I got the chance to make it here.

Onward, to day two!

Building a Moderately Functional Web App

Posted in Python, Web Publishing on October 9th, 2018 at 07:07:56

This weekend, I built a moderately functional web app. I’ve done this before, of course — I used to work in web development back in The Before Times — but this is only the second app I’ve built in 5-6 years, and it included some new things I haven’t done before! So, in no particular order, here are some things I learned. (Many of these things may have been true for a decade or more; that doesn’t mean that I didn’t just learn them!)

  • If you intend to do anything with media queries, it seems that the common knowledge is that you *must* include a specific viewport meta tag: <meta name="viewport" content="width=device-width, initial-scale=1.0"/>. Without this, things work fine on desktop browsers, but fail on mobile browsers. This does not make sense to me, but there it is. (Thankfully, they at least also fail in Chrome’s mobile device inspector mode, so it’s actually possible to debug.)
  • mod_wsgi has a python-home directive that allows you to specify the virtualenv that you would like to use to run your particular application. This is useful if you are using virtualenv to package up your dependencies; it means that you don’t have to mess about with weird path includes in order to get your virtualenv working in your Apache webserver.
  • localStorage seems to work by default across major browsers at this point. This means that I was able to store information locally without any magical … anything. For minimizing server-side storage entirely, this seems cool and good to know. localStorage is available in the default Javascript scope, and has two functions: getItem('key') and setItem('key', 'value').
  • If you have a div with contenteditable set, by default it appears to have a height in Safari and Chrome, but not in Firefox; so make sure you set a min-height on the element in Firefox.
  • CSS flexbox support has been available in every major browser for years. This means that you can actually horizontally and vertically position elements without using tables. This is amazing to me. (In fact, out of desparation, I briefly attempted to use a <table>, only to find it screwed up my layout more — and that CSS flexbox was *easier* than using a table for what I wanted.) This is pretty amazing to me.
  • If you are using a contenteditable field, then the following will ensure that when you paste into the field, it is pasted using plain text. (This is necessary in Safari; not in Chrome, not sure about other browsers.) I haven’t thoroughly tested how cross-platform this snippet is.

    document.getElementById('input').addEventListener("paste", function(e) {
    // cancel paste
    e.preventDefault();

    // get text representation of clipboard
    var text = (event.originalEvent || event).clipboardData.getData('text/plain');

    // insert text manually
    document.execCommand("insertHTML", false, text);
    });

  • pusher.com is a quick way to get support for a moderate size of websocket connections (100 active connections; 200,000 daily messages) supported by a wide variety of push + receive client libraries, with almost no work. It honestly feels a little bit like magic; as someone who had been putting things off specifically because of the pain that is *either* polling or running a websocket service, this was really quite nice to see. Also supports posting out received messages via webhooks for clients that might want that instead of websockets. I expect that if I ever reach that level of scale, I’ll probably just set up my own websocket server rather than pay the $50/month for the next tier, but for a getting started, this was really useful. I started with this guide on building a chat app in Javascript and found that it was easy to get started with and to modify, since it only has around 30-50 lines of code.
  • I probably need to bite the bullet and start moving towards Python3, even though I don’t really care about it. This is annoying as my gap of 3-5 years since I built new apps has left my server environments atrophied and weak.
  • People really prefer a “dark” theme to a light theme in the social spaces that I run in. (I’m surprised that Facebook doesn’t have a dark mode yet.)
  • Modern browsers continue to change constraints — on things like autoplaying videos, third-party cookie restrictions — in ways that are likely good for privacy and user experience, but break older apps without much way to fix it and with user control over those changes minimized. Old apps that worked fine are now non-functional because of these restrictions.
  • If you try to copy a virtualenv from a different machine, you get *weird* behaviors. Also, if you’re creating a virtualenv, the first thing you want to do is probably upgrade pip. (Turns out that when the pip you’re using doesn’t support modern dependency descriptors, you also get really weird failure modes!)
  • I really miss the handiness of Google’s auto-formatting facilities when writing code. Everything I’ve written this weekend is indented poorly, and it’s frustrating.

Anyway, starting around midnight on Sunday until early Monday morning, I built myself an app; it includes synchronized viewing of YouTube playlists, plus a completely built-from-scratch chat app that is moderately functional and improves in a lot of ways over YouTube chat for the use case I have. I built media queries that let the UI actually work on a mobile device, and it actually looks halfway decent. I didn’t have to use much in the way of browser-specific hacks (modulo comment on min-height in Firefox).

That’s a pretty cool experience.

Moulin Rouge: The Musical – A Sensual Ravishment

Posted in default on August 12th, 2018 at 12:09:32

When describing the story-within-a-story of the original Moulin Rouge, a character describes it as “a magnificent, opulent, tremendous, stupendous, gargantuan, bedazzlement” — a series of adjectives that apply equally well to the stage adaptation currently playing at the Emerson Colonial Theater in Boston.

Moulin Rouge set at Emerson Colonial Theater

The show lives up to the standards set by the 2001 movie musical, engaging in a series of back to back musical mash-ups while the ensemble cast takes the stage, moving in more directions than can be counted at any given time. From the opening scenes, the audience is subjected to an overwhelming collection of bright lights, colorful costumes, and incredible choreography, moving the two dozen or so cast members around the stage in coordination.

The storyline wasn’t particularly original in 2001, and there’s nothing much changed in the musical adaptation: Christian [Aaron Tveit] is an aspiring songwriter from Ohio, come to seek love in the Parisian streets of Montmartre. After meeting Toulouse-Lautrec [Sahr Ngaujah], he heads to the Moulin Rouge to meet the lovely Satine [Karen Olivo], and convince her to help them put on a show at the Moulin Rouge. Together, they convince the club’s owner, Harold Zidler [Danny Burstein] and their financier, The Duke, who seeks Satine’s sole affections. Love triangle ensues, the show must go on, etc. etc.

The musical numbers are stunning, and performed amazingly well by the characters. Christian and Satine both provided amazing range to the eclectic mix of songs, from the Sound of Music to Elvis to Gaga. While a wide range the hits are brought back from the movie, a number of more modern tunes are brought in as well; adaptations of everything from Adele to Lady Gaga to the White Stripes. Fans of the original will find plenty of nostalgic callbacks, but the surprise mixing in of newer tracks clearly provided a new audience with plenty to look forward to. Finding a transition from spoken word or previously used track to a remix of an unexpected song often provided a chuckle of realization from the audience. Even old favorites, like the “Diamonds are a Girl’s Best Friend” mix brought forward from the movie, are updated with new tracks: in this case, bringing in additional notes from Beyonce’s “Single Ladies”. And the original ensemble numbers were among my favorite parts of the show: the “Bad Romance” flavored piece at the beginning of Act 2 (featuring not just Gaga, but a mix of 4 others, including Britney Spears “Toxic”) was an amazing set of visuals, and started Act 2 off with a bang.

Zidler, as our showman for the evening, leads us through much of the story, and plays more of a comic role than he did in the original. While in 2002 or 2003 I might have found this upsetting — my romantic streak let me put entirely too much importance in the Bohemian ideals espoused by the movie to let it be spoiled by explicit comedy — I felt it was a perfect fit. (The reality is that the story behind Moulin Rouge is slightly more vapid than I really would have granted in the past.) The note of comedy plays out throughout the show, and I think gives the production a different taste that makes it more enjoyable for the stage production.

The sets were incredible. It’s clear that I’m no theater expert, but I found them to provide absolutely stunning visuals; in some cases playing absolute tricks of the eye, providing a depth I wouldn’t have expected possible in a stage production. Again, the call backs to the original abound: the dressing room inside an elephant provides many of the same accoutrements as the movie, down to the heart shaped window looking out on the streets of Paris; the apartment in Montmartre providing an aesthetic that matched the intent. (A more professional reviewer in the Boston Globe does say “The production is as slick as it gets … Derek McLane’s sets are extravagant, ever-changing with a whimsical appearance of the Eiffel Tower” — so I guess it’s not just me.)

The costumes were beautiful and ever changing, but all provided a sexual energy, matched by the choreography of the show. From the pre-show opening, with corseted dancers engaged in sensual contact as cage dancers, to the all-male can-can line at the very end, you’re intended to be overwhelmed by the visuals presented.

The show was spectacular, and as Zidler predicted years ago: I came out of the show “dumb with wonderment”. With enough callbacks to the source material to cover all the nostalgia I need, while maintaining a taste of new mixed in throughout, I came away overwhelmingly pleased with the experience. As an entrée into the world of pre-Broadway musicals, I couldn’t be happier with this show.

Moulin Rouge runs at the Emerson Colonial theater through August 19th.

Where to Post? The Dilemma of Building Connections in the Modern Web

Posted in LiveJournal, Web Publishing on August 2nd, 2018 at 02:10:16

So, I have something I’d like to write a series of posts about. They would be longish-form text with a few images tossed in.

In the old days, I would have just set up a LiveJournal (now: Dreamwidth) account, and posted to that. I might have sent links around to my existing friends, though in this case, my imagined target audience is different than my existing friend group, so I might not have cross-posted links.

But the thing is: Part of the reason I want to write is because I want people to find the content and respond. And I’m no longer sure how to build up those connections — and so I imagine myself leaning on the crutch of recommendations algorithms. “Oh, I should make a Facebook page!”, I think — because if it’s on Facebook, maybe people who I don’t tell about it directly will know.

But of course, that’s mostly bullshit: Absent bringing a starting audience with you, most social media platforms don’t provide you a magic discovery mechanism where you’ll be found by others; there really is no difference between any of these platforms on that front.

I run through this all the time: Do I go with tumblr? With Facebook? With Medium? With Dreamwidth? Where am I going to get the most shares? Is this content better for one platform than another? Etc. etc.

I’m not sure what changed. Is this something that changed in me: Do I feel more intimidated and scared to reach out to new people? Am I unwilling to do the work and engage meaningfully with relevant communities?

Is it something that changed in the world? Is it harder to get people to click through to a link that isn’t on Facebook these days? To read the article, rather than a 27 tweet long thread?

I don’t know how I got to where I am, but I do know this: There are a number of things over the years where I have tried to write them and never felt like I found a good home for them. I wanted some feedback, some sense of connection from them… and never came to the conclusion on where I might get it from.

It feels like a step back from where I was a decade ago, and I wish I knew how to move on from it.

RAICES: Why a Bond Fund was a Great Fit For Massive Donations

Posted in default on July 22nd, 2018 at 12:28:29

Over social media over the past several weeks, I have noticed a lot of people upset about RAICES donations being used to fund the bonds of many detained refugees incarcerated in ICE facilities. I think that this frustration — while understandable — is fundamentally flawed, and wanted to share why I think that what RAICES is doing is exactly what they should be doing: that is, paying bonds directly to DHS is not some turnaround or publicity stunt, but rather, this is RAICES doing exactly what they said they would do.

Some background: RAICES is an immigrant advocacy legal org. They work with local lawyers to help provide legal support for immigrants, and in that role they provide a number of services, including paying bonds for some of those they work with. Prior to this year, they were relatively small — managing a few hundred thousand in annual donations — but recently saw a huge uptick in donations as the result of a number of highly visible public donations campaigns. In total, they received more than 20 million in donations in a period of just weeks — an absolutely enormous amount of money for a small organization like theirs to manage.

If RAICES was not a bond fund, these funds would languish for a *long time*, because managing millions of dollars of funds — something like 20x their previous operating budget! — is logistically a nightmare. (For example, a hurricane-related fund last year received $35M in funds targeted for use helping hurricane victims recover in Texas … and have managed to spend only $12M of it, with $23M languishing in an account that practically speaking may never be sent.) Most organizations are not set up to receive this much money! But thankfully, we all got lucky that this *one* singled out organization is so goddamn perfect for a ton of cash: paying bonds for people is literally the best way to ensure that they are reunited with their families.

Bonds are not actual money that goes to the government to keep. That is, the money paid to DHS does not somehow line the coffers of those imprisoning immigrants permanently: instead, the bond is a surety to make sure that the person in question gets to court, and is repaid by the court once they show up. For refugee cases, something like 97% of these cases do. And once they do that money goes back to RAICES… which can use it again for more immigrants.

The campaign page on Facebook was very clear about the intent: Quoting from a Guardian article on the topic, “The campaign page said all money raised was going to “directly fund the bond to get parents out of detention and reunited with their children while they await court proceedings””. The campaign was propagated all over Facebook, and was also advertised on other social media websites, including Youtube (with the help of websites like themarketingheaven.com). But unfortunately, the campaign wasn’t received well by the public.

Slate reviewed this effort in the midst of this massive amount of fundraising: Why Even Viral-Fundraising Skeptics Can Feel Good About Donating to RAICES. The article called this out as an absolutely lucky break in our furor of fundraising: This bond fund will not only serve to immediately get thousands of parents out of ICE detention and reunited with children, but this bond fund will likely serve to help ensure that not just the current batch of people, but thousands more every 3-6 months will be able to be reunited with family, not having to spend time in ICE facilities completely unnecessarily. And that’s the reason why I continued to encourage people to give money to them.

I’m sorry some people didn’t read the campaign they were giving money to, or felt tricked, but this bond fund is just an extremely excellent use of this money, which is going to help detained immigrants for years to come. We realistically couldn’t have found a better way to directly help those affected by such a program than this.

What Makes a Nerd? Passion.

Posted in Drone, Social on May 19th, 2017 at 06:34:42

While at the park flying the other day, one of the swarm of kids who came up to me was super interested in looking at the drone and asking how it worked. This isn’t new: kids love the drones, though this kid was one of the hyper-enthusiastic bent rather than the more shy/reserved ones who watch from a distance. My wife asked him if he was going to be interested in being a nerd in the future.

Now, this kid was in 3rd grade. The correct answer to that answer is “No” — in third grade, nerd is a pejorative. So I was unsurprised to hear him say “No, I’m not going to be a nerd when I grow up.” His reaction was entirely in line with what I’d expect from anyone his age asked that question.

My lovely wife followed up with the typical question: “Ah, what do you want to be when you grow up?” This is a totally typical question that I will ask to the kids who are interested in my drones; typical answers vary, but I’ll often get “video game developer” or “computer programmer”; since sometimes they know I work for YouTube, “I want to work at Google/YouTube” isn’t all that uncommon. These days, these pursuits are all pretty mainstream (at least among the typical “white upper-middle class 3rd graders living in Cambridge, MA” who I typically run into with these answers). But I was a bit amused to hear his answer:

“A geologist.”

At this, Jess and I both started chuckling: Oh, I’m not going to be a nerd when I grow up, I’m going to be a geologist!

The kid looked at both of us laughing and was confused. “What’s so funny?”

I responded: “Well, to me, being nerd is largely about being passionate and excited about som…”

He interrupts: “Oh! Yes, then I’ll definitely be a nerd when I grow up.”

(The rest of the sentence was going to be “about something, especially technical pursuits or scientific pursuits”; though you can be a nerd about just about anything, to me it’s strongly associated with unique scientific explorations.)

The eagerness with which he was willing to commit to being passionate about his interests — interrupting me in order to do so — was charming. Given his overall attitude, it was no surprise to me, of course: this is someone in whom I could recognize a more bold version of myself. (Despite my attitude later in life, in third grade, I was somewhat reserved, having felt myself be crushed under the heels of terrible behavior of kids at that age.) He was excited and enthusiastic and passionate was a great word to describe his interest.

A nerd is passionate. Whether it’s about drones, or computers, or geology or sewing; whether it’s about family history or library science or chemistry: passion is what makes the difference. Whether you’re in third grade or 30 years old: Find your passion. Find your way to be a nerd.

Some YouTube-related Forms

Posted in YouTube on August 16th, 2015 at 19:35:30

If you ever see a video, and you’re like “Why is this watch next recommendation from YouTube so crappy?!”, then you should fill out this form for bad watch next suggestions.

If you ever see a video, and you’re like “Holy crap, it’s like I’m watching a dithered display from 2002 in here; these blocky artifacts are terrible!”, then you should fill out this form for bad video quality.

Feel free to pass these on.

Hawk vs. Drone: Fair Use and Copyright

Posted in default on May 8th, 2015 at 07:02:36

So, I have a popular YouTube video. (It’s not that popular anymore, but it was once.)

YouTube recommended I watch a video: Drone Crash, Fail & Win Compilation 2015, Part 3/3 (watch in 1080p).

So, I watched it, and was somewhat surprised to see a video I recognized in it: mine.

Now, this particular video is not licensed under a Creative Commons license. (The reason for this is that I have seen plenty of evidence that people misunderstand what creative commons *means*, and don’t bother to attribute — sometimes properly, sometimes at all — and I didn’t want to have to argue about it with people who were ripping off the video for their own personal profit.) This means that if someone wants to use the video in a way that isn’t allowed by fair use (or some other portion of copyright law), they need to obtain a license. Some people have obtained a license. In other cases, I’ve been able to convince people who were hosting the video themselves to instead embed the YouTube video. (All of the ad proceeds from the video are donated to the Mass Audubon Society, so this matters to me more than it otherwise would: I feel a responsibility to maximize the money that is donated because of this video..)

In the comments on the compilation video, someone said: “He has just stolen all the clips from other peoples videos without even asking them first. Only Creative Commons videos are free to use so its copyright theft!”

Now, this misunderstands the way copyright works a little bit — Creative Commons videos aren’t ‘free’ to use in the sense of freedom, they require specific requirements that still need to be met — but it’s generally reasonable: Reusing someone’s copyrighted content without a license *may be* copyright theft. But it isn’t when such use is allowed under fair use. (There are other cases too, but I think fair use is the most straightforward claim in this case.)

So, to that end, I replied with the following analysis of whether the 12 seconds of my video used in this compilation was a violation of my copyright. I welcome comments or feedback on ways in which you disagree with or support this analysis.


In the US, 17 U.S.C. § 107 defines a 4-prong test for determining whether something is fair use. In particular:

Purpose and character of the use: ‘whether the art aims to only “supersede the objects” of the original for reasons of personal profit.’ I don’t think that putting all these clips together creates a meaningful work of new art, and that it would fail the test for Purpose and Character of the use. This is not an educational video; there is no commentary; it’s done in no way other than to get eyeballs. (If there were no ads on the video, one could at least claim it wasn’t commercial in nature, which would act in its favor, but there are ads.) That said, the combination of all of these shots together certainly puts some pieces in a different light; that is, there is some creativity being applied. I don’t think it crosses the line

Nature of the copyrighted work: This is not documentation or news footage; it is not the case that the nature of the work is special in a way that would allow it to be meaningfully protected under fair use, as far as I can tell.

Amount and substantiality: This is the real question, and varies a lot depending on the video. For the Burj Khalifa video, there’s only ~2 seconds of video, and I would argue it could be reasonably said that this isn’t the substantive portion of the work. However, for the Hawk vs. Drone video (which is mine), the 12 seconds of selected video very much are the substantive portions of the video — in particular, that specific chunk of the video was exactly the same 14 second chunk of video that a national Nightly News station paid $850 for a license to. Since the Grand Upright Music, Ltd. v. Warner Bros. Records Inc. case in 1991, there has been a massive move towards licensing for music sampling, and this fits a similar role: I think that for some of these videos, there is clear evidence that the amount and substantiality prong is failed by this video.

Effect upon work’s value: I think this one is probably the one that this video succeeds in the most. Specifically, I think that this compilation video does not infringe upon the value of any of the works it has taken from in a serious way. In particular, I don’t believe that anyone who is a likely viewer of my video would say “Oh, I’ve seen the hawk video as part of this compilation; now I’m done.” That said, I think this prong could be minimized even further by including links back to the source videos in the comments: If the creator had done that, I think that the expectation would be that the overall effect would be even less substantial. The most significant video might even be mine — it is one of the longer clips, and it is certainly one that contains the most of the relevant content. (The original source video was only 30 seconds long in the first place — and the other 18 seconds were pretty boring.) With that being the case, I think that it could be argued that this video does not have a meaningful effect upon the work’s value, and might be acceptable under fair use for that reason.

Taken in sum, I think that the video is right on the edge of a Fair Use claim; I think that this could be further improved by the creator by removing ads, and linking to source videos in the description of the video. As is, I have personally considered and rejected the idea of submitting a DMCA claim for my copyrighted content which is contained in this video, because I think that content of this type should be allowed under fair use, even if our current courts would take a protectionist view towards this content in particular. Compilations like this rarely detract from the value of the original work: they create new value in their combination.

Of course, reasonable people may disagree on several of these points.

FAA Enforcement Could Cost You

Posted in default on January 8th, 2015 at 09:07:51

The FAA’s ability to enforce civil penalties against safe flyers of UAV craft has not yet been tested in court, but don’t take this to mean that flying drones commercially is without risks: even in cases where the FAA isn’t assessing fines, handling the legal side of an FAA investigation can be a long, drawn-out process that can cost you lots in attorney’s fees.

With the advances in unmanned remote controlled craft over the past couple years, a massive industry of new photographers has sprung up. Even with a strongly stated position from the FAA that commercial flying is against Federal Aviation Regulations (FARs), there are many businesses in the US that continue to use drones for photography. Some do this knowing that there is risk, while some eschew the risk, taking the approach that safe flight is not within the realm of enforcement of the FAA for remote control model aircraft.

Even if the FAA has no power to enact penalties for a particular operation, that doesn’t mean that the flight is risk free, from a business perspective. In the ongoing case of “Michael Huerta, Administrator, Federal Aviation Administration v. Skypan International Inc.”, the FAA is pursuing Skypan for failing to meet the terms of a subpoena (original petition, exhibits). Unlike in any other case that has been publicized, however, this case is one where the FAA has no evidence that the flight was in any way unsafe, other than it took place inside New York City’s Class B airspace (approximately 5 miles from LaGuardia airport).

Over the past year, Skypan International has filed more than a half dozen motions related to responding to this subpoena, regularly producing documents that they feel are meeting the FAA’s demands, and being repeatedly called to task by the FAA for failure to meet with the demands of the subpoena. In the latest bout, the FAA claims that Skypan International has failed to the extent that they are in contempt of court for their failure to produce documents associated with the subpoena. Overall, more than a year has passed, with presumably dozens or possibly even hundreds of hours of legal time spent both on complying with, and responding to requests from, the subpoena from the FAA, from an organization which felt it was cooperating with the FAA!

As part of the continuing case, Skypan did attempt to claim that since the FAA had no regulatory power to assess the fines it was considering, it was unreasonable to request the documents as part of the subpoena; this was not successful, as the FAA (reasonably) argued that as part of an investigation, requesting documents to figure out whether anything *did* take place under their regulatory authority is part of their job.

A number of people flying under the “Fly Safe, and Keep Flying” approach. This is a reasonable approach for most people: the risk of FAA enforcement action in most cases is pretty slim. However, even if flying safely, as a commercial organization, there is still risk to any flight for commercial purposes of FAA investigation — which, even without penalties, can be a costly endeavor.

There is one upside at the moment. The pending case in DC Circuit Court against the FAA for their overly broad “Interpretation of the Special Rule for Model Aircraft” is currently held in abeyance at the request of one of the petitioners — which is itself a problem, slowing the potential response from the FAA to this legal challenge. However, as a component of the abeyance, the court has ruled that: “In the event the agency starts enforcing the rule challenged in this proceeding – “Interpretation of the Special Rule for Model Aircraft,” 79 FED. REG. 36,172 (June 25,
2014) – before considering and disposing of the comments it solicited, petitioners may request appropriate action.” (abeyance order). In short: If the FAA chooses to pursue further activities under the interpretation from June, the abeyance can be set aside, and the case against the FAA will proceed. This is hardly an ironclad agreement, but it seems unlikely that this is in the FAA’s best interest, and it is unlikely that they would choose to do so absent extreme cases.

Fly safe, but be aware: No amount of commercial flying is without risk of potential investigation from the FAA.

(One of the best sources of kibbitzing on drone-related legal topics that I have found is the UAV Legal News and Discussion Facebook group (somewhat to my surprise). In this group there are many of the experts in the field, from lawyers to journalists investigating the FAA’s actions. I highly recommend joining the group if you’re interested on keeping up with legal-related drone developments.)