Cup of Coffee: April 2, 2026

A Maddux, some bad situational hitting, some bad vibes in San Francisco, TWIB on X, Part II of the ad patch ratings, a tech writer and a rock legend's ill-advised AI adventures, and a Golden Ticket

Cup of Coffee: April 2, 2026

Good morning! And welcome to Free Thursday!

So we shot some folks toward the moon, eh? That's pretty rad, man. I'll admit that as a person who was old enough to watch and understand space launches in 1986, it's very difficult for me to watch a space launch now without being super anxious, but I'm glad this one went off smoothly and hope that continues for the whole mission. Our government may suck horribly, but NASA continues to be a reminder that humanity is capable of so much more than it typically delivers and that, maybe, we can have a hopeful future. I just hope that its most important objectives are achieved.

Back here on Earth, I'm still traveling but, thanks to the UK time difference, I could totally do the recaps today. Indeed, as I've mentioned before, the perfect situation for me would be to write this newsletter from Europe all the time so I could do the recaps the next morning with a noon or 1PM deadline. Sadly, The Man won't let me do it. Unless one of you out there works for the Home Office or EU authorities, thereby making you The Man, and you're willing to fudge some permanent residency documents for me.

No? Pity. Anyway, let's get on with it.


And That Happened

Here are the scores. Here are the highlights:

Marlins 10, White Sox 0: So I'd say that Sandy Alcantara is fully back to form. The 2022 Cy Young winner tossed a Maddux yesterday afternoon, shutting out the White Sox on just 93 pitches. He allowed just three hits, didn't walk a batter and struck out seven. The inventor of the Maddux stat – and Cup of Coffee subscriber! – Jason Lukehart, emailed me last night with the following information:

This is the second Maddux of Alcantara's MLB career, after he previously pitched one in 2019. That makes him the 63rd pitcher with multiple Madduxes since MLB officially began tracking pitch counts in 1988, but he and Max Fried (who has three) are the only pitchers with multiple Madduxes during the last ten years.

Jason added that Alcantara's was the ninth Maddux in Marlins franchise history, though only six different pitchers have done it. Him twice, Henderson Alvarez three times, and then one each from Kevin Brown, Dontrelle Willis, Edinson Vólquez, and. Braxton Garrett.

On offense Liam Hicks led the way with four RBI as he and his fishy friends rattled off ten runs on 13 hits. The Marlins are now 5-1 on the young season. Yes, they've achieved that 5-1 record by playing six games against the Rockies and White Sox, who have combined to lose, like, a gabillion games over the past two years, but wins are wins, man.

Orioles 8, Rangers 3: Here's a bit of history: this was the first-ever game which ended on an ABS review. It came on a 1-2 Albert Suárez fastball on the upper outside corner to the Rangers' Evan Carter which was called a ball by home plate umpire Manny Gonzalez. Orioles catcher Samuel Basallo tapped his helmet to initiatt the challenge, however, and the game ended with the pitch being overturned for strike three. Before all of that Basallo and Dylan Beavers homered and O's starter Trevor Rogers pitched six solid innings. Baltimore avoids the sweep and ends Texas' four-game winning streak.  

Atlanta 5, Athletics 1: Chris Sale only struck out three batters, which was not very Chris Sale of him but we learned after the game that he was, in the words of Walt Weiss, "sick as a dog" and that he couldn't keep anything down before the game, so he gets a pass for not being himself. Sale was nevertheless as stingy as hell, allowing just one run on one hit over six, after which it was Pedialyte and saltines time. Drake Baldwin was responsible for four of Atlanta's five runs, singling in two in the second and doubling in two in the fourth. Matt Olson added one more on a single later that inning. Shea Langeliers remains hotter than hell, hitting his fifth homer to start the season but otherwise things have been dire for the boys from Sacramento who have started the year 1-5.

Padres 7, Giants 1: San Diego avoids a three-game sweep by their division foes thanks to Nick Pivetta striking out eight in five sharp innings and Ramón Laureano hitting a two-run home run. Gavin Sheets doubled twice and drove in a run. Xander Bogaerts drew a bases-loaded walk. Mason Miller got a four-out save. Giants batters struck out 14 times and only got three runners into scoring position all damn day, all of whom were Luis Arraez.

