NYC Bus Redesign and a Coding Problem

NYC is updating the MTA (metropolitan transit authority) bus system this summer with one set of changes taking effect today and another taking effect in about two months. How it went from my point of view:

The plan

There were four plans. Lesson: don’t call something the final plan or you have run out of names. My friends and I were wondering what they would call the real final plan “Final final”? They went with “Final Plan Addendum”. I will say the plan was well socialized and communicated.

  • 2019-2021: Draft Plan
  • March 2022: New Draft Plan released
  • December 2023: Proposed Final Plan released
  • December 2024: Proposed Final Plan Addendum released
  • January 2025: MTA Board approved the Proposed Final Plan Addendum

Leading up

For the most part, the MTA was good with signage. Signs for the new bus routes went up early. Existing stops had yellow signs saying if the stop would cease to be a bus stop or if the route was changing. In my neighborhood, there was a campaign a few weeks back in person to make sure people knew.

First day: bus stops

On one of the routes near me, two bus stops with bus shelters are no longer bus stops. One of them is no longer on the bus route. The other is, but not a bus stop. Drivers were good about letting people get on there and letting them know the bus stop moved.

The new bus stop in between these two stops had cars parked there overnight. (There was a sign that said no parking starting Sunday but it was hard to see.) That cleared up over the course of the day. Now, there’s a nice line of people waiting at the bus stop.

It’ll be interesting to see when the MTA takes down the old misleading bus shelters and if they build on at the new one. (I can see the new bus stop from my window so I’m particularly interested in what happens there.)

A new bus route

There’s a new bus route that goes limited stop from 1 or 2 blocks from my apartment to a number of areas that I go. (Whoo hoo! I don’t have to transfer buses to go there anymore. This is going to be great in the winter.)

Wait: did I say 1 *or* 2 blocks. Why yes, I did. The last stop of the new bus route is across the street from my apartment. The first step is … somewhere. According to the MTA it is a t a street corner two blocks away. The apartment building as a sidewalk tent (a type of scaffolding) and there doesn’t appear to be a bus stop there. One bus driver thinks the new bus is sharing a stop with another but even though there isn’t a sign for it there. It’s also possible it loads at the last stop.

This bus only runs every half hour on weekends and I wasn’t prepared to just miss it by waiting at the wrong place. The second stop is only a few blocks away so I waited there. I was fourth on line suggesting I was not the only one with that confusion. The bus came into the second stop with about a dozen people on it. They weren’t sure where the first stop was supposed to be nor was the driver.

I took this same bus home. Where the driver got confused and couldn’t find the last stop. While it is clearly marked, it is the break area for that bus and another one. The other bus was in front of the sign so the driver couldn’t see the stop and pulled onto a side street to look for the non-existent first stop. Which he couldn’t find either.

This feels like growing pains though. Overall, I was happy with the rollout.

Coding bug

The MTA runs a website where you can see when the bus is coming with real time info. It is mostly correct. And then every once in a while you get something like the following. (I’ve seen this problem before so it’s not related to the redesign.

One bus was “3 minutes” away. and just over a mile away. (This is a street where you can go 25 miles per hour and has a lot of lights. You can’t go a mile in 3 minutes unless you catch every light and nobody wants to get on or off the bus.) I find the distance to be more accurate than the time for routes in progress. Regardless, it’s close and clearly worth heading to the bus stop.

The next bus is about 30 minutes later and the scheduled to depart terminal time is right at 2:30. The depart terminal for the next one is also right at 3pm. However, if you’ve mastered elementary school math, you might notice that a bus that leaves 30 minutes later is not arriving 3 minutes later (35-32).

The distance away is also interesting. The whole route is a little over 7 miles. And neither bus has left the terminals. Puzzling me where the number of miles away came from.

Do people buy paper vs ebooks

Scott and my certification books have always sold way more paper copies than e-books. While I personally like paper books better, I got the sense that they were less popular in general.

Recently I was asked by someone who wanted to buy Real World Java if he should buy the paper or e-book. I advised paper because

  • Easier to read code
  • Higher quality (I’ve seem some errors in the Kindle that are not in the manuscript we have Amazon)
  • I can sign it.

Plus you can pass around a paper book. The person who asked me listed a benefit of being able to read the Kindle on the train. I find paper books easier to read on the train. While I’m fine with being on my phone, I’m not going to sit there with a tablet out. So the extra weight of a book is worth it. Plus I can write it in it (if it is my book and not a library book)

Anyway, I thought it would be fun to look at actual sales numbers for my most recent books. Note that Safari numbers are not included in here. For Safari we get a license fee but I don’t know how many people actually read it.

TitlePercentage of paper books out of total
Real World Java98%
OCP Java 21 Developer Study Guide87%
OCP Java 17 Developer Study Guide94%
Java 17 Practice Tests89%

2025 attempt to buy us open tickets

Last year was the first year it was hard to buy US Open tickets. In 2023 and earlier, I would buy them after work during the American Presale, no problem. Ok fine, it’s going to be like Comic-Con where you have to buy them the second they become available. Here’s how that went.

Tuesday – American Express Presale

Sales start at 9am. I was on the site before that. Everyone on the site gets a random number. Mine was 3200. The number went down slowly to about 2200 (over about 40 minutes) and then flew down to zero. When I got in, I was able to see Grounds Passes for the day I wanted. I attempted to put it in my cart and it said they were no longer available. I repeated this a few times and then it stopped saying available at all.

I then went to buy my Ashe ticket for a different day. I made the mistake of using a different browser tab so back in the queue. (You can’t use multiple devices or multiple tabs.) It took less time to get to the front of the queue this time and I was a able to get a ticket. A big change this year is they just tell you the row number and not the seat number. Which is annoying because I want to be within a few seats of the aisle and not some random place in the row. After I paid, I got my actual seat number which turns out to be an aisle.

I paid with my american express card and was not prompted for a one time pass code texted to my cell. (This is important; remember this)

Friday – Public sale

I know they don’t release all the tickets during the presale so I tried again. I was on the Ticketmaster site before 9am. This time, I got number 19 in queue. Awesome. There were plenty of grounds passes for the day I wanted. (And plenty of resellers charging double price.) I put three official tickets in my card for myself and my friends. Great. I didn’t get that far on Tuesday.

I then went to pay. Where I get prompted for a one time PIN that “was texted to me.” It was not. I tried clicking resend a few times. No text. Unfortunately I didn’t have another credit card with me. Then my session timed out. I tried again (at 9:15am) and all the non-resale grounds passes were gone.

The future

The US Open did release more grounds passes closer to the time last year. But you have to keep checking to see when which is annoying. Also last year, they didn’t sell grounds passes in person. You have to buy them online.