Cowboy Who?
Shared posts
Mario Maker - My kid's levels - Episode 3
Here I am again playing MORE of my 3 year old daughter's Mario Maker 2 stages.
Follow me and the crew:
James - https://twitter.com/cinemassacre
Justin - http://justysilverman.com/
Kieran - https://twitter.com/Kieeeeern
New AVGN Video Game:
http://avgngame.com
Shirts, DVDs, and Blu-rays:
https://store.screenwavemedia.com/collections/cinemassacre
#MarioMaker2 #JamesRolfe #Cinemassacre
The Five Stages of Grief When Dealing With No Longer Being Able to See the “Scoop, There It Is” Geico Commercial
In 1969, psychiatrist Elisabeth Kübler-Ross first introduced the “five stages of grief” in her book On Death And Dying. Initially based on her studies of patients facing terminal illness, many professionals have generalized the stages to apply to any negative life changes or losses, such as the death of a loved one or the realization that the “Scoop, There It Is” Geico commercial is nearing the end of its television run.
Denial
At first, it will be hard to come to terms with it. You may tell yourself things like, “This can’t be happening to me,” or, “No, no, NO — they’re going to play that commercial forever.” But it doesn’t work that way, and deep down, you know it. Sure, every year they re-play that M&M’s commercial where they scare Santa, but it’s reckless to assume that applies to every other advertisement. It’s rare for an ad to have that long of a shelf life, especially one as great as “Scoop, There It Is.” In the words of Robert Frost, “Nothing gold can stay,” no matter how hard you try to deny it’s happening.
Anger
It’s no one’s fault that a commercial stops airing. These things just happen. Unfortunately, it will be hard for you to understand this about a commercial you love. You will direct your anger at GEICO, the television, and even at the “Scoop, There It Is” commercial itself. You will say things like, “I’ve never liked this stupid commercial anyway,” even though that’s a lie. We all say stuff we don’t mean during this stage. This is okay as long as we don’t let our anger affect those around us.
Bargaining
There are no deals you can make to prevent this, but you will try. You will plead to the heavens, “What if I double my GEICO insurance?” and convince yourself that if you never turn your TV off, the commercial will never stop airing. But these efforts will be futile, as the end of its advertising cycle is out of your control. One of the hardest parts of dealing with loss is realizing you are helpless and that there is nothing you can do to stop the inevitable.
Depression
You will be sad. You will not want to do much of anything. Even the littlest things will be triggering: eating ice cream; listening to your favorite Tag Team album; watching a ’90s kids movie montage set to “Whoomp, There It Is.” None of these things will bring you the joy they once did. Try to confront your feelings in a positive and creative way. Over time, these triggers of sadness will turn into reminders of the fun times you had watching the mom and dad dance in the “Scoop, There It Is” commercial.
Acceptance
At some point in the process of grief, you will say to yourself, “I am at peace with the fact that the ad is no longer on TV.” This won’t mean you are happy that it’s gone; it means you are happy to know that for a brief period of time, you were fortunate to have this treasure in your life. It’s true what they say: nothing is ever really gone as long as we keep its memory alive. Take comfort in knowing that someday down the road, someone will say the words “French vanilla, Rocky Road,” and you will finish “chocolate, peanut butter, cookie dough…” and just like that, the commercial will be stuck in your head again.
So cherish “Scoop, There It Is” while we still have it in our lives, because you never know when it will be the last time you see it on TV. And when its run finally does come to an end, please remember there is no typical response to loss. Everyone experiences grief differently. What is important to understand is that while the grieving process will be unique to you, know that we all are experiencing the loss of no longer being able to watch the “Scoop, There It Is Commercial” together. So dance and sing and enjoy it while you can. “Choco-laka, choco-laka, choco-laka…”
For Your Return to the Office, We’ve Added Three Rooms for Guttural Screaming
Greetings, colleagues —
As we start planning our return to the office, we wanted to give you a gentle heads-up that we’ve made a few changes to our workspace based on the results of our WFH vs. WFO survey. We’ve definitely added more live plants (hello, fern canopy!) throughout our communal spaces, but the biggest change you’ll find is that there are now three rooms for guttural screams.
While we can’t replicate the “scream anywhere, anytime” perks of working from home, we’ve done our absolute best to give everyone the ability to build in moments of emotional release throughout their day.
LOGISTICS
Scream Room #1 is in our Riverside workspace (near the snacks and Bevi machine). Scream Room #2 is in our Bayside workspace (where trivia nights go down). And Scream Room #3 is, you guessed it, in our Cornside space (by the big coat closet).
SCREAM ROOM RULES
Due to the overwhelming number of people requesting the ability to scream during the workday, we’re anticipating high demand for these new rooms. Please follow the rules below so we all can get the most out of these liberating spaces.
- Use the accompanying Google sheet to reserve a room for guttural screams. Please do not delete anyone’s name and take their slot, no matter how badly you need a guttural scream. If you have any issues with this, you can Slack Rhonda in HR.
- On the sheet, make sure you indicate whether your reservation is private (just you) or public (others welcome). Rhonda says guttural screaming in groups is actually great for team building, but no pressure.
- Speaking of groups: there can only be up to four people screaming in a single room at a time. At five, the screams start to carry beyond the insulated walls.
- If you happen to walk by a room for guttural screams and it’s open, feel free to pop in and scream for as long as you need or until someone with a reservation requests that you leave. DO NOT pretend to have a reservation if you don’t really have one.
- All scream sessions MUST be booked in five-minute increments. This ensures our schedule works out in nice, round numbers, and it’s the way Rhonda set up the sheet. Don’t try to creep in an eight-minute session. It’s either five minutes or ten minutes; it can never be eight.
- Currently, we are not placing caps on scream times, but this is subject to change. If we start getting complaints that some people aren’t even able to get in a five-minute scream, while others are averaging thirty minutes of screaming a day, then we may have a time-cap situation on our hands. For now, please only schedule the sessions you need, not the sessions you want.
- If all rooms for guttural screaming are booked, and you desperately need to scream, DO NOT use one of the coat closets. Not even the big one in Cornside. We know people went there to scream in the past, and we ignored it, but we’re trying to break old habits and instead build healthy ones. No more screaming in coat closets, PLEASE. (Parking garage is still okay, but only on your lunch break.)
- Your guttural scream hours are not billable. There is no job number associated with the time you spend screaming, so DO NOT ask any of your project managers to open up a job number.
- NO FOOD OR DRINK in these rooms, please. The carpets and floor pillows are all new, and the food smell WILL LINGER in these spaces whether you spill anything or not.
- If you’re comfortable taking a selfie or recording yourself during your guttural scream session, please Slack it to Gravin D., chair of our Office Happs Committee, to be featured during next month’s “What’s the Happs?!” presentation.
As these rooms for guttural screaming become part of our daily routine, there will inevitably be updates to the rules above. This will be a learning period for all of us, so please be patient!
Rhonda has also given me the green light to let you know about another upcoming renovation happening in Q4. We’re getting washers and dryers installed in one of the coat closets (not Cornside), so you can do laundry all day at the office just like you would at home. Rules to follow!
Any questions, Slack it to me!
Janston
Houston’s Immersive Art Museum “Seismique” Announces Mural Open Call
Seismique, a Houston-based immersive art museum, is seeking to enlist the creative contributions of five local and regional artists who wish to be part of a new outdoor mural project that will “transform the outward-facing external wall into a multi-faceted artistic vision designed to further augment the totality of the Seismique experience.”
With no specific theme required to apply, each muralist selected will be given a canvas that is 43’ wide by 28’ tall. Selected artists will each receive $5,000 upon completion, and Seismique will pay for materials. With preference given to submissions received by April 21, 2021, artists can apply here.
Last year, the 40,000-square-foot space reserved 12 of its 40 galleries (Seismique interchangeably calls them “galaxies”) for Houston-area artists. Creators include Input Output, Kai Ussin, and Moon Papas.
The museum’s co-founder Josh Corley states: “…the response to Seismique since opening our doors to the public in December of last year has been tremendous, and we are ecstatic that Houstonians and visitors alike have embraced the concept so enthusiastically… we are always looking to innovate with new inventive elements. This mural project allows us to do just that while also continuing to give local artists an outlet for both creativity and financial gain. We look forward to again receiving thoughtful submissions and have no doubt that the response will be as fruitful as when we put out our first call for artists over a year ago.”
Seismique also offers educational workshops that serve students from local schools across Greater Houston looking for technology-driven learning opportunities in disciplines related to S.T.E.A.M. (Science / Technology / Engineering / Arts / Mathematics). More information about Seismique is available through its website.
For Glasstire’s Art Dirt podcast episode dedicated to the recent mural boom in Texas, please go here.
The post Houston’s Immersive Art Museum “Seismique” Announces Mural Open Call appeared first on Glasstire.
NLW-Libraries and how they work
Libraries and How to Use Them
Hardendorff
1979
Another library book about libraries. Although geared to kids, it is pretty text heavy and the illustrations are just okay. As much as I could appreciate some definitions of library jargon, this book probably has more depth in some pages than a library science textbook. All in all, it isn’t the worst, but it is woefully dated.
I also kept looking at the cover and thinking it was some kind of pattern, like a stained glass window. It took me a while to realize that the groovy cover really was a bunch of books on a shelf. In 1979, this book is decent but in 2021. Somebody should weed this and submit it as supplemental reading for an intro to library science course.
Mary
The post NLW-Libraries and how they work appeared first on Awful Library Books.
Saturday Morning Breakfast Cereal - Hey Girl

