Three years of SecureDrop

I recently completed my third year working on SecureDrop at the Freedom of the Press Foundation. Time flies when you're having fun; and not coincidentally, this is the longest I've ever held the same position at a job.

In terms of numbers, by the end of 2024, I had made just slightly over 900 commits across our main code repositories (not all commits are created equal, etc.). I really enjoy working on such a narrowly scoped project that sits right in the middle of public-interest journalism and technology.

Looking back on the past year I feel like I am most proud of our behind-the-scenes-type architectural work, including:

The SecureDrop team is pretty small (7-8 people) for the, IMHO, outsized impact we have. My coworkers are wonderful, talented people who do great work and make my work better through collaboration. And I'm pretty privileged to get paid full time to work on free and open source software.

One of the areas I feel we've fallen short in is cultivating an open source community around SecureDrop. Part of it is that we don't have as much capacity to support that, but also it's hard to attract contributors when it's not obvious what the value of the work is (especially compard to my past MediaWiki work).

As a best practice, we recommend journalists don't reveal the specific mechanism that a leak came through, so the main indicator we have that SecureDrop is useful is that news organizations keep investing in using it (well, and they tell us that it's useful). But, I hope we can keep making progress in recruiting other contributors.

A noble adventure#

For the past few months I've been figuring out how we can automatically upgrade SecureDrop instances from Ubuntu 20.04 (Focal) to 24.04 (Noble). Jumping LTS versions is officially unsupported by Ubuntu but SecureDrop servers are pretty homogeneous that once we have it figured out on our test servers, it should be relatively safe to replicate.

We have a few long-running test instances that were first installed years ago with a very old version of SecureDrop and upgraded step-by-step over the years, so they've built up all the possible cruft; I had snapshots of them taken for investigation on how they differ from a fresh install today and began eliminating some of the divergences. And then we can restore the snapshots to other servers to try the upgrade against without risking breaking the actual long-running instance.

I'm pretty confident in what we've figured out so far; certainly doing an in-place upgrade is going to be far simpler for administrators instead of needing to do a fresh reinstall. In case you didn't guess, the upgrade script is being written in Rust, and we/I have a pretty solid reason for doing so.

(Sidenote: I slipped in an easter egg while working on this, I am not aware of anyone discovering it yet.)

Merch#

Black t-shirt with the text anti-malware malware club and the SecureDrop and Dangerzone logos on the sleeves

During our 2023 team retreat, we got sick "anti-malware malware club" t-shirts made. I wore it to a few conferences and received rave reviews, with people asking me where they could buy it from. We listened and are now selling them in the FPF store! They're union printed, 100% cotton and very cool.


Boba Quest: Möge Tea

As part of Boba Quest 2025 🧋, I'm trying and reviewing a new boba shop each week.

I know that last time I promised I'd review something not in Queens on the 7, but the place I had planned to review was out of the specific tea I like, so I'll review it another time.

This week we visited Möge Tee (with the umlaut) in Long Island City (42-32 Crescent St); right next to the 7, N, W at the Queensboro Plaza station and E, M, R at the too similarly named Queens Plaza station just a few more blocks away.

I say we because this is a double review; my girlfriend and I both ordered a brown sugar milk tea with light ice and 100% sugar. Despite ordering the exact same drink, we got different lids:

Two cups of boba; the one on the left has a clear lid with cat ears and on the right has a small heart in the lid

My review:

  • Boba: 3/4 boba was well flavored and chewy; but it became...less chewy faster than I expected that by the time I was finishing it up, it was probably a 2/4.
  • Tea: 3/4 pretty decent, I just felt the tea was a bit too strong.
  • Bonus: 0/1 nothing special to report, there's a small bar/counter for people to stand and drink.

Total: 6/10: Decent but I wouldn't go out of my way for it.

And now, the first guest review of Boba Quest 2025 🧋, from my girlfriend:

  • Boba: 4/4 the boba tasted good and had a great QQ (chewiness) quality
  • Tea: 2/4 the actual drink was decent. The tea flavor was very strong, so they definitely delivered on that front. And, if that's what you like, you'd probably really like this tea. However, I didn't.
  • Bonus: 1/1 I thought this place deserved the bonus point because it has very nice decor/lighting up on the walls and is an overall aesthetic place to go to. I also like that they have both the counter with an actual person and self-checkout kiosks to order from, so you can choose your level of interaction based on your mood. I also like the cute elements they add to the drink cups, such as the heart and cat caps.

