From 37c30ac168408a081c5093a07209f44c2ecafbdd Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Fri, 25 Sep 2026 11:20:07 -0400 Subject: add compile --- 2026/info/compile-after.md | 10 ++++++++ 2026/info/compile-before.md | 13 ++++++++++ 2026/info/compile-nav.md | 7 ++++++ 2026/info/dnd-nav.md | 2 +- 2026/info/team-nav.md | 2 +- 2026/organizers-notebook/schedule.svg | 2 +- 2026/schedule-details.md | 3 ++- 2026/talks/compile.md | 46 +++++++++++++++++++++++++++++++++++ 8 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 2026/info/compile-after.md create mode 100644 2026/info/compile-before.md create mode 100644 2026/info/compile-nav.md create mode 100644 2026/talks/compile.md diff --git a/2026/info/compile-after.md b/2026/info/compile-after.md new file mode 100644 index 00000000..22f4c1cf --- /dev/null +++ b/2026/info/compile-after.md @@ -0,0 +1,10 @@ + + + +Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20compile%3A%20Beyond%20shell%20history%3A%20Saving%20compilation%20output%20in%20Emacs) + +---- +Got an idea for an EmacsConf talk or session? We'd love to hear from you! Check out the [[Call for Participation|/2026/cfp]] for details. + + + diff --git a/2026/info/compile-before.md b/2026/info/compile-before.md new file mode 100644 index 00000000..87b9562b --- /dev/null +++ b/2026/info/compile-before.md @@ -0,0 +1,13 @@ + +[[!toc ]] +Format: 20-min talk ; Q&A: BigBlueButton conference room Etherpad: +Etherpad: +Status: Waiting for video from speaker + + + + + + +# Description + \ No newline at end of file diff --git a/2026/info/compile-nav.md b/2026/info/compile-nav.md new file mode 100644 index 00000000..321342f7 --- /dev/null +++ b/2026/info/compile-nav.md @@ -0,0 +1,7 @@ + +
+Back to the [[talks]] +Previous by track: Beyond the Chatbot: Team-Oriented AI in Emacs +Next by track: DnD and Org Roam: Becoming a Better DM with Emacs +Track: General +
diff --git a/2026/info/dnd-nav.md b/2026/info/dnd-nav.md index 86bf8749..c69f2fc5 100644 --- a/2026/info/dnd-nav.md +++ b/2026/info/dnd-nav.md @@ -1,7 +1,7 @@
Back to the [[talks]] -Previous by track: Beyond the Chatbot: Team-Oriented AI in Emacs +Previous by track: Beyond shell history: Saving compilation output in Emacs Next by track: bible-gateway: A Two-Edged Sword in Emacs Track: General
diff --git a/2026/info/team-nav.md b/2026/info/team-nav.md index 41818cd7..40e7140d 100644 --- a/2026/info/team-nav.md +++ b/2026/info/team-nav.md @@ -2,6 +2,6 @@ diff --git a/2026/organizers-notebook/schedule.svg b/2026/organizers-notebook/schedule.svg index 1b35c3f2..75569abb 100644 --- a/2026/organizers-notebook/schedule.svg +++ b/2026/organizers-notebook/schedule.svg @@ -1 +1 @@ -Graphical view of the scheduleSchedule for SaturdaySaturday 9:00- 9:10 Saturday opening remarkssat-open 9:10- 9:30 The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.planning 9:50-10:10 Controlling Emacs by voice using Emacslistenlisten10:30-11:00 Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspectiveemacspeak11:10-11:30 ltx-talk: Accessible presentations with ox-beamerltx-talk 1:00- 1:20 Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplotplots 1:40- 2:00 Plain text presentations in GNU Emacs with ffsffs 2:20- 2:30 How I fixed Org Mode's biggest mobile and collaboration problemsmobile 2:50- 3:10 Close the writing accountability gap with Emacswriting 3:30- 3:50 Hyperbole, My Dear Watsonhyperbole 4:10- 4:30 Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacskoutliner 4:50- 5:00 Saturday closing remarks / open sessionsat-close10:30-11:30 Community brainstormingcommunity 1:00- 1:10 Emacs as my portable user space across operating platformsportable 1:30- 1:50 Emacs everywhere: A fun romp through esoteric operating systemsos 2:10- 2:20 My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integrationcadet9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PMSchedule for SundaySunday 9:00- 9:10 Sunday opening remarkssun-open 9:10- 9:20 BONE and gnaw.el: tracking what mattersbone 9:40- 9:50 Local file history possibilities in Emacslocal10:10-10:20 hutch: code reviews for the mildly disenfranchisedhutch10:30-10:50 Beyond the Chatbot: Team-Oriented AI in Emacsteam11:10-11:30 Beyond Shell History: Saving Compilation Output in Emacscompile 1:00- 1:10 DnD and Org Roam: Becoming a Better DM with Emacsdnd 1:30- 1:50 bible-gateway: A Two-Edged Sword in Emacsbible 2:10- 2:30 A (sort of) REPL for learning SVGsvg 2:50- 3:10 Column-aligning text in Emacsalign 3:30- 3:50 Revisiting Emacs Mouse Interactions with Anjuanju 4:00- 4:20 Ghost in the Shell: a libghostty powered terminal for Emacsghostel 4:40- 4:50 Sunday closing remarkssun-close10:00-10:10 prefix-tab-groupsprefix10:20-10:40 Emacs as a Window Manager and concurrencyrau 1:00- 2:00 Meetup about LLMsllms9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PM \ No newline at end of file +Graphical view of the scheduleSchedule for SaturdaySaturday 9:00- 9:10 Saturday opening remarkssat-open 9:10- 9:30 The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.planning 9:50-10:10 Controlling Emacs by voice using Emacslistenlisten10:30-11:00 Multi-dimensional information processing with Emacs and Emacspeak: a blind man's perspectiveemacspeak11:10-11:30 ltx-talk: Accessible presentations with ox-beamerltx-talk 1:00- 1:20 Plots with ROOTs: Resilient data visualization with Emacs, Org and gnuplotplots 1:40- 2:00 Plain text presentations in GNU Emacs with ffsffs 2:20- 2:30 How I fixed Org Mode's biggest mobile and collaboration problemsmobile 2:50- 3:10 Close the writing accountability gap with Emacswriting 3:30- 3:50 Hyperbole, My Dear Watsonhyperbole 4:10- 4:30 Hyperbole Koutliner: The Best Autonumbered, Hyperlinking Outliner for Emacskoutliner 4:50- 5:00 Saturday closing remarks / open sessionsat-close10:30-11:30 Community brainstormingcommunity 1:00- 1:10 Emacs as my portable user space across operating platformsportable 1:30- 1:50 Emacs everywhere: A fun romp through esoteric operating systemsos 2:10- 2:20 My Space Cadet Deck - an Android Stream Deck replacement with deep Emacs integrationcadet9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PMSchedule for SundaySunday 9:00- 9:10 Sunday opening remarkssun-open 9:10- 9:20 BONE and gnaw.el: tracking what mattersbone 9:40- 9:50 Local file history possibilities in Emacslocal10:10-10:20 hutch: code reviews for the mildly disenfranchisedhutch10:30-10:50 Beyond the Chatbot: Team-Oriented AI in Emacsteam11:10-11:30 Beyond shell history: Saving compilation output in Emacscompile 1:00- 1:10 DnD and Org Roam: Becoming a Better DM with Emacsdnd 1:30- 1:50 bible-gateway: A Two-Edged Sword in Emacsbible 2:10- 2:30 A (sort of) REPL for learning SVGsvg 2:50- 3:10 Column-aligning text in Emacsalign 3:30- 3:50 Revisiting Emacs Mouse Interactions with Anjuanju 4:00- 4:20 Ghost in the Shell: a libghostty powered terminal for Emacsghostel 4:40- 4:50 Sunday closing remarkssun-close10:00-10:10 prefix-tab-groupsprefix10:20-10:40 Emacs as a Window Manager and concurrencyrau 1:00- 2:00 Meetup about LLMsllms9 AM10 AM11 AM12 PM1 PM2 PM3 PM4 PM5 PM \ No newline at end of file diff --git a/2026/schedule-details.md b/2026/schedule-details.md index 9a1bbb2d..a35b5ccd 100644 --- a/2026/schedule-details.md +++ b/2026/schedule-details.md @@ -1,6 +1,6 @@ Jump to: B -