Click here to go see the bonus panel!
Hovertext:
The antics stopped being funny some time during his 3rd year of college, but he didn't know how to stop.
Today's News:
Savage Love
I’m a 29-year-old straight male. I’ve been with my 25-year-old partner for six years. I love her and think that we are perfect for each other. We have all the things that make existing with someone wonderful. But about two years into our relationship I had a two-week-long affair while I was out of the country. I fucked up. I came clean to my partner and we’ve done our best to work through this over the last four years, but it has obviously caused some trust issues between us. I’ve never cheated it again and I try every day to work through these issues I caused in our relationship.
There’s also been two recent instances of me breaking her trust. On a particularly stressful day I was caught sneaking a cigarette—the sneaking part is the issue—and on another occasion I did drugs in our communal back garden with a friend after she had gone to bed. I owned up to both straight away. I view both of these as being a symptom of the lockdown/pandemic prompting me to break with my “normal” behavior. But partner is no longer comfortable allowing me to have the freedom to go out with my friends and partake in drugs without her express permission, which she already said she’s unlikely to grant me. The other element to this is, we want kids in three years. We’ve agreed that I will fully abstain from all drugs after we become parents.
My problem is that I trapped between a desire to meet the wants of my partner while also maintaining a degree of autonomy. When we discuss these matters—which we’ve been doing frequently lately—her argument boils down to this: “You did a bad thing, you need to make concessions so that I feel safe, you having to seek my permission makes me feel safe.” It’s coming to loggerheads and I don’t know if I’m the unreasonable one here, especially since I’m arguing for the freedom to do an illegal drug. I would appreciate your external, outside, drug-positive perspective in this.
Don’t Really Understand Girlfriends Sentiment
I had some emergency dental work done this morning and I’m a little strung out on… what are those things called again? Oh, right: drugs. Last night I selected the letters I wanted to respond to in this week’s column and I really didn’t expect to be on powerful painkillers when I sat down to write my responses today. In all honesty, I probably shouldn’t be operating advice machinery at the moment but deadlines are deadlines. You should take my advice with a grain silo or two of salt, DRUGS, and everyone else should just skip this week’s column entirely.
Okay! DRUGS! Here we go! My outside, external, drug-positive-but-with-caveats (see below) perspective on your dilemma boils down to this: Do not make babies with this woman. Don’t scramble your DNA together with hers—not unless it makes your dick hard to think about begging this woman for permission every time you wanna smoke a little pot with a friend or take a fucking shit for the next forty years. (And, trust me, you’re still going to want to smoke pot after the babies come.) If that kind of begging excites you, great. Have all the fucking babies. But if that doesn’t excite you… dude… run the fuck away.
Yeah, yeah: you did a bad thing. You had an affair four years ago and you made the mistake of telling your girlfriend about it even though 1. she most likely was never going to find out about it and 2. you quickly came to regret it. Your regret wasn’t instantaneous—like you, DRUGS, your regret took a couple of weeks to come—but the fact that you haven’t cheated on her since is a pretty good indication that your regret was sincere. And now here you are four years later, DRUGS, waking up every day and getting back to work on those trust issues. Because you’re still in trouble. Because you made the mistake of telling your girlfriend about an affair she would never have found out about if you had kept your mouth shut.
But you know… come to think of it… maybe it was a good thing that you told your girlfriend about the affair, DRUGS. Not because honesty is always the best policy. The famed couples counselor and author and podcaster and Ted Talker Esther Perel urges people who’ve had affairs to consider the “burden of knowing” before they disclose. If you sincerely regret the affair and it’s not going to happen again and your partner is not in any physical risk and is unlikely to hear about the affair from a third party, sparing them the burden of knowing is the second-most loving thing a person can do. (Not cheating at all would, of course, be the most loving thing a person can do.)
So to be clear, DRUGS, I don’t think telling your girlfriend was the right thing to do because all affairs must be disclosed. I think telling your particular girlfriend was the right thing to do because she’s telling on herself now. If she doesn’t feel like she can trust you ever again—and if she’s constantly on the lookout for new reasons why she can’t trust you—then she needs to end this relationship. But she hasn’t ended the relationship, DRUGS, and you need to ask yourself why she hasn’t. I have a hunch: She hasn’t ended it because she likes it this way.
Someone who cheats and gets caught and discloses and wants to make it right can expect to spend some time, well, making it right. They should expect to spend some time in the doghouse and, to extend the metaphor, they should expect to spend some time on a short leash. But a person can’t spend the rest of their life in the doghouse. A cheater has to take responsibility and be considerate about insecurities the affair may have created or worsened. But if a cheater has done all that and years later the cheated won’t let them out of the doghouse—or is constantly finding new reasons to keep the cheater in the doghouse—then the doghouse is where the cheated wants the cheater. Forever. Which means instead of being angry you cheated on her, DRUGS, on some level your girlfriend is delighted you cheated on her. Because the wrong thing you did allows her to control you for the rest of your life.
But it shouldn’t. And if she insists it does or that it should, DRUGS, you should leave her.
About those caveats: You don’t specify the drug you used in the backyard with your friend but I’m gonna assume it was weed—which is legal where I live but not where you live. There is, of course, a big difference between stepping out to smoke a little pot after the girlfriend has gone to bed and sneaking out to smoke a lotta meth. And if you’re an addict and a little pot has led to a lot of harder drugs in the past, your girlfriend’s zero tolerance policy might be justified. But if we’re not talking about hard drugs and you don’t have addiction issues, DRUGS, you shouldn’t have to beg your girlfriend’s permission in advance—which she’s denied in advance—to smoke a little pot with a buddy.
I’ve been listening to old episodes of the Savage Lovecast while working from home. Yesterday I heard you explain to straight male listeners that their straight female partners would say “yes” to sex more often if “sex” didn’t always mean the woman getting fucked. That really resonated with me, a straight woman with a male partner. When my husband came onto me the next night and I didn’t feel like opening up to get basted, instead of saying “no” I offered to jerk him off while he sucked my tits. It was great—for both of us! Total win! Thank you, Dan Savage!
Joyfully Enjoying Relevant Knowledge
You’re welcome, JERK! It’s always nice to hear from folks who’ve taken my advice and didn’t regret it!
mail@savagelove.net
Follow Dan on Twitter @FakeDanSavage.
Why spotting a 'forest kitten' can be challenging but fascinating
Have you ever spotted a "forest kitten," the seldom-seen but adorable pine marten that hides in Alberta's forests? Naturalist Brian Keating says he saw the small animal in February near Lake Louise — prompting him to tell The Homestretch what makes the animal so remarkable.
The Only Acceptable Form of Free Speech Is Giving Me Money
“My warning, if you will, to corporate America is to stay out of politics,” said Sen. Mitch McConnell, who has long argued that corporate donations are protected political speech. When questioned, he added: “I’m not talking about political contributions.” — New York Times, 4/6/21
There are many ways people and corporations choose to express themselves and their views. However, only one of those ways is allowed. The only acceptable form of free speech is giving me money.
You might ask, “But isn’t free speech about speech? Isn’t that in the name?” And I’ll respond, “Stop talking to me. You’re only allowed to give me money. If you’re not giving me money, leave me alone and make more soda.”
And you might say, “I’m not Coca-Cola, I’m a person.” And I’ll respond, “If you’re not a corporation, then you’re not a person.”
And you might say, “Well, if you’re going to recognize corporations as people when they pay to elect politicians, then you can’t be upset when they use their platform to express dissent.” And I’ll respond, “I can’t hear you because I’ve stuffed my ears with money, the thing you’re supposed to be giving me.”
And you might say, “I actually don’t think corporations should have the same political contribution rights as individuals, because their financial strength far outweighs that of the average citizen. Besides, there’s a huge imbalance of power between executives and a company’s labor force.” And I’ll respond, “If you write that in the memo of a blank check made out to cash, I will pretend to read it, and that’s the most I can offer.”
And you might say, “You’re a truly awful person.” And I’ll respond, “No, I’m a truly awful corporation. On paper, I’m technically a business. It’s better for my taxes.”
And you might say, “Is that legal?” And I’ll respond, “Again, the only thing that is always allowed is money. Specifically, money that is headed toward me.”
And you’ll walk away because if you don’t, you feel you might do something rash.
But what you need to understand is that the First Amendment doesn’t give you the right to say whatever you want. It gives you the right to say what you want with your money, and only as long as that money is for my friends and me. It says so right here on this copy of the Constitution I photoshopped and got the Supreme Court to sign.
Texas Courts Open Eviction Floodgates: 'We Just Stepped Off A Cliff'