That wasn't the worst of it though. With two out and two on in the bottom of the fifth, Xander Bogaerts chopped one to third base where Matt Chapman fielded it and made an off-balance throw to first baseman Casey Schmitt. The ball sailed above Schmitt's glove. It did appear catchable, though, as it seemed like Schmitt stretched too hard, which lowered his arm, contributing to what was charged asn error on Chapman. There was a mound visit right afterward during which Chapman told Schmitt "catch the fucking ball." Between that and their manager, Tony Vitello out there quoting Kanye lyrics to the press, the vibes have been less-than-remarkable with the Giants in the early going.

Cardinals 2, Mets 1: The Mets and Cards traded runs in the sixth, with New York's coming on a Juan Soto homer and St. Louis' coming on a Nolan Gorman RBI single. Many would say that Soto's homer would've been a two-run shot except Francisco Lindor was picked off of first base right before it, but I've watched a lot of time travel movies and everyone who watches a lot of time travel movies knows that the Lindor pickoff could've represented a point of divergence that fundamentally altered everything that came after it! Like, Soto might've been abducted by aliens before he could homer in that case. Once you start messing with the fabric of the universe anything can happen.

Anyway, it remained knotted at one until the 11th when the Manfred Man reached third on a double play after which Masyn Winn ended the game with a walkoff RBI single. Then, after that, he got into a car accident due to skidding on wet pavement. Thankfully he was not hurt. The Mets were a wreck themselves yesterday, going 0-for-11 with runners in scoring position. They were 1-for-29 with runners in scoring position during the three-game series. St. Louis, not surprisingly in light of that, took two of three.

Astros 6, Red Sox 4: Carlos Correa hit a tie-breaking three-run homer in the fifth and Christian Vázquez added an insurance dinger in the seventh. Boston rallied with a couple of late homers of their own but it wasn't enough. The Sox' ace Crochet didn't have a great day, allowing five runs on six hits in five innings. Houston makes it a three-game sweep.

Brewers 8, Rays 2: Milwaukee put up a six-run eighth inning, kicked off by Christian Yelich's go-ahead, two-run single and added to by Garrett Mitchell who hit a two-run double. Earlier Brice Turang hit a game-tying two-run homer. Apart from a two-run homer to Yandy Díaz Brewers starter Jacob Misiorowski was pretty sharp, striking out seven over six innings. Oh, and C.B. Bucknor was behind the plate again in this one and got smacked by a foul tip off the mask which caused him to have to leave the game. That guy has had a hell of a week.

Rockies 2, Blue Jays 1: Kevin Gausman pitched a whale of a game for the second time this season, striking out ten over six shutout innings but he only had one run of support behind him and the Rockies tied it up on Troy Johnston's RBI single in the eighth. It went to extras where Tyler Freeman singled in the Manfred Man in the top of the tenth while the Jays got nothin' in the bottom half.

Phillies 6, Nationals 5: The Nationals led 5-1 heading into the seventh but the Phillies mounted a comeback, with JT Realmuto homering that inning, Bryce Harper homering in the eighth, after which they tied it up in the ninth when Edmundo Sosa hit a two-run single. Justin Crawford, who went 3-for-5 on the day, won the game for Philly with a walkoff RBI single in the bottom of the 10th.

Pirates 8, Reds 3: Oneil Cruz homered for the third time in two games, smacking a three-run shot in the first inning. Spencer Horwitz gave the Pirates their fourth run on a bases-loaded walk in the sixth, and they rallied for four more in the ninth, two via a Nick Gonsalas RBI single and two more on Bryan Reynolds' two-run homer. Paul Skenes had a much better outing here than on Opening Day, allowing just one run over five. His ERA is now down to a cool 9.53.

