I am elated to announce that the Supreme Court ruled today that API reimplementation is fair use. This brings a ten year odyssey to an end. I'll have more to say later when I've had time to read the opinion.
Today I want to tweet about something serious: colorectal cancer. March is colorectal cancer awareness month, but that’s not why I’m tweeting today. After procrastinating 10 years, I finally got my first colonoscopy this January, at age 60. Turns out I should have done it sooner.
For me it is the best Java book I’ve ever read so far by
@joshbloch
.
If you a Java developer than I highly recommend reading it 🔥
I hope there will be a new update soon 🤞
In a corporate blog yesterday, Oracle attacked 83 computer scientists (including 13 Turing Award winners) who signed an amicus brief defending our right to reimplement APIs, on the grounds that some of us accepted research grants from Google.
If you do not remember Jon Bentley's 1985 "Bumpersticker Computer Science" (perhaps because you never read it) drop whatever you're doing and read it now.
My mom, Renée Bloch (née Spira), passed away this week in Acton, Massachusetts. She was born in Antwerp, Belgium in 1932. This picture was taken by my dad at our home in 1986. (That's me on the left.)
Sorry to interrupt the fun, but I'm deeply saddened to hear that Fred Brooks has passed away. He was a great man whose impact on our industry is incalculable. I'm forever indebted to him for his support in the fight for the right to reimplement APIs.
I am happy to report that I'm home and feeling great, a mere two days after surgery! Thanks again to
@AaronDawesMD
and his team, and all of the other wonderful people at
@StanfordHealth
.
Coming soon (this Wednesday!) to a Supreme Court near you, the case that could determine whether we still have the right to reimplement each others' APIs.
We lost a titan of programming languages, programming methodology, software engineering and hardware design. Niklaus Wirth passed away on the first of January. We mourn a pioneer, colleague, mentor and friend.
It is likely that I could have saved myself from all of this if I’d had regular colonoscopies starting when I was 50. If you’re 50 or over and haven’t had a colonoscopy yet, PLEASE do yourself and your loved ones a favor, and schedule one soon.
@g1l3sp
83 of us computer scientists and engineers, including 14 Turing Award winners, did our best to help them understand APIs and software ecosystems.
Bill Shannon passed away yesterday. He was a great engineer and a great guy. He was Sun Employee 11, known for his work on Unix and Java EE.
He did not suffer fools gladly. R.I.P Bill, and condolences to his family.
Sadly, Oracle v. Google is back in play. For the record, we have ALWAYS reimplemented each others' APIs freely. If this ruling stands, it could do enormous harm to our profession.
I am thrilled to announce that the Supreme Court has agreed to hear the case that addresses the crucial question of whether we still have the right to reimplement each others' APIs.
Here's a picture of me working on the first Effective Java talk after the book was released at JavaOne (2001). I'm at my sister's house in Acton, MA, with brother Dan and son Tim. The talk was at Softpro Books in Burlington. My dad took the picture.
This one slipped right by me: Oracle will no longer allow any of its "Long Term Support" (LTS) JDKs to be used for free in production. I suspect that this will make them among the least popular JDKs of all time, and perhaps irrelevant. Am I missing something?
I'm happy to announce that I'll be returning to CMU this "spring" (January) to teach two courses with Charlie Garrod: "API Design and Implementation" and "Principles of Software System Construction"
This is nonsense. For example, Doug Lea—who is in in no small measure responsible for Java's success—accepted one small grant from Google fourteen years ago, and promptly doled it out to deserving undergrads who were testing java.util.concurrent. Have you no shame, Oracle?
Under no circumstances will I pay Twitter for a blue check. Therefore, after April 1, you know with certainty that any tweet with a blue check that claims to be me is fraudulent. Going forward, the 𝙖𝙗𝙨𝙚𝙣𝙘𝙚 of a blue check may provide some assurance that a tweet is genuine.
William Chargin poked a wee hole in Java's type system. This program compiles cleanly but throws ClassCastException at runtime:
class Main {
public static <T extends String & Runnable> void main(T[] args) {
args[0].run();
}
}
This is fascinating & shows how weak colour information can be on a photo for the brain to fill in the gaps and "colourise" it for you. It's a black & white photo, but overlaid with a thin grid of coloured lines. They're enough to trick your mind into seeing a full colour image
Google has asked the Supreme Court to review the Federal Circuit's opinions that APIs are copyrightable, and that reimplementing APIs doesn't constitute fair use. The outcome of this case is critical to the future of our profession.
To address extreme levels of data scraping & system manipulation, we’ve applied the following temporary limits:
- Verified accounts are limited to reading 6000 posts/day
- Unverified accounts to 600 posts/day
- New unverified accounts to 300/day
We depend on the right to reimplement each others' APIs, and we are truly afraid that your irresponsible lawsuit may deprive us of that right, which we've enjoyed throughout our long careers.
It looks like JavaScript is having a hard time finding a date. So apparently hyphen-separated dates denote UTC, slash-separated dates denote local time, and integers denote local time but with a zero-indexed month. Because of course they do. (HT Willow Chargin.)
R.I.P. Bob "crazybob" Lee. His killing was tragic, senseless, and incomprehensible (to me). He was only 43 years old, and so full of life. He was a dear, dear friend. My heart goes out to Krista and the kids.
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies."—C.A.R. Hoare, 1980 Turing Award Lecture
We are not Google shills. We are scientists and engineers. Some of us laid the theoretical groundwork for the profession, some designed the computers you grew up on, and some wrote the software you use every day.
I believe Twitter's rebranding necessitates some new nomenclature. I have a modest proposal. The verb "tweet" shall henceforth be replaced by "Xcrete." What were once "tweets" are now "Xcreta."
Say hello to Microsoft Build of
#OpenJDK
!
New Long-Term Support distribution of
@OpenJDK
for your
@Java
workloads, in the
#Cloud
and everywhere else!
Visit to learn more.
☕️☁️🐧🍏🪟
Kodachrome is magic. This slide of my father, me, and my brother Dan, was taken in 1962. It lay in a cardboard box for ~58 years, and I scanned it this week. I did not restore it in any way.
‼️
@BrianKarem
: Do you commit to making sure there is a peaceful transfer of power?
@realDonaldTrump
: We're going to have to see what happens....Get rid of the ballots, there won’t be a transfer, they’ll be a continuation.
Words of a wannabe dictator.🤬
I am proud to be one of 54 computer scientists reminding the court that we've always had the freedom to reimplement each other's interfaces, and that the profession and the public thrive under this regime.
I don't usually say this sort of thing, but that was a stunningly good victory speech by Joe Biden. Kudos to all of those involved in putting it together.
A year ago today I was operated on for 5½ hours to remove a colorectal tumor. The operation was a success, and so far there’s no sign of a recurrence (thanks,
@AaronDawesMD
and
@StanfordHealth
!), but I'm not out of the woods yet.
Twuzzler: What does this program print? Now run it, and explain:
class Puzzle {
public static void main(String[] args) {
System.out.println(Boolean.getBoolean("true"));
}
}
Special SUPER-SECRET sale on Effective Java, Third Edition at informit! Save 35% + free US shipping on book or eBook with coupon code BLOCH991 (case sensitive)