1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
[[!meta title="Bookclub tapas"]]
[[!meta copyright="Copyright © 2025 Maddie Sullivan"]]
[[!inline pages="internal(2025/info/bookclub-tapas-nav)" raw="yes"]]
<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->
# Bookclub tapas
Maddie Sullivan (she/her) - IRC: ElephantErgo, <https://ElephantErgonomics.com>, <mailto:hello@ElephantErgonomics.com>
[[!inline pages="internal(2025/info/bookclub-tapas-before)" raw="yes"]]
I've been experimenting with a new programming methodology that I've
stumbled upon. I call it "Bookclub Tapas". It is comprised of two parts,
"Bookclub" and "Tapas". Together, they form a literate-inspired,
Agile-inspired development method which centers around developer
self-reflection as a means to chip away at identifying powerful custom-fit
abstractions.
Bookclub turns literate programming on its head by having the target
audience of the source document's commentary be its own developer. Bookclub
files contain source code, issue tracking, research, feature requests, and
reflections on the development process all seamlessly integrated into a
single file. Developers no longer have to worry about keeping track of what
they want to be doing, why they want to do something, or even the full
picture of how to go about doing something, because the Bookclub file acts
in cooperative conversation with the developer as a living record of their
hopes, intentions, and efforts.
Tapas is the idea that instead of writing stand-alone programs, we write
library ecosystems. Instead of getting ahead of ourselves by trying
immediately to write large programs to solve large problems, we instead
focus on writing abstractions that reduce the scale of our problem. Our
goal is to identify what sort of tool would make the problem at hand
trivial to solve, implement said tool, and even work recursively to
implement tools to implement our tools. Our goal is that each next level of
abstraction is roughly a three-line trivial case of the level of
abstraction below, and eventually the solution to our initial problem is
itself trivial.
Over the course of the talk, I intend to dive into what is Bookclub, what
is Tapas, what do they look like when used together, and why they provide a
meaningful set of methodologies both for getting real work done and also
elevating the programming process' beauty. I will use a live demo centered
around light development on a real-life yet-to-be-released Emacs Lisp
package. I intend to showcase how Org Babel enables Bookclub by allowing
for incredibly malleable documents that seamlessly integrate source code,
documentation, issue tracking, research, and even the build process. I also
intend to showcase how the Emacs Lisp macro system enables Tapas by
allowing us to recontextualize and reinvent syntax in order to build
powerful, composable abstractions that do exactly what the context calls
for while using phrasing that is both natural and intuitive.
About the speaker:
Hi! I'm Maddie Sullivan, my pronouns are she/her, my handle is
ElephantErgonomics (ElephantErgo on IRC), and my email is
hello@ElephantErgonomics.com. My talk is on a programming methodology I've
stumbled into that I've come to call "Bookclub Tapas". It's inspired by
literate, agile, and last year's Emacsconf! I've had great success with it
for my personal development process, and I'm hoping you can get something
out of it as well. I'll be laying out what it is, how I found it, why Emacs
makes an awesome environment for it, and how you can get started with it
too!
[[!inline pages="internal(2025/info/bookclub-tapas-after)" raw="yes"]]
[[!inline pages="internal(2025/info/bookclub-tapas-nav)" raw="yes"]]
|