Royals 13, Twins 9: Jonathan India hit a grand slam and drove in five and Kyle Isbel continued to flash some rare, early-season power by going 4-for-4 with a homer. A lot of the carnage was just good situational hitting and good fortune as Royals hitters went 7-for-16 with runners in scoring position and scored eight runs with two outs. It wasn't as close as this score indicated for most of the game, as it was 12-1 after six, with Minnesota scoring eight runs in the final three innings.

Yankees 5, Mariners 3: Cam Schlittler was excellent, tossing shutout ball into the seventh while Paul Goldschmidt hit a three-run homer and Ben Rice, who had earlier hit an RBI double, hit a solo shot in the ninth. It's always rough for an east coast team to start a season with a west coast road trip but New York went 5-1 on their Pacific coastal sojourn.

Diamondbacks 1, Tigers 0: Zac Gallen (6 IP, 0 ER, 4 H) and three Dbacks relievers combined on a seven-hit shutout of the Tigers. That handed Tarik Skubal a tough luck loss after he allowed just one run over seven. That one run was on a Corbin Carroll solo shot in the first inning. The Tigers, who also began the year out west, heads home to open up Comerica Park with a 2-4 record under their belt.

Cubs 6, Angels 2: Matthew Boyd struck out 10 while working into the sixth but it was really afive-run third decided this one. Nico Hoerner, Alex Bregman, Dansby Swanson, Matt Shaq, and Pete Crow-Armstrong each knocked in a run during that frame. Shaw added his second RBI on the day with an RBI single in the seventh. Shocked he was still hanging around by then and hadn't ducked out to be sixth-billed at a Turning Point-USA rally or something. Makes me wonder if he has his priorities in order.

Guardians 4, Dodgers 1: Cleveland starter Gavin Williams was fantastic, striking out ten Dodgers batters over seven shutout innings while allowing just two hits. Gabriel Arias and José Ramírez each homered. Freddie Freeman's ninth inning solo shot helped L.A. avoid a shutout but it was an otherwise forgettable day. Cleveland takes two of three from the champs.


The Daily Briefing

TWIB on X

From yesterday's press releases:

Major League Baseball announced today it will revive its iconic This Week in Baseball franchise, with the debut of a new short-form “TWIB” episode every Friday at 12 p.m. ET on Major League Baseball’s X account (@MLB). Starting this Friday, April 3rd and running through the 2026 Postseason, the reimagined weekly series will provide a fresh look at baseball’s biggest stars, incredible plays and intriguing storylines while keeping elements that longtime fans will instantly recognize from the original seminal TV franchise.

I would just like one single thing in life to not be a stupid, degraded version of a thing that once was, distributed and underwritten by monsters.

Guest Post: Ranking the Jersey Advertising Patches, Part II

By Christian Ruzich

Today's (and yesterday's and tomorrow's) guest poster, Christian Ruzich – who has his own newsletter called The Dilettante's Dilemma – has rated and reviewed all of the advertising patches that MLB clubs have put on their uniforms since the league approved the practice prior to the 2023 season. As Christian put it, "They're pretty much universally despised, but  I'm looking at this as a piece that examines them from the point of view of 'I know, they suck, but they're here, so we have to deal with them.' 

Yesterday's installment covered the AL West and AL Central. Today's covers the AL East and NL West. Tomorrow's will cover the NL Central and NL East. Take it away, Christian!

AL EAST

TORONTO BLUE JAYS
Sponsor: TD Canada
Design: 2
Size: 6
Localness: 5
Appropriateness: 5
Total: 18

I feel the same way about this patch as I do about the Royals’ patch. Would it have killed you to have the patch color match, or at least be complementary to, the Jays’ actual colors?

TD is the largest bank in Canada, and it's based on Toronto, so it gets all the localness points, and it's a bank, something nearly everyone interacts with regularly, so it's appropriate. But man is it ugly on the uni.

BALTIMORE ORIOLES
Sponsor: T Rowe Price
Design: 4
Size: 2
Localness: 5
Appropriateness: 4
Total: 15

Another situation where the logo’s colors clash with the team’s colors. It looks particularly bad on the black jersey. Also, it's huge.

