Here are talk take-home materials for Local Offline AI, my talk at SeaGL 2025.
- Slides, notes, and code
- Live chat (I won’t follow and respond to this during the talk, someone in the room will need to raise their hand)
- Screencast with audio
Here are talk take-home materials for Local Offline AI, my talk at SeaGL 2025.
I am leading a Self-Hosting workshop at FOSSY 2024 this morning! It starts at 10:45am PDT.
I hope you enjoy the workshop. Please buy my book, tell your friends about it, and give me a review. If you can think of a place I should be talking about the book, please suggest it and, if you can, recommend me to the organizers of that group/conference.
I’m writing a small book. ~160 pages at 6″ x 9″. I want great-looking print editions so PDF output is critical.
I started writing in Markdown, using a few scripts to pre-process for each output format (EPUB ebook, screen PDF, print PDF, HTML) and invoke Pandoc. It worked well at first, but after a year of work my scripts had grown to be complex and annoying. I was running into the edge of what Pandoc is good at. I had issues with table formatting (text mixed up with cell borders), variable handling (had to do my own replacements), special characters (had to strip some of these or the PDF backend would croak), index generation and cross-references (both require confusing extensions). The Pandoc that came with my OS was outdated and I wound up needing several versions. I was starting down a path of customizing outputs with TeX directives and Lua extensions.
I looked around for better typesetting toolchains and came across the source code for the book Pro Git 2. Scott and Ben used Asciidoctor to convert Asciidoc source text to various formatted outputs. Their outputs looked great and there wasn’t much code needed to build them.
To give it a shot, I used Pandoc to convert my Markdown book source to Asciidoc then used the (tiny) Pro Git 2 build system. Asciidoctor created more and better-looking outputs for my book. I switched to Asciidoc/Asciidoctor. I no longer needed my pre-processing scripts, Asciidoctor did well at everything I mentioned above with mostly default settings. Customization was easy, even in the case where I had to add custom Ruby code. The Asciidoctor community seems healthy and strong.
Pandoc remains awesome for many reasons. I still love it for converting between common formats. I’ve be using it for a long time for Markdown and HTML and I hope that continues. Perhaps it is not the best at generating print-ready PDFs (nor ebooks), though.
I rolled my eyes far beyond acceptable limits when I first learned the meaning of the phrase green bubble shame. Still, I was curious, so I asked a handful of high school students about it. I rolled my eyes back into place (as they rolled theirs at my questions) and learned it is in fact real and common. Text message bubble color divides kids along lines of financial disparity and technological choice.
It starts when someone with an Android phone sends a direct text message or joins a chat. iPhone user messages appear to each other enclosed in beautiful blue bubbles. Android messages are othered in annoying green bubbles. It’s a subtle and meaningful cue. Green equates to hassle (group chats are impacted), bad quality (images/videos look worse), and worse security (not guaranteed to be encrypted). If the Android users are then socially excluded, we are in “green bubble shame” territory.
Don’t wait for Apple or Google to solve this problem. Encourage your kids to use Signal instead. This quick fix will reap rewards far beyond the next several phones they and their friends are able to afford.
If you do decide to try Signal:
Folks in the Seattle area Friday and Saturday this week (or wishing to join remotely online): there are at least 3 relevant self-hosting talks at the SeaGL conference.
I’m a SeaGL co-founder. SeaGL is free to attend. I’m promoting my own book in my talk, and the book itself will be liberally licensed to encourage sharing and remixing. It will include code, all of which is FOSS.
I created a website for my forthcoming book:

Steadfast Self-Hosting: Rapid-Rise Personal Cloud
This book will free your data and empower your users.
Send me a note at info@(that same domain name) if you want me to let you know when it is available.
I am honored to be giving a talk at FOSSY 2023. The title is Steadfast Self-Hosting: Rapid-Rise Personal Cloud.
Your data are essential to your life, your agency, and your future. Come learn how to save, serve, and safely share your data at home with a smorgasbord of FOSS. I’ll cover rapid setup and basic use of tools such as Traefik, Nextcloud, Wallabag, Jellyfin, and more. With these powerful and private services at your disposal you can collaboratively edit documents in realtime online, stream music and video, and future-proof your digital assets.
This talk pairs well with a soon-to-be released book of the same topic and title. Both the book and talk are about self-hosting FOSS, were created with FOSS, and are FOSS themselves (open source, free to copy, free to modify and redistribute).
TL;DR – it works well for one specific purpose, for a single user. Use it if you like to tinker and are academically interested in accounting.

I’ve used GnuCash for many years. I started using it without a sense for how much time I’d spend in the manual and forums figuring out the UI/UX. After having done so, I’m still glad I did. I learned quite a bit about double-entry accounting. This way of accounting forces you to contend with the fact that money always comes from somewhere and always goes somewhere. GnuCash maybe does not enough to help you manage this complexity. GnuCash is complex in part because finances are complex, but that’s not a great excuse for its often confusing UI/UX.
GnuCash is strictly single-user. I think this is a good way to think about it, too. Just use it for yourself. Only subject another to it if they really are, let’s say, academically interested in accounting and expect to fiddle with their accounting software (to the point of writing custom reports in Scheme).
Good luck getting a quicken/quickbooks power user to use GnuCash. I can’t speak to proprietary accounting software since I barely used any, though. I’ve never met a pro who used it.
GnuCash is mature. There is a rich body of knowledge available and a strong community.
It is written in C/C++. If it were rewritten it would surely not be. I’m not sure how much this matters in terms of project sustainability though, it has been around since 1998 and is still in active development.
It’s fast.
There is no mobile client.
I have never lost data with GnuCash. This is an incredible confidence-builder (and a requirement) for me. Data is hard work. It appears to be very careful about never losing any with its lock file and log files and such. It is also FOSS, which is a big deal for me.
I’ve used it for business invoicing and I remember being really proud when I got it to spit out good-looking invoices that were true and reconcilable with all my carefully-entered financial data. It’s not worth the effort for simple invoices, though.
If you have the privilege of working with multiple financial institutions, you get to import transactions from multiple sources. This is painful. In the USA this is perhaps painful by design.
I used Mint for a while. All that thing did (besides trigger my privacy spidey-sense) was sort of pull down transactions automatically with a lot of hand-holding. GnuCash is even worse at pulling down transactions, though. I never got the online stuff (OFXDirectConnect/AQBanking) to work well and I recommend against trying it in the USA. Even manual QIF/OFX/CSV importing is a pain, but it is generally predictable and reliable. There’s some intelligence built in (matching, remembering previous categorizations, etc) but it is hard to figure out. The real problem there IMHO is that our banks don’t want to become commodities themselves and they have resisted interoperability. Check out FinTS (was HBCI) in Germany for a counterexample where they’re trying to make it work.
The best part about GnuCash’s UI/UX is also the most boring part (you’ll find boring is a Good Thing with finances): the transaction register. Filling in a ledger for a particular account is very nice, especially in double-line mode. Auto-complete works well. I’ve grown to love the shades of lime green like an old-school paper ledger.
So there you go. One accountant, one desktop, maybe a few reports. Consider using a spreadsheet instead.
Good luck!