Judges in Texas are being told it's not their job to enforce a CDC order aimed at stopping evictions. Housing groups fear that a wave of unnecessary evictions will leave thousands homeless.
(Image credit: Michael Dwyer/AP)
A Brief History Of How Racism Shaped Interstate Highways

Part of President Biden's infrastructure plan aims to promote racial equity. Professor Deborah Archer says highway planners in the mid-20th century sometimes purposefully destroyed Black communities.
(Image credit: Richard Baker/Corbis via Getty Images)
Texas’s Best (and Weirdest) Minor League Baseball Team Names, Ranked
It’s been a weird year for sports, and even weirder for the lower-level sports leagues that rely on fan attendance to bring in any money. In 2020, Minor League Baseball canceled its season for the first time in history (the league had even kept playing throughout World War II), resulting in a scramble of young ballplayers seeking teams to play for and opportunities to show scouts what they were capable of. The result was a massive reshuffling of the independent baseball league landscape across Texas. An entire new league popped up in Sugar Land alone. This year, there’s reason to believe that the summer will look a bit more normal, and watching a ball game in the open air, with a bit of distance in…View Original PostThe post Texas’s Best (and Weirdest) Minor League Baseball Team Names, Ranked appeared first on Texas Monthly.
The only good "Q" is a Star Trek "Q"