Total: 7/10: I think you would really enjoy their drinks if you like a strong tea flavor. I have also tried their brown sugar boba milk without the tea/caffeine and enjoyed that, so that could be an option. And the boba is good. So, I would come back and think it would be good to try if you pass by but don't go out of your way for it.


I hadn't heard of "QQ" before my girlfriend mentioned it, making me one of today's ten thousand. My review definitely looks a little too succinct next to hers :-)

Next week I truly promise to review a boba place outside of Queens and not on the 7.


Archiving my microblogging

I started posting on Twitter in the early 2010s; it was primarily very useless things. I unofficially left in 2018 when I joined mastodon.technology (I had a cross-poster going for a while, but mostly stopped checking Twitter). And when that shut down in late 2022, I co-created Wikis World and have been posting there ever since.

A good chunk of my Twitter posts were deleted when I set up Semiphemeral and mastodon.technology is entirely gone.

I had kept account exports for each of them and have now selectively imported my posts onto my blog: twitter-archive and mastodon-archive. It was a fun trip down memory lane.

The actual export was pretty straightforward, Twitter's archive came with a built-in HTML viewer, which was nice for picking which posts to archive. For Mastodon, I used Mastodon Archive Viewer (Zero's fork). I've included links to the Wayback Machine on the individual posts for convenience, but most of them are not individually archived.

I've thought about doing a POSSE setup, and maybe I will eventually, but for now I feel okay with microblogging solely on Wikis World (in some sense it is partially my "Own Site"). I hope in the future Mastodon lets you take your posts with you so I don't need to manually archive them again.


My 2024 Wikipedia editing

I racked up 526 edits and created 8 new articles on the English Wikipedia over the past year. 2024 was a relatively quiet year for my editing (in 2023 I had 1,137 edits). I really tried to take the Marie Kondo aproach to it: I only edited if it sparked joy.

The eight article creations, plus one split, in chronological order:

  • While watching Michigan win the 2023 National Championship, I saw Bill Hancock appear on TV, so I created his article. (Easy guideline: if someone appears on a nationally televised sports broadcast, they're probably notable.)
  • I ressurrected the article on Project Maven, the Pentagon's project to use AI, etc. that multiple Google employees had walked out over back in 2018. I didn't write the text myself, I took it from the existing article on the Artificial intelligence arms race.
  • Created Wedding of Anant Ambani and Radhika Merchant, because it was basically on par with British royal weddings. (And then successfully defended it from deletion.)
  • Learned about Jeep ducking, which of course led to writing a Wikipedia article and obtaining an accompanying photo.
  • We went to the Montauk Point Lighthouse, which has a nice museum about itself and found there was a whole room dedicated to Giorgina Reid and no article for her.
    I submitted this article to be featured on the main page's "did you know" section, to which it received rave reviews from my fellow editors.
  • Unfortunately I learned about Jack Limpert when he died. He's credited with shaping the "city magazine" format (another missing article I researched but still haven't written yet), but really I was more impressed that he succesfully figured out Deep Throat's identity as Mark Felt back in 1974.
  • There aren't very many dogs notable enough for articles, but Ben Herbstreit was one; I had known about him for a year now, but only realized he was notable after he died.
    The tribute ESPN put together is one of the saddest videos you'll ever watch.
  • I saw a tweet claiming that China's 12345 hotline was a fantastic government service. I couldn't find any non-state media sources to back it up, but it was notable, similar to the US and Canada's 3-1-1.
  • Tanking is easily one of the worst parts about professional sports, so I was pretty excited when the PWHL adopted the Gold Plan.

Article writing#

I try to write about subjects I don't already know a bunch about. Doing so helps less of my personal bias and opinions slip in and helps reinforce Wikipedia being an amateur project. I'm far more likely to do a better job at solely summarizing what sources say if that's literally all I know about a subject.

Once I've found a subject, itt usually takes me around two to three hours to write an article from scratch. Most of the time is spent searching for and reading sources and then ~30 minutes to write it all up.