But the Orioles already wear a big, ugly patch on one sleeve (the Maryland flag, which Marylanders seem to really like but which I think is sort of terrible) so maybe this one balances it out? I don't know.

TAMPA BAY RAYS
Sponsor: Webull
Design: 8
Size: 6
Localness: 4
Appropriateness: 4
Total: 22

The Rays were one of the last holdouts in the sleeve ad game. The one they're going with, from investment platform Webull, gets kudos for not being a big honking square, and the blue logo works with the team's colors. 

But the most interesting thing about the patch is that part of it is made from fabric from the Tropicana Field roof.

After being exiled to a Spring Training stadium for the ‘25 season, the Rays are back at the Trop this year, and the piece of the old roof is included in the patch to represent the Tampa area’s “strength, resilience, and community.” Corny? Sure. But as someone who once lost everything due to a natural disaster, I can tell you that those words, especially "community," mean a lot. 

So I'm going to refrain from cynicism and just say that it's a very nice patch, and I appreciate that it celebrates Tampa’s ability to wobble but not fall down. 

BOSTON RED SOX
Sponsor: Mass Mutual
Design: 3
Size: 6 (whites, grays, reds) /5 (City Connects)
Localness: 5
Appropriateness: 5
Total: 19 /18

On the away jersey, it's a big white rectangle. On the home jersey, it's a big blue rectangle. Either way it detracts, and with the home whites it's a desecration of one of the best uniforms in the game. 

It's a different patch on the City Connects, but it's oddly shaped and blue and it’s an eyesore on one of the better City Connects.

NEW YORK YANKEES
Sponsor: Starr Insurance
Design: 5
Size: 8
Localness: 5
Appropriateness: 2 (5 if it was AIG instead)
Total: 20

The Yankees famously do not have names on the backs of their jerseys. They introduced pinstripes to their home uniform in 1915 and have worn them ever since. They've never had an alternate uniform. They've never done a City Connect. If they had come out a few years ago and said they would never put an ad on their sleeve, it would have made total sense. But, of course, they did not do that.

Given the opportunity to rep any number of iconic companies with NYC roots, they decided to go with . . . Starr Insurance?

I had literally never heard of Starr Insurance until they became the Yankees’ sleeve sponsor. Maybe they're better known in New York? Also, it seems very odd that Starr Insurance decided to go with its own name on the patch instead of the name of its best-known constituent company, AIG. AIG sponsors the All Blacks. AIG was on the front of Man U’s jerseys in the Alex Ferguson glory days. AIG sponsors the largest purse on the women's pro golf circuit. But the Yankees wear a patch that reps Starr Insurance? Like I said, odd.

The patch itself is yet another big black block with white letters, but it's not too big and it doesn't clash with the jerseys. But it should say AIG.

NL WEST

ARIZONA DIAMONDBACKS
Sponsor: Avnet
Design: 1 (old) /4 (new)
Size: 1 (old) /4 (new)
Localness: 5
Appropriateness: 2
Total: 9 (old)/15 (new)

When the Diamondbacks debuted this patch, it was awful. Just a huge, black square. 

Fortunately they redesigned and improved it. It's still pretty bad but at least it's a bit smaller than the original and it isn't just a black square.

As far as the company goes, it's an electronic parts distributor. Now that Radio Shack is gone, I don't expect there is a ton of retail sales of Avnet’s products.

LOS ANGELES DODGERS
Sponsor: Guggenheim Partners
Design: 6
Size: 4
Localness: 1 (or maybe 5)
Appropriateness: 2
Total: 13 (or maybe 18)

The Dodgers’ sleeve patch sponsor is the company that owns the team. Well, not exactly – Guggenheim Baseball Management technically owns the Dodgers – but close enough. That seems like a situation that could be rife with shenanigans. Somebody is almost certainly paying somebody else too much, or not enough, and one of those somebodys is probably Shohei Ohtani.

The Dodgers patch distinguishes itself by being the only diamond-shaped patch in the game.

It's also one of the only, if not the only, patches that doesn't contain the sponsor’s logo, which in this case is good because their logo is a purple wordmark in a sort of techish font.

