Biff updates for July

In an attempt to be more organized and to avoid posting too often, I've decided to send this newsletter once per month (on the first Monday of each month) and batch up any Biff-related announcements etc. here. You can subscribe to get the next monthly update by email. If you're unfamiliar with Biff, see the landing page.

Meetups. We've started doing recorded pair programming sessions twice per month. These are meant to be pretty laid back; a relaxing way to learn some Clojure web dev with Biff together. We've had two so far:

We had 5-10 people at each of these, which is more than I was expecting! I just created a meetup group for the future sessions. You can RSVP to the next one, which will be on August 5th at 16:30 UTC (this Friday). The following meetup will be on the 18th. You can also sign up to drive.

Platypub improvements. There have been a handful of merged PRs in July in addition to the issues we closed in the meetups:

Thanks to Jeff Parker for submitting all of these. See the list of good first issues if you'd like to start contributing.

Asynchronous code review. This is another new experiment. I've created a GitHub repo where anyone can ask for feedback on their code. From the README:

If you're working on a Biff project and need help or would otherwise like some feedback on your code, create an issue. Include a link to the relevant files and/or commits in your project.

I (Jacob O'Bryant) will try to respond to all the feedback requests, and anyone else in the Biff community is also encouraged to respond if you have some time (especially if this becomes popular!). I mostly work on Biff on Fridays, so that's when I'll be most available for code review; but if I can answer a question quickly then I may do it throughout the week as well.

I don't know if anyone will use it, but at least now you know it's there!

Private mentoring. A couple people have asked about this, so I thought this would be worth mentioning: if you'd like some one-on-one help with learning Biff/Clojure web dev, I can do private mentoring over Zoom for $75/hour, with the first hour free. Email me if you'd like to set something up. That being said, I would encourage anyone interested to also/instead participate in the free "support" channels (meetups, asynchronous code review, and the #biff channel on Clojurians Slack).

Future plans

I've thought a lot about how I should use my "Biff time" (i.e. Fridays) going forward. I've decided I'd like to split it more-or-less evenly between three areas:

Community building/support. Organizing the meetups, doing async code review, answering any questions that come up on the #biff channel, writing this newsletter, responding to PRs and issues on Platypub. Since the Biff community is still quite nascent, this doesn't take much time yetthe meetups are the main thing currently.

Developing Platypub. Since Platypub is meant to give people an opportunity to contribute to an open-source Biff project, I have purposely avoided working on a lot of the issues myself. However, some issues are more complex and involve a bunch of details that are mostly in my head. I'd like to keep those issues out of the way so that they don't become blockers for any other contributors.

I'd also like to take care of the issues on the critical path so that I can provide a hosted instance of Platypub. Then anyone can try it out without needing to run the code themselves first. In its final form, I'd like Platypub to become a gateway to Clojure and possibly programming in general: you could think of it as "WordPress, but themes are written in Babashka."

Documentation. Right now Biff only has reference docs. I want to add a lot more, such as:

As part of that, I plan to restructure the website, while taking lessons from The Grand Unified Theory of Documentation into account.


So yeah, that should be enough to keep me busy for a long time 🙂. Somewhat amusingly, "writing code for Biff" isn't even one of those categories, but it'll happen as needed (e.g. I might port certain features from Platypub back into Biff).

Reminders