Sign up for Biff: The Newsletter
Announcements, blog posts, et cetera et cetera.
7 Dec 2024
Yakread schema [video]
I've started open-sourcing Yakread. I'm going to try publishing videos about it along the way. This first video describes Yakread's schema.
5 Oct 2024
Removing effects from business logic
Here's a thing I'm trying out to make testing easier.
5 Oct 2024
RocksDB indexes are done, open-sourcing Yakread next
Biff is becoming more interesting for large projects.
31 Aug 2024
Speeding up page loads with secondary indexes
I've been re-implementing Yakread with Biff's upcoming indexes feature.
19 Jun 2024
Indexes pre-release
The new "indexes" feature makes it easy to denormalize your main XT database so you can query for things faster.
14 May 2024
Trying out XTDB v2
I recently finished an experimental migration of the Biff starter app to use XTDB v2 instead of v1.
8 Mar 2024
The Design of Biff
I gave a presentation for the London Clojurians meetup this week. It starts out with a standard "what is Biff" overview, then in the second half I discuss my thought process/motivations for a few of Biff's features.
13 Feb 2024
v1.8.0: config, tasks, and uberjars
I've just released v1.8.0. See the release notes for upgrade instructions. The biggest change is to the way Biff handles config and tasks by default.
9 Dec 2023
Fall Biff updates
New articles, a couple releases, the roadmap, and some thoughts on Pathom.
8 Dec 2023
Should you use Biff?
The more the following points apply to you, the more likely Biff is to be a good fit.
5 Dec 2023
How to use re-frame with Biff
If you'd like to use Biff but you've decided that you'd prefer to use ClojureScript and React instead of htmx, I've made a demonstration of how to integrate re-frame with Biff.
22 Nov 2023
How to use Postgres with Biff
I've created an example repo that starts with a fresh Biff project and then modifies it to use Postgres instead of XTDB, for those who would like to use a traditional RDBMS.
8 Nov 2023
Philosophy of Biff
How do we write frameworks that make composition reusable without sacrificing simplicity in the process?
31 Oct 2023
XTDB compared to other databases
XTDB, the database that Biff uses by default, is still fairly niche. Why not go with Postgres or Datomic?
25 Sep 2023
Understanding htmx
Including htmx by default is one of the main design decisions I've made in Biff. If htmx is a good fit for your project, you might find it has a pretty high bang-for-buck ratio—that's been my experience at least.
6 Sep 2023
Summer Biff updates
I got a job, set up a new Biff forum, received Clojurists Together funding, got interviewed on the Defn podcast, and did a little coding.
26 Jun 2023
How to deploy a Biff app [video]
Video demonstration of deploying a Biff app to a DigitalOcean server.
15 Jun 2023
How to use Electric in a Biff project
I've created a git repository that contains the default Biff starter project, modified to use Electric instead of htmx.
19 Apr 2023
Biff v0.7.4 – updated docs – site redesign – roadmap
This release mainly contains a bunch of stylistic and structural changes to the starter project.
18 Apr 2023
Why I like Clojure as a solo developer
Most of the reasons fall into a few categories: data orientation, the JVM, and the REPL.
5 Mar 2023
Thinking about system composition
Biff's method of system composition is quite minimalist. I've been thinking about how it relates to other approaches like that of Integrant.
25 Feb 2023
Using Javascript libraries from Clojure
This past week I've been playing around with serverless functions on DigitalOcean. They're nice for using JS libs without needing to run Node and the JVM on the same machine.
18 Feb 2023
Secrets, authentication, and plugins
I've made a couple releases recently that overhaul the way Biff does secrets management and authentication.
19 Jan 2023
A year of Biff, and the roadmap for 2023
It's been about a year now since the current "era" of Biff started. I've been very pleased with Biff since then, and it's had much more community usage than it did previously.
22 Nov 2022
Biff tutorial: build a chat app step-by-step
Last night I finished writing the last section of Biff's new official tutorial. It takes you through the process of building an app called eelchat.
28 Oct 2022
Biff coding #8: Platypub UI improvements
We closed #12: Use select component for theme in Platypub.
3 Oct 2022
Biff September updates: Clojurists Together, documentation, in-memory queues
There's a new Biff release out, and I'm being sponsored by Clojurists Together.
30 Sep 2022
Biff coding #7: Fly Machines
We attempted to use Fly Machines to run some untrusted Babashka code. Hilariously, it turns out that the Fly Machines API was having downtime while we recorded this video.
16 Sep 2022
Biff coding #6: Babashka tasks
We replaced Biff's task shell script with Babashka tasks (partially, anyway). I demonstrate how to store tasks in separate repository so they can be shared by multiple projects.
5 Sep 2022
Biff updates for August
A few small releases, some meetups, Platypub + Yakread updates, and some future plans for code and docs.
2 Sep 2022
Some ideas for web apps to build
I have more-or-less an unlimited supply of ideas of web applications to create. If you're in the market for a new side project idea, here are a few suggestions that you're welcome to steal.
2 Sep 2022
Biff Coding #5: password authentication
We added password authentication to Platypub
30 Aug 2022
Biff Pair Programming #4: Platypub themes
We went into some details about Platypub themes.
5 Aug 2022
Biff Pair Programming #3: RSS reader
I did a solo coding session this time. We started a new application and added some basic RSS-reader functionality.
31 Jul 2022
Biff updates for July
Stuff that happened in July, plus some future plans.
22 Jul 2022
Biff Pair Programming #2
Jeff Parker drove in today's pair session. He gave a demo of Platypub and closed three issues related to the UI for sending newsletters.
7 Jul 2022
Biff Pair Programming #1
Jeremy Taylor drove in today's pair session, and he fixed a bug in Platypub where users would get an Internal Server Error if they tried to create a new site or newsletter without first adding API keys for Netlify or Mailgun, respectively (issue #19).
20 Jun 2022
Announcing Platypub: open-source blogging + newsletter tool
Platypub is meant to help people learn Biff, the Clojure web framework I made.
25 Apr 2022
Biff demo: developing in production
Screencast of developing a Biff application while it runs in production.
18 Apr 2022
Platypub: plans for building a blogging platform with Biff
As a way to help people learn Biff, I've been thinking about creating a "large" (compared to toy projects, at least) example application. Ideally it would be something genuinely useful that would warrant ongoing development for a long time, perhaps indefinitely.
10 Apr 2022
Biff demo: getting started, deployment
Video demo of setting up, developing, and deploying a new Biff project.
4 Apr 2022
New major release for Biff
After 10 weekends of development, I’m [positive emotion] to announce a new major release of Biff, the full-stack Clojure web framework that I’ve been using in my small bootstrapped business for the past couple years.
22 Feb 2022
Biff is now sponsored by Clojurists Together and JUXT!
I recently applied and was accepted for the $1,000 grant tier from Clojurists Together. Afterward I asked the fine folks at JUXT if they’d like to pitch in as well—since Biff is built on XTDB, it seemed like a good fit. They’re now sponsoring Biff/me for $1,000/month. I’m deeply grateful!
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.