diff options
Diffstat (limited to '2025/talks/bookclub-tapas.md')
-rw-r--r-- | 2025/talks/bookclub-tapas.md | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/2025/talks/bookclub-tapas.md b/2025/talks/bookclub-tapas.md new file mode 100644 index 00000000..5d0574b1 --- /dev/null +++ b/2025/talks/bookclub-tapas.md @@ -0,0 +1,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"]] + + |