Back in April 2023, I was in Brooklyn to attend a live taping of the FiveThirtyEight Politics Podcast. It was great, someone corrected Nate Silver on the U.S. constitution and former FiveThirtyEight writer Clare Malone returned for a lot of great banter backed by data.
The very next week, Disney laid off two-thirds of the staff, including Silver, and merged the website into the primary ABC News one. I have yet to ever attend another in-person podcast taping.
Nate Silver (left) and Galen Druke (right) discuss whether the New York Post headline was a "good use of polling" or not at a live podcast taping in April 2023. (It was bad.)
FiveThirtyEight really popularized and built up modern data journalism. The 2020 presidential election forecast was a fantastic case study of how to represent both probabilities and uncertainty. Its pollster ratings actually graded pollsters, and helped drive discussion on changing methodologies.
This is not to mention all of the fantastic work they did on sports predictions and statistics.
I'm particularly nostalgic about FiveThirtyEight since its peak was around the same time I started studying journalism. The "Significant Digits" newsletter was my mandatory morning reading and of course, I'd share the new statistics I just learned with whoever would listen.
Likewise, I'd listen to the weekly politics podcast within an hour or two of it being released to hear the latest "good use of polling or not" debate and polling details about the next election. Even though I stopped listening two years ago, it's still my #1 most listened to podcast at 354 hours (#2 is at 90 hours). My favorite series, "The Gerrymandering Project", was a deep, data-driven analysis of redistricting and gerrymandering. It's still worth a listen today.
Since being let go, Silver has criticized Disney for failing to monetize the site properly, which I agree with. There was no way to financially support them aside from buying merch, which I assume brought in basically nothing.
FiveThirtyEight was originally just Silver's blog, before it was bought by The New York Times (and then later sold to Disney/ESPN). It was just one of the many free web blogs the Times had, but if it were today, I could easily see them selling it as a separate subscription, like The Athletic or Wirecutter. Just ahead of its time unfortunately.
Some of the work FiveThirtyEight did has since been taken over by others, like The Upshot, Split Ticket, Harry Enten's Margins of Error, etc., but I have yet to find a similar data-focused media outlet to replace the void.
Now that I have two months of reviews under my belt, I wanted to create a proper website to make it easy to discover them.
Taking inspiration from Everything is Everything, I wanted a similar layout with a big map of all the reviews and then explanations of the project itself.
I figured all of this could be built as a static site and a bit of JavaScript. I've had my eye on Zola for a while, since it's written in Rust and by the same author as Tera, my preferred templating library.
It ended up being a great fit, largely because it has builtin support for loading content from a TOML file via a load_data function. I store all of the review metadata in a single file, which drives the entire site.
My main criticism is that Zola doesn't support so-called "ugly URLs" like foo.html (it only supports foo/). I guess I'm weird in that, as this blog demonstrates, I like URLs that end with .html.
I started by asking Claude to generate such a website for me (chat transcript), and kept slowly refining with prompts. While normally Claude is really good at letting you preview HTML websites, its own CSP prevented any of the map tiles from loading so I had to copy it locally and preview it that way.
I'm reasonably proficient at HTML/CSS/JS, but this was a much more fun way to design a website. Instead of having to focus on syntax, I could just tell it to shape it how I wanted, plus making my own manual improvements here and there.
People, often rightfully so, criticize AI-generated content as lacking creativity, but I feel that using Claude allowed me to design the website exactly how I, a human, wanted it to look like, and not get bogged down fighting syntax things.
I eventually hit Claude's output limit (since it kept repeating the whole HTML file) and had to start branching off into individual chats, like adding an escape key handler and learning about vh units in CSS (big TIL for me). I hit the limit again when I added the "Recent reviews" sidebar.
That was roughly the point I checked it into Git, so you can browse how the initial version looked like. It's come quite a long way since then.
As part of Boba Quest 2025 🧋, I'm trying and reviewing a new boba shop each week.
It's the beginning of a new month, so it's a good opportunity to visit a genuinely new boba shop.
This week we visited Bobavise in Crown Heights, Brooklyn, which just opened in February. At 893 Nostrand Ave., it's easily reachable via the 2, 3, and 5 trains.
The location is a bit unusual though: it's located right inside of a laundromat.
Not pictured: the Gong Cha (a boba shop chain) that's literally across the street.
I've never seen anything like this before, it is by far the smallest boba shop I've ever visited. I'm not sure "shop" is even the right term, it's more like a counter.
They currently have a buy-one-get-one free deal, so I went with a friend and O.G. Boba Quest reader, Emmie.
Classic milk tea with boba (left) and honeydew milk tea with boba (right).
I ordered a classic milk tea with boba, regular sugar and ice. My review:
Boba: 2/4 the boba was just adequate, it was neither good nor bad. It could've benefited from more flavor and slightly less chewiness.
Tea: 2/4 honestly, same feeling about the tea. For something that was supposed to be 100% sweetness, it was pretty...not sweet.
Bonus: 0/1 the laundromat location is cool but it really doesn't lend itself to a nice ambiance. The only seating was a small bench, and that seemed like it really was for people waiting for their laundry.
Total: 4/10.
Emmie got a honeydew milk tea with boba, also regular sugar and ice. She said that it's difficult to find places with good honeydew (and taro) flavors, so she's always on the lookout. Her review:
Boba: 3/4 the boba was pretty good. Not groundbreaking, but it was solid. It had a good texture, wasn't too hard, and it complemented the drink well. I'm not sure I'm good at gauging boba sweetness, but nothing seemed particularly wrong with it.
Tea: 2/4 the flavor wasn't amazing, it was kind of just... okay. I talked about it with Kunal, but I wasn't quite able to put my finger on what the issue was. Maybe slightly more sugar could've brought the flavor out? But something about the flavor overall just felt inadequate.
Bonus: 0/1
Total: 5/10. It wasn't horrible. Emmie said she's had some honeydew or taro which was clearly flavor powder or juice in water, and even if their other flavors were good, the quality of those two would kind of turn her off to the whole store.
I, Kunal, do feel bad giving such a bad review to a new place, because starting a new boba shop is no easy task and I'd like to support them. My current thinking is that Bobavise is a new place and it will take some time to get better (the drink lids said, "Good things take time"). I look forward to trying their hopefully improved boba again later in the year.
Since its first version, SecureDrop has run on the Ubuntu Server operating system. Ubuntu provides security fixes and updates for each long-term support release for five years; SecureDrop currently uses Ubuntu 20.04 “Focal.” As of May 2025, that version will no longer be supported, so all servers must migrate to Ubuntu 24.04 “Noble,” which will be supported until May 2029.
Historically this upgrade has involved taking a backup of your SecureDrop, reinstalling the servers using the newer Ubuntu version, reinstalling SecureDrop itself, and then restoring the backup. From a development perspective, this was reliable, as it reused the same robust logic as with routine OS upgrades.
However, this put the burden on SecureDrop administrators to go through a manual process. For this round of upgrades, we wanted to see if we could spare administrators the extra work and automate the upgrade process.
I broadly support economic boycotts when companies do things we don't like, and participate in plenty of them myself. And I've seen enough people cancelling their subscriptions to The Washington Post and the Los Angeles Times after their billionaires owners interferred at the papers.
But in media specifically, cancelling your subscription just exacerbates the funding problem journalists face. If individual subscribers walk away, publications are even more dependent upon the good will of billionaires.
The solution to this is easy though: just invest whatever you were previously spending on WaPo, LA Times, etc. into independent media that isn't billionaire-controlled. If you really want to stick it to them, double or triple your investment. And yes, supporting independent media really is an investment, not just another subscription.
We need more outlets that are accountable to the communities they cover and serve instead of giant conglomerates and corporate boards. More local papers and less news deserts.
I try to put my money where my mouth is, so here's an alphabetic, non-exhaustive list of the various publications I financially support:
You are of course welcome to support all of the same publications as me, but I also believe we need a diverse set of independent media organizations and not just a few big ones; so I'd encourage backing other outlets that I haven't listed here too.
The winner? Breaktime Tea, at 110 East San Fernando St. It's about a block away from the VTA light rail Paseo de San Antonio station, which is accessible using the Blue and Green lines.
To this day, Breaktime still has that ranking prominently displayed for students to see that yes, they are (or were) the best.
Aside from a small tear, the newspaper print has held up. The digital version will be easier to read though.
Somehow it's already been five years since that issue was printed, but I wanted to see how things were today.
I asked for what I had always gotten: a lychee green milk tea with boba. They actually didn't have it on the menu, only advertising a lychee green tea (i.e. no milk) but when I talked to one of the employees, they said it was only recently changed, and they could still make the old drink for me.
Lychee green milk tea on the left, and a mango mojito with lychee jelly (not reviewed) on the right.
Boba: 4/4 the boba was perfect, it had the ideal consistency and right amount of sweetness. The tea also comes with small lychee fruit bits, which is just icing on top of the cake.
Tea: 4/4 lychee is one of my favorite fruits, but it's rare to find a place that offers it as a milk tea. Apparently Breaktime no longer fits in that category, but this was exactly what I wanted.
Bonus: 1/1 the ambiance and experience is really nice, I've spent enough time there drinking boba and chatting with friends.
Consistency: 1/1 I had intended for the consistency point to be awarded after a shop gets a 9/10 score, but given that I've been drinking here for 5+ years, I'm going to make an exception. I was genuinely stunned that it tasted basically the exact same from what I remember when I was a college student.
Total: 10/10. Breaktime earns our first 10/10 score! I'm not surprised, my experience with them as a student was always top-notch and I'm really glad to see it continue.
I'll be back in New York City next week, and am planning to kick-off March with a review from within the five boroughs.
P.S. I'm working on a better website to showcase these reviews, if you want a sneak preview. I still need to improve some things like the mobile view and no-JavaScript fallbacks, but any feedback would be welcome.