The patch is on the large size, and it's a solid color, but that color is Dodger Blue so it looks like it's just part of the uniform.

Guggenheim is based in New York, so they're not local, but at the same time they literally own the team, which is as local as you can get. So depending on how you look at it, this patch either ranks near the bottom or somewhere comfortably in the middle.

SAN FRANCISCO GIANTS
Sponsor: Airwallex
Design: 4
Size: 8
Localness: 4
Appropriateness: 4
Total: 20

This season, the Giants become the first team to have had three different sleeve sponsors. First, it was Cruise, the self-driving car company. But in October ‘23 one of their cars killed a pedestrian in San Francisco. That same day, human-driven cars killed about 20 pedestrians across the country, but yeah, robots are the problem. 

GM, who owns Cruise, shut the company down for a while and the Giants moved to a brand GM patch. This year, though, they're ready to get their hearts broken by tech again. They signed a deal with Airwallex, a financial services company that does online payments, banking, stuff like that. I'm sure there's an AI angle too, because it is 2026 after all. 

It's small, which is good, and mostly black, which isn't. Airwallex has a little orange squiggle for a logo, and maybe they were worried it wouldn't show up well on a white (or cream) background, but as a result it just sort of sits there. At least it's small.

SAN DIEGO PADRES
Sponsor: Motorola
Design: 4
Size: 0
Localness: 1
Appropriateness: 4
Total: 9

The Padres were the first team to put an ad on their sleeve. They didn't do a great job.

It's a giant (and I mean GIANT) blob of color, which is the worst kind of patch. Motorola gets props for changing the color to brown so it matches the rest of the uniform, but it might actually be as big as Seattle’s Switch 2 patch. Plus, why Motorola for a team in San Diego? Why not Wahoo’s Fish Tacos, or more realistically, Lockheed Martin?

Fun fact: the company Motorola no longer exists. In 2011 it was split into Motorola Mobility and Motorola Solutions. Is that fun? I have no idea what's fun anymore.

COLORADO ROCKIES
Sponsor: York Space Systems
Design: 4
Size: 6
Localness: 4
Appropriateness: 1
Total: 15

The Rockies didn't sign a sponsorship deal until the middle of last season, when I had already started working on this project. I had a whole riff about how they should sign a deal with Promise Keepers but they had to go and get an actual sponsor.

The patch itself is yet another big block of color – in this case black – with the company's name in white. 

Boring, which is too bad because the sponsor company builds spacecraft! That's cool! Unfortunately the spacecraft they build are for the Defense Department, which is not cool. It's also not really something the average MLB fan interacts with regularly.

Thanks, Christian! Come back tomorrow for Part III!


Other Stuff

Have you tried . . . writing?

Wired published a story last week about how some reporters are using A.I. to write their stories. One of the guys they talked to was a technology newsletter writer named Alex Heath who uses Anthropic's Claude AI engine to write his stories via voice-to-text. He has likewise built a detailed set of instructions into the system that explains to Claude how to write in his own style, which includes previous articles he’s written, instructions on how he likes his newsletters to be structured, and other notes.

Claude Cowork then automates the drafting process that used to take place in Heath’s head. After the agent finishes its first draft, Heath goes back and forth with it for up to 30 minutes, suggesting revisions. It’s quite an involved process, and he still writes some parts of the story himself. But Heath says this workflow saves him hours every week, and he now spends 30 to 40 percent less time writing.
“I’ve always hated the zero-to-one process of writing a story … Now, it’s actually kind of fun,” he says. “Going out on my own, I realized I need AI to help with the volume . . . “I feel like I’m cheating in a way that feels amazing,” says Heath. “I never did this because I liked being a writer. I like reporting, learning new things, having an edge, and telling people things that will make them feel smart six months from now.”

Here's an idea: if you want to be a writer, fucking write. If you won't write maybe find something else to do.

Bob Dylan's A.I. "Lectures from the Grave"

The judges would've also accepted "Dylan goes synthetic!" Whatever you want to call it, though, this is weird:

