It's been nearly 10 years since I created this blog
and for that entire time it's been using the Pelican
static site generator. It's been pretty good, but lately I've wanted to improve
and change some things, so I've taken the opportunity to rewrite it from
mostly scratch.
b2 is a Rust program that takes
an input folder of markdown files and spits out a complete HTML directory
of the blog. The templates and theme are taken from my fork of pelican-sober.
For the most part nothing has changed, I've just taken the opportunity to
adjust the CSS and improve some of the HTML output.
b2 is pretty specific for my usecase, I'm not planning to turn it into a
general purpose static site generator, though you're more than welcome to
fork it for your own needs.
As the SecureDrop team previously announced, we’re shifting our focus in order to graduate SecureDrop Workstation from its pilot phase. One of the first steps we’ve taken in this direction is to reorganize and consolidate the project's Git repositories to make development and releases easier and faster.
In 2018 I announced the creation of my "Skip Mobile Wikipedia" Firefox add-on, which automatically
redirects you to the desktop version of the site. At the time it worked on both standard desktop Firefox and in Firefox for Android, life was great.
Unfortunately at some point, Firefox stopped allowing arbitrary add-ons on Android and it was disabled. It was still usable in the "Nightly" edition, but that wasn't very user friendly.
Anyways, fast-forward to earlier this month, Firefox has re-enabled general add-on support, so
"Skip Mobile Wikipedia" is installable and works again on Android. The source code is the same, I haven't had any need to update it since 2020.
I personally use the responsive Timeless skin, which I think provides a nicer viewing and editing experience from my phone. Happy browsing!
I am privileged to work for a non-profit organization, the Freedom of the Press Foundation, which allows me to work full-time on free and open-source software, namely SecureDrop. It also pays the bills and lets me spend me free time doing other stuff that's good for humanity, like contributing to wikis, running a Mastodon server and riding bikes.
If you like my work, whether on SecureDrop or just in general, and have the means to do so, I'd appreciate you donating to FPF: https://freedom.press/donate/ (if you live in the US, this donation is tax deductible). Click the checkbox that says "This donation is in tribute of someone", and then say the gift is in honor of me, "Kunal". (You're also welcome to type other stuff, like "legos" or "boba tea".)
Hate my work? That's fine too, just pick the option that says "This gift is in opposition to" and mention my name. You could also type other stuff here, like "the Kragle" or "boba tea haters".
Now that you've read this far, I'll also mention that we have a merch store with FPF and SecureDrop swag, including stickers! If you use the coupon code "FPF2023" you'll get a 15% discount (only on Nov. 27 aka Cyber Monday).
I haven't been very good with writing about what I've been working on in SecureDrop-land, but here is: Migrating SecureDrop’s PGP backend from GnuPG to Sequoia
over on the SecureDrop website. You should read it, and then come back to read the rest of this.
We had been discussing Sequoia internally for a while, but I officially filed an issue titled "Use Sequoia-PGP instead of gpg/pretty_bad_protocol" in April 2022. I pushed
a first WIP of the Rust code to a branch named oxidize on July 8, 2022 and had it working in the development environment by the 14th. TBH that was the easy part, migrating existing sources from GPG to Sequoia was going to be
the hard part.
Small tangent, I was very fortunate to grow up around a lot of Sequoia trees, and I have very fond memories of visiting Muir Woods National Monument as a kid. So when I had
to pick a name for the Rust crate, I tried to stay with the theme, and went to the Wikipedia disambiguation page for Sequoia, clicked on the first link, Sequoioideae,
read "...commonly referred to as redwoods", and then immediately ran cargo new redwood --lib. I anticipated we'd switch to a generic, boring, name like rust but that didn't end up happening :-).
Exporting public keys is pretty easy, but GPG stores secret keys in its own custom s-expression thing (documented as "...easier to read and edit by human beings", okay.), which we would have to write something
custom to read. I flailed around trying to do so but never really got anywhere. Sequoia opened a ticket on their end for supporting GPG's format, but as of this writing, it hasn't seen any real progress (which is fine and understandable!).
At the end of December 2022, Sequoia announced their chameleon project to replace the gpg CLI. In January 2023 (this year!) I discussed whether using that was an
option in the Sequoia IRC channel, and Neal (who is fantastic), suggested just using GPG directly. Great idea!
Now that we had a real migration plan, February and March had some internal discussions on whether to move forward with this, and I started working on it for real in May. The first PR
was up by the end of May and landed the first week of June.
The second major PR was posted mid-July and merged at the beginning of October! There were a number of smaller
PRs in the middle, but that was "step 2" in my high-level roadmap.
There was a lot of good back and forth during review from SecureDrop team members, Sequoia developers and other volunteer contributors. And related PRs from other SecureDrop team members.
Everything else landed in October, and then this week I finished running some benchmarking, which, surprise surprise, showed that calling the Sequoia Rust code was faster than
shelling out to GPG.
SecureDrop 2.7.0 powered by Sequoia should be (knocks on wood) released in a few days, which will be the largest milestone to date of this multi-year project. And as the blog post pointed out, there's still a lot of work to do.
This is the first Rust project that I've worked on that is being shipped to production users (all the wiki bots I've written really don't count), and it's been a blast. It certainly won't be the last ;-)
When Taylor Swift's Midnights came out, I had the extremely controversial opinion that Carly Rae Jepsen's The Loneliest Time (released on the same day) was better. So when Parker told me
she was coming to New York City (greatest city in the world, btw), I leapt at the opportunity and bought a ticket right away. Plus it was at a pretty fantastic venue, The Roof at Pier 17 (which surprisingly doesn't have its own Wikipedia article).
Cue Monday night. Throughout the day the forecast called for thunderstorms, though it kept slipping from 6pm, to 7pm (when the concert was supposed to start) and then to 9pm. I brought a rain jacket, but it seemed like we might
just miss the storm. We got in right as doors opened and accidentally went up the VIP elevator (whoops) and ended up with a pretty great spot, pretty close to the stage.
The opener, Poolside played his set for an hour-ish and then Carly came on, the atmosphere was electric. Right as she started her fifth song (Joshua Tree) a
giant streak of lightning appeared overhead. Moments later she paused the show, and then the screens said that the show was cancelled and we were to evacuate. (This is the second concert
I've attended that was billed as "rain or shine" that was cancelled because of inclement weather.)
Dejected, we went to a nearby bar that filled up with other concertgoers and was playing her music with people singing and dancing. It was a good time, but still sad. One of the people in our group was regularly checking her
social media and saw her announcement nearly immediately: first 150 people in line at Rockwood Music Hall would get to see her in a special pop-up show that night. We rushed
there, and found a quickly growing line. We were probably 170-180, but we stayed in line (it's the law! they have to let you vote!), got some drinks and churros and had a good time with the people next to us.
Someone came by and told us that she was going to do multiple shows, and we would be in for the second one starting at 12:30am. We stayed in line. The person who checked our tickets and IDs told us they were all set to go home
for the night and then their manager told them they had to stay for some more shows. Oops, but they said they were having a good time!
We got in closer to 11:30pm, and the venue was TINY. Like, 150 people was probably the fire code limit, not how many people should comfortably fit in there. It was tight, but it didn't matter, I was in the thirdish row of people and
FIVE FEET AWAY FROM HER.
It was truly unreal, being in such a small space, listening to such a big pop star. She didn't have a setlist, it seemed like she was just playing whatever. At one point she asked what she should play next
and someone shouted "Store", a somewhat obscure song from Emotion: Side B. She said she wasn't sure she remembered the lyrics, and her piano guy didn't know it either. Someone handed her their phone with the lyrics pulled up
and the piano guy just...played something. It was great. And then she finished with Cut to the Feeling, which was just amazing to hear live for the first time.
And then it ended and I was stunned. It was a once-in-a-lifetime event and easily my favorite live music performance ever, and I don't know what could even beat it.
The story doesn't end there though. To make up for the cancelled performance, she scheduled another show the next day (Tuesday) at 3pm. I know a bunch of people couldn't make it because of work, but I took advantage of the privilege
I have and went to work, dipped a little bit before doors opened at 2pm and then went back to work after the concert. It was good fun and you could tell the energy level was higher than normal because of the circumstances. I've
never actually been to a daytime concert like this, so my pictures actually turned out better than expected.
On that note, it's a fun game(?) to go to an event, see what famous person will be there, look at their Wikipedia infobox picture and see if you can take a better photo. For most people it really isn't that hard! It's pretty
doable with just a phone camera; as I write this, my photos are in the articles of Glass Animals, Allison Ponthier, Hayley Kiyoko and
Tessa Violet, and that's just musicians/bands.