The new Star Trek: Picard trailer declares the return of "Q." This Q is batshit crazy but a lot of fun, as opposed to the current-era fictional character guiding Capitol insurrectionists and loonie Karens.
Wait for the end and hear the well-remembered Q cackle. — Read the rest
Arkansas Governor Vetoes Ban On Gender-Affirming Care For Trans Youth

Gov. Asa Hutchinson, a Republican, called the Save Adolescents From Experimentation Act, or SAFE Act, "a vast government overreach." The legislature could override the veto with a simple majority.
(Image credit: Victor J. Blue/Bloomberg via Getty Images)
NLW Special: Rule Breaker
Rule Breaker
Boswell
1990
In honor of National Library Week 2021, ALB is presenting some library and library-themed books. We are kicking off our week with a romance!
Our man of the hour, Rand Marshall, heard there was a children’s librarian named Jamie who turned down all the cool guys for dates. Rand was up for the challenge. Rand also has a secret identity as Brick Lawson, a best selling author of action thrillers that are wildly popular, but universally panned by the highbrow literary types.
Our meet cute starts with Rand hitting on our librarian by asking for a book by Brick Lawson. Of course, Jamie is all about quality literature and rolls her eyes at his request. (Very bad librarianship, Jamie – we don’t comment on customer choices).
Rand continues to chit chat and then starts badgering her for a phone number. It moved from meet cute to icky territory in about two paragraphs, and continued for many, many pages! Evidently Rand doesn’t want to take no for an answer. Inner Jamie struggles with her resolve since Rand is super handsome and manly.
As a romance fan, I actually despise some of the older books because of this. I can predict where this is going. He is going to continue and work all the angles. She is going to find out his identity and have a problem with “lying” about who he is. (In a real scenario of a librarian, she should be excited that he is a best selling author and book him for a library program – and insist he do it for free.)
Mary
The post NLW Special: Rule Breaker appeared first on Awful Library Books.
Saturday Morning Breakfast Cereal - Laughs