On Sunday, Bob Dylan posted an Instagram Story with a flyer for a new Patreon account. For $5 a month, the curious and masochistic can get access to  “Lectures from the Grave,” what the page describes as “a living archive of lectures from the grave, letters never sent, and original short stories curated by Bob Dylan.” That last word — “curated” — is doing a lot of work, because Dylan isn’t claiming to have written any of it. The pen names are fake (Herbert Foster, Marty Lombard), the audio voices are AI-generated, and the results bear all the hallmarks of a human-machine collaboration where the machine did most of the heavy lifting.

Consequence of Sound listened to/read all of that stuff, which currently includes six posts: three audio monologues in the "voices" of Aaron Burr, Wild Bill Hickok, and the Confederate outlaw Frank James, a fictional letter from Mark Twain to Rudolph Valentino, a short story called “Bull Rider," and an embedded YouTube video of Mahalia Jackson performing on The Ed Sullivan Show. Again, Dylan wrote and recorded none of this. It's just weird A.I. stuff being published under the Bob Dylan brand, likely with some instructions to it regarding Dylan's own Old Weird America obsessions and style. Not that that's likely helping much, as Consequence of Sound says these essays are all pretty bad on the merits and rather weird to boot.

The "weird" part is certainly on-brand for Bob. And, though I have long loved Bob Dylan like no other artist going, doing something like this doesn't exactly shock me even if it disappoints me. Bob has never been big on reading a room and I'm pretty sure it's been decades since there's been anyone close to him that could successfully tell him "no."

So, yeah, a guy who won a Grammy 28 years ago for a song in which he sang ""I'm beginning to hear voices/and there's no one around" is hallucinating a bunch of slop. You love to see it. And by "love to see it," I mean "Jesus fuck, Bob, have some damn pride. You won the Nobel Prize for literature for Christ's sake."

Leave it to the pros

We landed in London yesterday morning, took the Tube into town, and checked into our hotel. After a short nap – we've sorta mastered the art of sleeping enough to power through but not so much that it screws you up for several days – we went to the Victoria and Albert Museum.

The V&A is a museum of applied arts, decorative arts, and design, and right now they have a special exhibit on the Italian fashion designer Elsa Schiaparelli. Who I knew basically nothing about beforehand but once I got into the exhibit I was like "oh, yeah, I know that stuff" because I'd seen people like Marlene Dietrich wearing her clothes and because I've seen things like The Lobster Dress before. This is the sort of realization a lot of people who watch lots and lots of movies and read about celebrities but who don't actually know anything have fairly often. It's sorta how I live my whole life. Experiencing something sorta cold, taking it in, and then going back later to read Wikipedia pages and stuff that makes me go "oh, yeah, cool." Me being a philistine aside, the exhibit was pretty great and spending a couple of hours out helped us successfully beat the jet lag.

We spent the evening at our hotel, enjoying an excellent meal and doing whatever we could to fall asleep at a time zone appropriate time. A fun thing: our hotel put a chocolate bar in our room with a label that said "look inside to see if you have a Golden Ticket." Mine did, indeed, have a Golden Ticket. I mean, I assume all of them did, but I still felt like a winner:

So I took the Golden Ticket downstairs where the bartender said that I got my choice of either (a) a free cocktail; or (b) the option to come behind the bar and make my own. I asked him if he was serious about the make-your-own-drink thing and he said yes, but I could not bring myself to do that. Partially because the bar was pretty busy and I hate drawing attention to myself to begin with but mostly because I figured he'd make a better Negroni than I could. And I was right about that:

Always trust professionals, folks.

Today I'm going to the Design Museum to see its Wes Anderson exhibit. And yes, you may feel free to mock me for being an oh so very on-brand aging hipster. After that I'm gonna meet up with a UK-based Cup of Coffee subscriber, who also happens to be named Craig, for a pint and perhaps some grub after which I plan to walk and wander for miles around neighborhoods and parks and places I like which all the other pathetic and hopeless Anglophiles know is the best way to spend time in London.

Have a great day everyone.