2026 buying us open tickets

Last year I wrote a blog complaining about my failed attempt to buy US Open tickets. It’s a year later. Time to blog about it went this year!

Grounds Pass

knew from last year that you had to be on ticketmaster a few minutes before 9am to get a random spot in the queue when it opened at 9am. I was. I got number 48! Lucky me.!

I knew I wanted to buy grounds passes for one day and Arthur Ashe tickets for another. And from last year, I knew that the grounds passes would sell out faster. So I started with grounds. I put them in my cart and it worked. (Last year, they sold out while I was putting them in my cart.) I wasn’t confident that navigating to the Ashe tickets would keep these grounds passes so I took the risk of checking out with just those. Worked great. I gave my American Express card. (you have to pay by amex as it was the amex presale.

I got prompted for an “Amex Safekey Verification Code” which was a number texted to me. Last year, i didn’t get this for Amex. I did get it for another card whre the code didn’t arrive so this was an improvement.

Ashe Ticket

Then I went to buy my Ashe ticket. I did get dumped in the queue again. I don’t know what would have happened if I went to this page with the grounds passes in my shopping cart but I was too afraid to find out. This time I was number 13,567 in the queue. That was just over 90 minutes of waiting. (Last year 2200 was 40 minutes of waiting so definitely a faster rate.) This was fine; I kept it on one screen while I did work until it was my turn.

There was a good selection of tickets at different price points, sections, heights when I got in. Last year, I was annoyed that you only get told the section and row numbers (vs the actual seat number) when buying the ticket. I’m not a fan of that system and it is back. I suppose this helps them manage concurrency but as a customer I like knowing which seat number. In particular, I like to sit in the vicinity of the aisle so I don’t have to climb over a dozen people when it is time to go to tthe bathroom. I wound up with a seat 5 away from the aisle which I’m ok with. But It feels like gambling.

Conclusion to last year

I was able to buy the grounds passes closer to the time when they released more. But it was a project to keep checking. Also my friend and I monitored the morning of to see when the “resellers” would drop their prices. After all, we live nearby so good information for future years. (I won’t pay above face value but if they dropped it to that point, I would.) Moot point. They did not drop the prices. Even 5 minutes before the seats could no longer be sold they were well about face value. At which point their value went to $0 and the “resellers” lost all remaining value. They must make enough from people willing to pay inflated prices that it is worth eating the loss so people know they prices won’t come down.

java playground and jshell

Today I learned that it looks like the Java Playground uses JShell. I knew it didn’t require a class/main method wrapper.

The reason I discovered this was because of the following code:

Consumer p = (p) -> {int var = 3; var++; return;};

In my IDE or at the command line, this code gives an error

Lambda.java:2: error: variable p is already defined in method main()
Consumer p = (p) -> {int var = 3; var++; return;};

In JShell and Java Playground, it happily compiles. This matters because I was told that the flashcards with my book has an errata and that “p” is just fine.

The Java Language specification writes about shadowing:

It is a compile-time error if the name of a formal parameter is used to declare a new variable within the body of the method, constructor, or lambda expression, unless the new variable is declared within a class or interface declaration contained by the method, constructor, or lambda expression

Lesson to readers: don’t use jshell when studying for the exam.

[javaone2026] Running GPU-Accelerated AI Inference from Java at Uber Scale

Speakers: Baojun Liu & Anshuman Mishra

See the live blog table of contents


Michelangelo

  • Uber’s unified ML platform
  • 20K models trained/month
  • 5.3 models in prod

Java

  • Online prediction is all Java
  • High concurrency orchestration
  • Business logic management
  • Production ecosystem integration

Spark ML pipeline

  • C++ is ML runtime and Math libraries
  • Java manages threads, coordinates execution, handles back pressure

Scaling

  • Model sizes have increased from 100K to 800G
  • Traffic growth about 30% per year

GPU/CPU

  • GPU cluster – 20x cost reduction and order of magnitude less instances
  • NVIDIA Triton inference server (C++)
  • GPU can handle 10x-100x more requests
  • Dynamic latency – trades latency for throughput
  • Scale down instance count for large models to save memory and up for high queries per second
  • One GPU to multiple CPUs. CPU bottleneck – cold start, error spikes, memory pressure

Techniques

  • Profiling
  • Send dummy data to avoid cold start
  • Tune GC memory and pause time
  • Frequent efficient collections
  • Panama
  • Virtual threads
  • Upgrade Java newer version to reduce CPU use

Other notes

  • Java is not the bottleneck, bad architecture is

My take

The beginning was the same slide as the keynote. Ok to review though. It got new quickly and it was nice to see what Uber is doing. Good questions from the audience