Click here to go see the bonus panel!
Hovertext:
Somewhere an evolutionary psychologist's ears are burning.
Today's News:
Humanoid - An Abandoned Game
Q: "Can I download or play this game?"
A: It's not a finished game, and a lot of scenes from the video had to be hacked to access different rooms or events. It's not in a 'demo-able' state, and I don't have the time yet to get it there. I may open source the engine at some point, but I don't know if it's really that useful with no support or documentation, and I would not recommend anyone to use it anyway (that's already a hard lesson learned for me).
Q: Hyperbolica?
A: Yes. Still working on it, and I still don't have an expected release date yet. It will be ready when it's done.
Music By Razerek
"Suspended In Midair" https://soundcloud.com/razerek/suspended-in-mid-air
"Rattlesnake Pond" https://soundcloud.com/razerek/rattlesnake_pondit-s3xmoditmania-round-1
"Aftermath Of The Tremors At Vinegar Lake" https://soundcloud.com/razerek/aftermath-of-the-tremors-at-vinegar-lake
https://razerek.bandcamp.com/
https://twitter.com/Razerek_
Supreme Court Sides With Google In Decade-Long Fight Over API Copyright; Google's Copying Of Java API Is Fair Use
It's taken over a decade, but the Supreme Court has finally said that Google's copying of the Sun Java API for Android was clearly fair use in a 6-2 ruling (Barrett did not take part since she was not on the Court when the case was heard). The background of this case is actually kind of important to understanding what just happened, so here's a quick(ish) recap.
As you'll probably know, this case began in 2010 when Oracle, which had just taken over Sun, sued Google for patent infringement. The patent parts were quickly tossed out and what remained was what referred to as a "sideshow" to the main event: a question about whether APIs could be covered by copyright. Pretty much all historical evidence, including an important Supreme Court ruling from the 1990s, said no, interfaces are not covered by copyright.
Oracle and friends then spent the next decade deliberately gaslighting basically everyone who doesn't understand what an API is, and insisting that it's the same as executable code. The district court, under Judge William Alsup, who somewhat famously taught himself Java to better understand the issues in the case (he already knew how to code and was a hobbyist programmer), correctly found that APIs are not subject to copyright as they represent a "system or method of operation" which is explicitly not covered by copyright, as per Section 102(b) of the Copyright Act.
Rather than go to the 9th Circuit (as it should have) the case went to the Federal Circuit, which hears all patent appeals. That was because the case began as a patent case, even though it no longer was. CAFC judges are somewhat infamous for never finding a patent issue they couldn't screw up, and decided to extend that to copyright. In the ruling overturning the lower court, they made it clear that because they were code illiterate they could not understand the difference between executing code and an API, even though it's like the difference between a novel and a dictionary.
The case went back to the district court, where the jury this time sided with Google, this time saying that the use of the code was covered under fair use. That whole trial was a little weird, because reading between the lines, you could see that nearly all the arguments for why copying an API was fair use were really about why an API shouldn't be covered by copyright at all (as per Alsup's original ruling) and then squeezing that square peg into the round hole of fair use to make it work. Once again, however, CAFC got flummoxed by an API looking like code and overturned -- which is quite crazy because CAFC had, in its first ruling, insisted that the jury should decide this issue (as a matter of fact) and then when the jury said "fair use" CAFC suddenly decided that it was a matter of law that it could overrule.
Finally, we get to the Supreme Court. From oral arguments, it wasn't clear where the court was leaning -- with some good questions and some crazy questions. But with today's ruling, it's clear that the smarter questioners won out. The majority opinion was written by Justice Breyer, who has always been the best Justice on copyright issues, and had the support of Justices Roberts, Kagan, Gorsuch, Kavanaugh, and Sotomayor.
Breyer starts out by noting (thankfully, unlike the CAFC judges) that it's important to understand just what an API actually is.
Consider in more detail just what an API does. A computer can perform thousands, perhaps millions, of different tasks that a programmer may wish to use. These tasks range from the most basic to the enormously complex. Ask the computer, for example, to tell you which of two numbers is the higher number or to sort one thousand numbers in ascending order, and it will instantly give you the right answer. An API divides and organizes the world of computing tasks in a particular way. Programmers can then use the API to select the particular task that they need for their programs. In Sun’s API (which we refer to as the Sun Java API), each individual task is known as a “method.” The API groups somewhat similar methods into larger “classes,” and groups somewhat similar classes into larger “packages.” This method-class-package organizational structure is referred to as the Sun Java API’s “structure, sequence, and organization,” or SSO.
For each task, there is computer code, known as “implementing code,” that in effect tells the computer how to execute the particular task you have asked it to perform (such as telling you, of two numbers, which is the higher). See Oracle, 872 F. Supp. 2d, at 979–980. The implementing code (which Google independently wrote) is not at issue here. For a single task, the implementing code may be hundreds of lines long. It would be difficult, perhaps impossible, for a programmer to create complex software programs without drawing on prewritten task-implementing programs to execute discrete tasks.
But how do you as the programmer tell the computer which of the implementing code programs it should choose, i.e., which task it should carry out? You do so by entering into your own program a command that corresponds to the specific task and calls it up. Those commands, known as “method calls,” help you carry out the task by choosing those programs written in implementing code that will do the trick, i.e., that will instruct the computer so that your program will find the higher of two numbers. If a particular computer might perform, say, a million different tasks, different method calls will tell the computer which of those tasks to choose. Those familiar with the Java language already know countless method calls that allow them to invoke countless tasks.
And how does the method call (which a programmer types) actually locate and invoke the particular implementing code that it needs to instruct the computer how to carry out a particular task? It does so through another type of code, which the parties have labeled “declaring code.” Declaring code is part of the API. For each task, the specific command entered by the programmer matches up with specific declaring code inside the API. That declaring code provides both the name for each task and the location of each task within the API’s overall organizational system (i.e., the placement of a method within a particular class and the placement of a class within a particular package). In this sense, the declaring code and the method call form a link, allowing the programmer to draw upon the thousands of prewritten tasks, written in implementing code. See id., at 979–980. Without that declaring code, the method calls entered by the programmer would not call up the implementing code.
The declaring code therefore performs at least two important functions in the Sun Java API. The first, more obvious, function is that the declaring code enables a set of shortcuts for programmers. By connecting complex implementing code with method calls, it allows a programmer to pick out from the API’s task library a particular task without having to learn anything more than a simple command. For example, a programmer building a new application for personal banking may wish to use various tasks to, say, calculate a user’s balance or authenticate a password. To do so, she need only learn the method calls associated with those tasks. In this way, the declaring code’s shortcut function is similar to a gas pedal in a car that tells the car to move faster or the QWERTY keyboard on a typewriter that calls up a certain letter when you press a particular key. As those analogies demonstrate, one can think of the declaring code as part of an interface between human beings and a machine.
The second, less obvious, function is to reflect the way in which Java’s creators have divided the potential world of different tasks into an actual world, i.e., precisely which set of potentially millions of different tasks we want to have our Java-based computer systems perform and how we want those tasks arranged and grouped. In this sense, the declaring code performs an organizational function. It determines the structure of the task library that Java’s creators have decided to build. To understand this organizational system, think of the Dewey Decimal System that categorizes books into an accessible system or a travel guide that arranges a city’s attractions into different categories. Language itself provides a rough analogy to the declaring code’s organizational feature, for language itself divides into sets of concepts a world that in certain respects other languages might have divided differently. The developers of Java, for example, decided to place a method called “draw image” inside of a class called “graphics.”
Not a bad description for an 82-year-old Supreme Court Justice (kudos to his clerks and the various parties and amici that briefed this). One of the big debates in the lead up to the case, and at oral arguments, was what "analogy" best represented what an API was. You can see above Breyer mention the Dewey Decimal System, which is a pretty good analogy. Then he includes another:
Consider a comprehensive, albeit farfetched, analogy that illustrates how the API is actually used by a programmer. Imagine that you can, via certain keystrokes, instruct a robot to move to a particular file cabinet, to open a certain drawer, and to pick out a specific recipe. With the proper recipe in hand, the robot then moves to your kitchen and gives it to a cook to prepare the dish. This example mirrors the API’s task-related organizational system. Through your simple command, the robot locates the right recipe and hands it off to the cook. In the same way, typing in a method call prompts the API to locate the correct implementing code and hand it off to your computer. And importantly, to select the dish that you want for your meal, you do not need to know the recipe’s contents, just as a programmer using an API does not need to learn the implementing code. In both situations, learning the simple command is enough.
Of course, reading this you might hope that Breyer is about to go all the way to the point that he should and say that APIs, as systems and methods, are clearly not covered by copyright under 102(b). But, unfortunately, he does not. The majority opinion goes for the 2nd best option, just saying that this is fair use. But there are still some fascinating tidbits on the way there. Incredibly, Breyer quotes Thomas Macaulay's amazing speech on copyright in 1841 that we've quoted on Techdirt many times before. I wasn't expecting to see it here, however. But here is Breyer explaining how copyright is a "tax":
Macaulay once said that the principle of copyright is a “tax on readers for the purpose of giving a bounty to writers.” T. Macaulay, Speeches on Copyright 25 (E. Miller ed. 1913). Congress, weighing advantages and disadvantages, will determine the more specific nature of the tax, its boundaries and conditions, the existence of exceptions and exemptions, all by exercising its own constitutional power to write a copyright statute.
And then he notes that Congress has put limits on copyright, including the limits on what is subject to copyright (Section 102), and then other limitations found throughout the Copyright Act, including fair use (Section 107). Breyer then notes that even though Google asked the Court to say APIs are not covered by copyright, since they can answer the fair use question and dispose of the issue, the court will just assume that APIs are subject to copyright for the sake of exploring fair use, and leave the actual question of copyright and APIs to another day (groan).
A holding for Google on either question presented would dispense with Oracle’s copyright claims. Given the rapidly changing technological, economic, and business-related circumstances, we believe we should not answer more than is necessary to resolve the parties’ dispute. We shall assume, but purely for argument’s sake, that the entire Sun Java API falls within the definition of that which can be copyrighted. We shall ask instead whether Google’s use of part of that API was a “fair use.” Unlike the Federal Circuit, we conclude that it was.
Still, the fair use analysis itself is quite interesting. It notes that software copyright has been a tricky question in general, given that it has both creative literary elements and functional elements (which are not supposed to be covered by copyright).
Generically speaking, computer programs differ from books, films, and many other “literary works” in that such programs almost always serve functional purposes. These and other differences have led at least some judges to complain that “applying copyright law to computer programs is like assembling a jigsaw puzzle whose pieces do not quite fit.” Lotus Development Corp. v. Borland Int’l, Inc., 49 F. 3d 807, 820 (CA1 1995) (Boudin, J., concurring).
These differences also led Congress to think long and hard about whether to grant computer programs copyright protection. In 1974, Congress established a National Commission on New Technological Uses of Copyrighted Works (CONTU) to look into the matter. §§201–208, 88 Stat. 1873–1875. After several years of research, CONTU concluded that the “availability of copyright protection for computer programs is desirable.” Final Report 11 (July 31, 1978). At the same time, it recognized that computer programs had unique features. Mindful of not “unduly burdening users of programs and the general public,” it wrote that copyright “should not grant anyone more economic power than is necessary to achieve the incentive to create.” Id., at 12. And it believed that copyright’s existing doctrines (e.g., fair use), applied by courts on a case-by-case basis, could prevent holders from using copyright to stifle innovation. Ibid. (“Relatively few changes in the Copyright Act of 1976 are required to attain these objectives”). Congress then wrote computer program protection into the law. See §10, 94 Stat. 3028.
The upshot, in our view, is that fair use can play an important role in determining the lawful scope of a computer program copyright, such as the copyright at issue here. It can help to distinguish among technologies. It can distinguish between expressive and functional features of computer code where those features are mixed. It can focus on the legitimate need to provide incentives to produce copyrighted material while examining the extent to which yet further protection creates unrelated or illegitimate harms in other markets or to the development of other products. In a word, it can carry out its basic purpose of providing a context-based check that can help to keep a copyright monopoly within its lawful bounds. See H. R. Rep. No. 94– 1476, pp. 65–66 (1976) (explaining that courts are to “adapt the doctrine [of fair use] to particular situations on a caseby-case basis” and in light of “rapid technological change”); see, e.g., Lexmark Int’l, Inc. v. Static Control Components, Inc., 387 F. 3d 522, 543–545 (CA6 2004) (discussing fair use in the context of copying to preserve compatibility); Sony Computer Entertainment, Inc. v. Connectix Corp., 203 F. 3d 596, 603–608 (CA9 2000) (applying fair use to intermediate copying necessary to reverse engineer access to unprotected functional elements within a program); Sega Enterprises Ltd. v. Accolade, Inc., 977 F. 2d 1510, 1521–1527 (CA9 1992) (holding that wholesale copying of copyrighted code as a preliminary step to develop a competing product was a fair use).
Breyer notes his confusion over Justice Thomas' dissent (we'll get there) and says that Congress clearly meant for fair use to apply to software:
We do not understand Congress, however, to have shielded computer programs from the ordinary application of copyright’s limiting doctrines in this way. By defining computer programs in §101, Congress chose to place this subject matter within the copyright regime. Like other protected works, that means that the owners of computer programs enjoy the exclusive rights set forth in the Act, including the right to “reproduce [a] copyrighted work” or to “prepare derivative works.” 17 U. S. C. §106. But that also means that exclusive rights in computer programs are limited like any other works. Just as fair use distinguishes among books and films, which are indisputably subjects of copyright, so too must it draw lines among computer programs. And just as fair use takes account of the market in which scripts and paintings are bought and sold, so too must it consider the realities of how technological works are created and disseminated. We do not believe that an approach close to “all or nothing” would be faithful to the Copyright Act’s overall design.
Breyer notes that CAFC got things correct in saying that fair use is both a matter of fact (for juries) and of law (for judges) -- though leaves out that in the first go-round, the CAFC suggested otherwise. So he rejects Google's suggestion that the jury ruling on fair use should stand without judicial review. However, he still says that the jury was correct in the finding of fair use after going through the standard four factor test. The fact that the work in question was an API weighs heavily in the fair use determination, as part of the "nature of the work" test (the second of the four factors). The majority opinion notes that the key parts of the API, the declaring code, are not that "close to the core" of the purpose of copyright:
The declaring code (inseparable from the programmer’s method calls) embodies a different kind of creativity. Sun Java’s creators, for example, tried to find declaring code names that would prove intuitively easy to remember. Id., at 211. They wanted to attract programmers who would learn the system, help to develop it further, and prove reluctant to use another. See post, at 10 (“Declaring code . . . is user facing. It must be designed and organized in a way that is intuitive and understandable to developers so that they can invoke it”). Sun’s business strategy originally emphasized the importance of using the API to attract programmers. It sought to make the API “open” and “then . . . compete on implementations.” App. 124–125. The testimony at trial was replete with examples of witnesses drawing this critical line between the user-centered declaratory code and the innovative implementing code....
These features mean that, as part of a user interface, the declaring code differs to some degree from the mine run of computer programs. Like other computer programs, it is functional in nature. But unlike many other programs, its use is inherently bound together with uncopyrightable ideas (general task division and organization) and new creative expression (Android’s implementing code). Unlike many other programs, its value in significant part derives from the value that those who do not hold copyrights, namely, computer programmers, invest of their own time and effort to learn the API’s system. And unlike many other programs, its value lies in its efforts to encourage programmers to learn and to use that system so that they will use (and continue to use) Sun-related implementing programs that Google did not copy.
Although copyrights protect many different kinds of writing, Leval 1116, we have emphasized the need to “recogni[ze] that some works are closer to the core of [copyright] than others,” Campbell, 510 U. S., at 586. In our view, for the reasons just described, the declaring code is, if copyrightable at all, further than are most computer programs (such as the implementing code) from the core of copyright. That fact diminishes the fear, expressed by both the dissent and the Federal Circuit, that application of “fair use” here would seriously undermine the general copyright protection that Congress provided for computer programs. And it means that this factor, “the nature of the copyrighted work,” points in the direction of fair use.
As for the purpose and character of the use, that also leans towards fair use in important ways -- highlighting the transformative nature of Google's use for Android here:
Here Google’s use of the Sun Java API seeks to create new products. It seeks to expand the use and usefulness of Android-based smartphones. Its new product offers programmers a highly creative and innovative tool for a smartphone environment. To the extent that Google used parts of the Sun Java API to create a new platform that could be readily used by programmers, its use was consistent with that creative “progress” that is the basic constitutional objective of copyright itself. Cf. Feist, 499 U. S., at 349–350 (“The primary objective of copyright is not to reward the labor of authors, but ‘[t]o promote the Progress of Science and useful Arts’” (quoting U. S. Const., Art. I, §8, cl. 8)).
The opinion also rejects the idea that just because Google was copying the API for commercial reasons somehow means it's not fair use:
There is no doubt that a finding that copying was not commercial in nature tips the scales in favor of fair use. But the inverse is not necessarily true, as many common fair uses are indisputably commercial. For instance, the text of §107 includes examples like “news reporting,” which is often done for commercial profit. So even though Google’s use was a commercial endeavor—a fact no party disputed, see 886 F. 3d, at 1197—that is not dispositive of the first factor, particularly in light of the inherently transformative role that the reimplementation played in the new Android system.
One of the key arguments Oracle and its supporters made was that Google's actions were done in "bad faith" because it first tried to negotiate a license with Sun, and when that failed, just copied the API. However, Breyer points out that this just doesn't matter:
As for bad faith, our decision in Campbell expressed some skepticism about whether bad faith has any role in a fair use analysis. 510 U. S., at 585, n. 18. We find this skepticism justifiable, as “[c]opyright is not a privilege reserved for the well-behaved.” Leval 1126. We have no occasion here to say whether good faith is as a general matter a helpful inquiry. We simply note that given the strength of the other factors pointing toward fair use and the jury finding in Google’s favor on hotly contested evidence, that factbound consideration is not determinative in this context
On the "amount and substantiality of the portion used", again the majority says this leans towards fair use. It mentions, in passing, that some of this could depend on whether the whole product being copied is all of Java or just the API, but then notes that doesn't really matter. The important question is whether or not Google copied more than it needed to to achieve the transformative use it set out to accomplish. And there the court says that Google did not go too far:
Google copied those lines not because of their creativity, their beauty, or even (in a sense) because of their purpose. It copied them because programmers had already learned to work with the Sun Java API’s system, and it would have been difficult, perhaps prohibitively so, to attract programmers to build its Android smartphone system without them. Further, Google’s basic purpose was to create a different task-related system for a different computing environment (smartphones) and to create a platform—the Android platform—that would help achieve and popularize that objective. The “substantiality” factor will generally weigh in favor of fair use where, as here, the amount of copying was tethered to a valid, and transformative, purpose. Supra, at 25–26; see Campbell, 510 U. S., at 586–587 (explaining that the factor three “enquiry will harken back to the first of the statutory factors, for . . . the extent of permissible copying varies with the purpose and character of the use”).
We do not agree with the Federal Circuit’s conclusion that Google could have achieved its Java-compatibility objective by copying only the 170 lines of code that are “necessary to write in the Java language.” 886 F. 3d, at 1206. In our view, that conclusion views Google’s legitimate objectives too narrowly. Google’s basic objective was not simply to make the Java programming language usable on its Android systems. It was to permit programmers to make use of their knowledge and experience using the Sun Java API when they wrote new programs for smartphones with the Android platform. In principle, Google might have created its own, different system of declaring code. But the jury could have found that its doing so would not have achieved that basic objective. In a sense, the declaring code was the key that it needed to unlock the programmers’ creative energies. And it needed those energies to create and to improve its own innovative Android systems.
Finally, there's the impact on the market question. The majority opinion goes back and forth presenting the arguments on both sides and then notes that if Oracle was allowed to completely lock up the Java API, it would go against copyright's basic objectives and potentially harm the public! It's really nice to hear that stated so clearly:
Finally, given programmers’ investment in learning the Sun Java API, to allow enforcement of Oracle’s copyright here would risk harm to the public. Given the costs and difficulties of producing alternative APIs with similar appeal to programmers, allowing enforcement here would make of the Sun Java API’s declaring code a lock limiting the future creativity of new programs. Oracle alone would hold the key. The result could well prove highly profitable to Oracle (or other firms holding a copyright in computer interfaces). But those profits could well flow from creative improvements, new applications, and new uses developed by users who have learned to work with that interface. To that extent, the lock would interfere with, not further, copyright’s basic creativity objectives
Finally, Breyer notes that all of this is completely consistent with past Supreme Court precedent, and they're not overturning anything:
The fact that computer programs are primarily functional makes it difficult to apply traditional copyright concepts in that technological world. See Lotus Development Corp., 49 F. 3d, at 820 (Boudin, J., concurring). In doing so here, we have not changed the nature of those concepts. We do not overturn or modify our earlier cases involving fair use—cases, for example, that involve “knockoff ” products, journalistic writings, and parodies. Rather, we here recognize that application of a copyright doctrine such as fair use has long proved a cooperative effort of Legislatures and courts, and that Congress, in our view, intended that it so continue. As such, we have looked to the principles set forth in the fair use statute, §107, and set forth in our earlier cases, and applied them to this different kind of copyrighted work.
Well done. It would have been nicer if they'd also offered a clean answer on whether or not APIs are subject to copyright at all, but in absence of that, this will be a useful fair use case going forward.
As for the dissent from Justices Thomas (co-signed by Alito)... it's weird. First it says that the majority should not have ignored the copyrightability question -- though it argues that if that had been explored, APIs would clearly be covered (again, I believe this is wrong). Thomas falls for the same trap that the CAFC judges did -- insisting that because it's all confusing to them, API code and executable code are basically the same thing, because they "are bound together." This is just weird. The Supreme Court has, in the past, recognized that multiple parts of the same work, even those that are bound together, can have some elements that are covered by copyright and some that are not. Why Thomas and Alito ignore this is beyond me.
Their fair use analysis is similarly just wrong. Whereas the majority found all four factors favored Google, Thomas/Alito insist that three "decisively favor Oracle." Again, Thomas demonstrates his technical ignorance in insisting that declaring code and implementing code are effectively no different. Regarding the harm on the market, Thomas insists that the majority is all speculative, and the fact that the European Commission has fined Google for antitrust practices shows that if the Court is worried about lock-in, it should be worried about Google, not Oracle. There is a kernel of a point in there, but it's got nothing to do with the case at hand.
Thomas then gives the freakout we've been hearing from Oracle supporters for the last decade: that saying an API is not covered by copyright (or copying it is fair use) will somehow eviscerate copyright on software.
Now, we are told, “transformative” simply means—at least for computer code—a use that will help others “create new products.” Ibid; accord, ante, at 26 (Google’s copying “can further the development of computer programs”).
That new definition eviscerates copyright. A movie studio that converts a book into a film without permission not only creates a new product (the film) but enables others to “create products”—film reviews, merchandise, YouTube highlight reels, late night television interviews, and the like. Nearly every computer program, once copied, can be used to create new products. Surely the majority would not say that an author can pirate the next version of Microsoft Word simply because he can use it to create new manuscripts.
But that's just ludicrous. The majority decision lays out all the ways Google copying the API resulted in new products -- because it enabled more programmers to write apps for Android. It's not saying that the Android copy itself was to create products. Thomas is completely misreading the issue, and I can assure you that no court is going to read the majority decision to say that standard piracy is now fair use.
Thomas claims that the majority is conflating transformative use with derivative use, but it's actually Thomas who is doing that with the above paragraph. The majority is not saying that derivative use is obviously fair use, but if the effort is transformative, using functional specs to create a system for others to make use of, then it can be transformative. Google's use wasn't derivative -- it was building an entirely different system, and wanted to include some familiar guideposts for developers.
Hilariously, after previously insisting that the Java declaring code and implementing code were too inextricably tied together to separate out what was copyrightable and what was not, Thomas then rejects that in looking at the amount used factor -- saying we must only look at the declaring code.
But the proper denominator is declaring code, not all code. A copied work is quantitatively substantial if it could “serve as a market substitute for the original” work or “potentially licensed derivatives” of that work. Campbell, 510 U. S., at 587. The declaring code is what attracted programmers. And it is what made Android a “market substitute” for “potentially licensed derivatives” of Oracle’s Java platform. Google’s copying was both qualitatively and quantitatively substantial.
The entire dissent is a mess of nonsense and question-begging.
In the end, this is a good decision and helps avoid the disaster that would have occurred if Oracle's viewpoint had won out. Somewhat ironically, as we've pointed out before, Google winning on this argument is actually good for competition, as it will also create more opportunities for new companies to undermine Google's own position in the market as well. This is a good ruling and the entire software development community can breathe a bit easier.
"Was Google’s decision to kill Google Reader actually the key turning point in the destruction..."
- Vinay Gupta