This may seem counterintuitive, but I try to ensure that all the articles I create are incomplete. I don't add infoboxes, categories, WikiProject banners, etc. I'll often leave links to sources that are useful but that I didn't include on the talk page, with editorial suggestions.

I think it's important that there are always easy ways for people to get involved with editing, and leaving "basic" elements of an article out provides an easy pathway. Along the same vein, I'll proofread the article once before saving, but if I spot a minor error afterwards (like, a grammar or spelling error, not a factual mistake), I'll just leave it.

For every new article I created this year, I wrote a short Mastodon post with a link (example), which did a decent job at getting my followers to improve them :)

Administrative work#

I've primarily been helping out as an administrator at the Redirects for discussion process, which is perenially backlogged. I find it incredibly interesting because most of the subjects tend to be rather niche, with people trying to assess whether a redirect is useful for navigation or not, in addition to plenty of other factors.

Some fun examples: Bīn, Tighten, Asplode.


Boba Quest: Chun Yang Tea

As part of Boba Quest 2025 🧋, I'm trying and reviewing a new boba shop each week.

I've tried Chun Yang Tea once before, but that was nearly two years ago, so this was basically a fresh start.

It's right next to the Vernon-Jackson 7 station, at 49-10 Vernon Blvd. I'll try to make this my last boba shop along the 7 in Queens for a while.

Chun Yang primarily serves fruit teas, which are not really my cup of tea (ha, ha). On the plus side that means most of their drinks are dairy-free. I opted for a black tea latte with boba, less ice and 100% sweet. The person taking my order initially prompted me to confirm 50%, I replied 100%, which I feel might explain what happened.

My black tea latte with boba, in a plastic bag
  • Boba: 1/4 the boba was barely flavored. Texture was passable.
  • Tea: 2/4 it was as if the tea was only sweetened halfway. (I double-checked and the label said 100%.)
  • Bonus: 0/1 there's a small bar to stand and drink, but no seating. They also have a similar gift card discount like I'Milky has, but this isn't as good: it's $5 free if you buy a $50 giftcard while I'Milky was a free drink, so a $7-8 value.

I originally had written a complaint about how the the store was super fogged up to the point where my glasses fogged up and I couldn't even read the menu and would've given it a negative point if the score wasn't already so low. But then a few days later I had lunch elsewhere and the same thing happened, so I guess it's just a heat thing (it's very cold outside) and I won't hold it against them.

Glass windows that make up Chun Yang's storefront. Some are fogged up with condensation and others you can see streaks where the condensation has begun to run down

Total: 3/10. Unfortunately this is one of the only boba shops in the Hunters Point area but I don't plan to stop by again.


Boba Quest: Bobba Hubba

As part of Boba Quest 2025 🧋, I'm trying and reviewing a new boba shop each week.

This week I tried Bobba Hubba for the first time. It's across the street from the Jackson Heights–Roosevelt Avenue station, so it's reachable by the 7, E, F, M, and R trains, plus the Q70 SBS if you're itching for boba right after landing at LGA (or right before you leave). For some reason Google Maps has the address as 4032 75th St in Flushing, but according to The New York Times's neighborhood map, it's on the border of Jackson Heights and Elmhurst.

I didn't realize until I walked in, but it also doubles as a gaming cafe! And they had a few empty claw machines too.

A table with computers on it, in the setup of a gaming cafe. Empty claw machines are visible in the background

Anyways, let's get to the boba! Bobba Hubba had a sign advertising their top 4 drinks, so I ordered from the top of the list: a brown sugar milk tea. I wasn't asked about my sugar or ice preferences, so it was the default.

Boba tea in a clear plastic cup with a black plastic straw sitting on top of a black microwave
  • Boba: 2/4 the boba was flavored well but too chewy.
  • Tea: 4/4 I think it's really hard to mess up brown sugar milk tea, especially because I'm not the person to complain if something is too sweet.
  • Bonus: 0/1 maybe it was just late and dark outside, but the ambiance inside was not really a place I'd stick around. I didn't see anything about loyalty programs.

Total: 6/10. If I was in the area and craving boba, I wouldn't mind popping in again, but I wouldn't go out of my way to stop by.

P.S. There's now a dedicated RSS feed for all Boba Quest entries. I'll aim to regularly post them on Wednesdays.