General (20 talks)

+

General (21 talks)

[[!template id=sched title="""Saturday opening remarks""" url="""/2026/talks/sat-open""" speakers="""Sacha Chua""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""sat-open""" note=""""""]] [[!template id=sched title="""The Emacs Planning Habits of a Questionably Effective Person: My 40-year journey of planning with Emacs, Org Mode, paper journals, etc.""" url="""/2026/talks/planning""" speakers="""George Jones""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""planning""" note=""""""]] [[!template id=sched title="""Controlling Emacs by voice using Emacslisten""" url="""/2026/talks/listen""" speakers="""Erik Präntare""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""listen""" note=""""""]] @@ -15,6 +15,7 @@ Jump to: B [[!template id=sched title="""Local file history possibilities in Emacs""" url="""/2026/talks/local""" speakers="""Wouter Groeneveld""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""local""" note=""""""]] [[!template id=sched title="""hutch: code reviews for the mildly disenfranchised""" url="""/2026/talks/hutch""" speakers="""Akshay Gupta""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""hutch""" note=""""""]] [[!template id=sched title="""Beyond the Chatbot: Team-Oriented AI in Emacs""" url="""/2026/talks/team""" speakers="""Mohsen BANAN""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""team""" note=""""""]] +[[!template id=sched title="""Beyond shell history: Saving compilation output in Emacs""" url="""/2026/talks/compile""" speakers="""Jonathan Otsuka""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""compile""" note=""""""]] [[!template id=sched title="""DnD and Org Roam: Becoming a Better DM with Emacs""" url="""/2026/talks/dnd""" speakers="""James R. Stoup""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""dnd""" note=""""""]] [[!template id=sched title="""bible-gateway: A Two-Edged Sword in Emacs""" url="""/2026/talks/bible""" speakers="""Kristjon Ciko""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""bible""" note=""""""]] [[!template id=sched title="""Column-aligning text in Emacs""" url="""/2026/talks/align""" speakers="""Jeff Trull""" watch="""https://emacsconf.org/2026/watch/gen""" slug="""align""" note=""""""]] diff --git a/2026/talks/compile.md b/2026/talks/compile.md new file mode 100644 index 00000000..89e8fd1e --- /dev/null +++ b/2026/talks/compile.md @@ -0,0 +1,46 @@ +[[!meta title="Beyond Shell History: Saving Compilation Output in Emacs"]] +[[!meta copyright="Copyright © 2026 Jonathan Otsuka"]] +[[!inline pages="internal(2026/info/compile-nav)" raw="yes"]] + + + + + +# Beyond Shell History: Saving Compilation Output in Emacs +Jonathan Otsuka (he/him) - Pronunciation: O-tsu-ka, https://github.com/djgoku/compilation-history + +[[!inline pages="internal(2026/info/compile-before)" raw="yes"]] + +I often want to look up a command I ran earlier and see what it printed. +Shell history gives me the command, but not its output. Emacs compilation +buffers have both, but once the buffer is gone, I need somewhere else to look. + +I built `compilation-history` to save that information. It stores each +compilation in SQLite, including the command, output, exit code, timing, +working directory, and Git context. I can search previous runs, reopen their +output, and run a command again without having to piece it together from +memory or notes. + +I'll show how I use the package and how it saves and displays previous runs. +I'll also show how I use it with AI coding agents. You can use +`emacs-mcp-server` or just plain `emacsclient` to have an agent run commands +through `compilation-start`. Those commands end up in the same history as my own, +so I can go back and check what a test, build, or diagnostic command printed +after the agent session is over. + +About the speaker: + +Jonathan Otsuka is a software engineer who enjoys working with Emacs +Lisp and Elixir. His open-source projects include +\`compilation-history\`, \`sops\` for editing encrypted files in Emacs, +and, more recently, \`misemacs\`, a tool for creating reproducible, +self-contained Emacs builds. away from the keyboard, he enjoys +swimming and cycling. + + + +[[!inline pages="internal(2026/info/compile-after)" raw="yes"]] + +[[!inline pages="internal(2026/info/compile-nav)" raw="yes"]] + + -- cgit v1.2.3