diff options
Diffstat (limited to '')
| -rw-r--r-- | 2025/watch.md | 101 | ||||
| -rw-r--r-- | 2025/watch/dev.md | 94 | ||||
| -rw-r--r-- | 2025/watch/gen.md | 186 | ||||
| -rw-r--r-- | 2025/watch/info.md | 11 |
4 files changed, 392 insertions, 0 deletions
diff --git a/2025/watch.md b/2025/watch.md new file mode 100644 index 00000000..a8e5fcea --- /dev/null +++ b/2025/watch.md @@ -0,0 +1,101 @@ +[[!inline pages="internal(2025/watch/announce)" raw="yes"]] +[[!inline pages="internal(2025/watch/info)" raw="yes"]] +[[!sidebar content=""]] + +EmacsConf 2025 will be on **Dec 6** (Sat) and **Dec 7** (Sun), 2025 from +9am-5pm Toronto/EST time (US/Eastern); equivalently, 6am-3pm PST, +2pm-10pm UTC, 3pm-11pm Zurich/CET, 7:30pm-4:30am(next-day) India/IST, +10pm-6am GMT+8. + +You can view the live conference streams in a +streaming web player such as [MPV](https://mpv.io) +or via the watch pages in the table above. If you +need to reverse the video for easier viewing (ex: +turning dark mode into light mode), try a command +like `mpv --vf=negate URL`. + +If you experience any disruptions (including weird audio), try waiting +a minute or two and then reloading the page you're using to watch the +video. If that still doesn't work, please check our status page at +<https://status.emacsconf.org> for updates on the status of various +parts of our infrastructure, and instructions on how to get in touch +with us about disruptions. + +We will also try to rebroadcast on [YouTube](https://www.youtube.com/@EmacsConf). +Youtube events: + +- [General - Dec 6 Sat AM](https://youtube.com/live/FI3eGeGCyQM) +- [Development - Dec 6 Sat AM](https://youtube.com/live/KCZthyBhHtg) +- [General - Dec 6 Sat PM](https://youtube.com/live/Y3PjMp2mBQM) +- [Development - Dec 6 Sat PM](https://youtube.com/live/r41CGbNo9Sw) +- [General - Dec 7 Sun AM](https://youtube.com/live/tzPmQ40hwis) +- [General - Dec 7 Sun PM](https://youtube.com/live/uCNWK0Bqo9Q) + +and maybe also Toobnix (PeerTube): + +- [General - EmacsConf 2025 - toobnix](https://toobnix.org/w/oLwaPU7MgMFDAWPhaFdW1t) +- [Development - EmacsConf 2025 - toobnix](https://toobnix.org/w/uXGmcRigZD82UWr5nehKeL) + +To participate in the Q&A, please check the [[talks]] index for a link +to the talk page, and [[read these Q&A tips|qa]]. The talk page will +have the Q&A details, including the Etherpad link, IRC channel, and +optionally a BigBlueButton room (BBB) for live Q&A via web conference. + +**BigBlueButton web conference** (Javascript +required): If you plan to participate in Q&A in +the BigBlueButton room, please use headphones or +earphones in order to minimize audio feedback. The +link on the talk page will take you to a waiting +room that will automatically refresh when the host +has opened the Q&A. If you are having a hard time +joining or participating, you may need to switch +to Mozilla Firefox, Chromium, or Google Chrome. +Please let us know in #emacsconf-org in case we +can help you troubleshoot. + +**Etherpad** (Javascript required): The Etherpad for general EmacsConf +discussions is at +<https://pad.emacsconf.org/emacsconf>. The schedule and +the talk pages link to the Etherpads for the +specific talk. Please feel free to add notes and +questions to the Etherpad. + +**IRC**: You can join IRC using +<https://chat.emacsconf.org> (Javascript required) +or your favourite IRC client (no Javascript +required). Here are the irc.libera.chat:6697 IRC +channels that we'll be using this year: + +- \#emacsconf-gen: discussion for the General track +- \#emacsconf-dev: discussion for the development track +- \#emacsconf: hallway conversations, other general conversations +- \#emacsconf-org: if you need to get in touch with the organizers + +You can use the `/JOIN` command in an IRC client to join a different +channel. Ex: `/join #emacsconf-org` if you want to talk to the +organizers. + +**Without Javascript**: If you prefer to avoid +Javascript, you can still ask your questions via +IRC in the relevant track channel (\#emacsconf-gen +or \#emacsconf-dev). Volunteers will read your +questions out loud during sessions with +web-conference Q&As or copy them into the Etherpad +for you. If we miss your question because the +discussion is very busy, we'll catch it afterwards +and send it to the speaker. + +**Videos**: Pre-recorded talk videos will be +available on the talk pages and [on YouTube](https://youtube.com/@EmacsConf) after the talks go +live, and other videos (including Q&A) will also +be added to the talk pages once we process them. +(Probably by January.) You can subscribe to +`emacsconf-discuss` for updates: +<https://lists.gnu.org/mailman/listinfo/emacsconf-discuss> + +**Accessibility:** Pre-recorded talks will be streamed with open +captions, and the transcripts will be posted to the talk pages as +well. If you have any accessibility requests, please join the +[#emacsconf-org](https://chat.emacsconf.org/?join=emacsconf-org) and +let us know, or e-mail <emacsconf-org-private@gnu.org> to reach the +organizers. diff --git a/2025/watch/dev.md b/2025/watch/dev.md new file mode 100644 index 00000000..934fd97b --- /dev/null +++ b/2025/watch/dev.md @@ -0,0 +1,94 @@ +<!-- Automatically generated by emacsconf-publish-watch-pages --> +<!-- +[[!inline pages="internal(2025/watch/announce)" raw="yes"]] +[[!meta title="Development stream"]] +[[!sidebar content=""]] --> + +<hr size="1"> +<div><a name="watch"></a><strong>Watch</strong> - <a href="#links">Pad and Q&A links</a> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <a href="/2025/watch/gen/">General</a> - <strong>Development</strong> | <a href="https://emacsconf.org/2025/watch/">Tips for watching/participating</a></div> + +For better performance, we recommend watching <a href="https://live0.emacsconf.org/dev.webm">https://live0.emacsconf.org/dev.webm</a> using a streaming media player. Examples: + +<ul> +<li>mpv https://live0.emacsconf.org/dev.webm</li> +<li>vlc https://live0.emacsconf.org/dev.webm</li> +<li>ffplay https://live0.emacsconf.org/dev.webm</li> +<li>You can also watch it in VLC by choosing menu - Media - Open Network Stream and putting in https://live0.emacsconf.org/dev.webm</li> +</ul> + +If you have limited bandwidth, you can watch the low-res stream <a href="https://live0.emacsconf.org/dev-480p.webm">https://live0.emacsconf.org/dev-480p.webm</a>. + +If you don't have a streaming media player, you might be able to watch using the player below. (Google Chrome seems to be having issues; Mozilla Firefox might work better. If watching from a phone, Google Chrome seems to work there, or download VLC from your phone's app store and use the URLs like https://live0.emacsconf.org/dev.webm .) + +<video controls class="reload"><source src="https://live0.emacsconf.org/dev.webm" type="video/webm" /></video> + +<hr size="1"><div><a name="links"></a><a href="#watch">Watch</a> - <strong>Pad and Q&A links</strong> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <a href="/2025/watch/gen/">General</a> - <strong>Development</strong></div><div><span><a href="https://emacsconf.org/2025/talks/schemacs">schemacs</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-schemacs">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-schemacs.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/juicemacs">juicemacs</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-juicemacs">pad</a>, <a href="https://pad.emacsconf.org/2025-juicemacs">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/swanky">swanky</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-swanky">pad</a>, none)</span> - <span><a href="https://emacsconf.org/2025/talks/python">python</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-python">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-python.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/llm">llm</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-llm">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-llm.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/private-ai">private-ai</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-private-ai">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-private-ai.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/commonlisp">commonlisp</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-commonlisp">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">#emacsconf-dev, speaker nick: screwlisp</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/graphics">graphics</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-graphics">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-graphics.html">BBB</a>)</span></div> +<div class="pad-output"></div> +<hr size="1"><div><a name="chat"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&A links</a> - <strong>Chat</strong> - <a href="#sched">Schedule</a> | Tracks: <a href="/2025/watch/gen/">General</a> - <strong>Development</strong></div><div>Chat: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-gen,emacsconf-dev">emacsconf-dev</a> on libera.chat</div> + +<div class="chat-iframe" data-track="dev"></div> +<iframe src="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-gen,emacsconf-dev" height="600" width="100%"></iframe> +<hr size="1"><div><a name="sched"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&A links</a> - <a href="#chat">Chat</a> - <strong>Schedule</strong> | Tracks: <a href="/2025/watch/gen/">General</a> - <strong>Development</strong></div> +<ul>Legend: +<li>Solid lines: Q&A will be through a BigBlueButton room (you can ask questions there or through IRC/Etherpad)</li> +<li>Dashed lines: Q&A will be over IRC or the Etherpad, or the speaker will follow up afterwards</li></ul> +<div>Times are in Eastern Standard Time (America/Toronto, GMT-5). If you have Javascript enabled, clicking on talk pages should include times in your computer's local time setting.</div> +<div><svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2025/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2025/talks/org-babel" title="Making Org-Babel reactive" data-slug="org-babel"><title> 9:10- 9:20 Making Org-Babel reactive</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-babel</text></g></a><a href="https://emacsconf.org/2025/talks/reference" title="Emacs as a fully-fledged reference manager" data-slug="reference"><title> 9:30- 9:55 Emacs as a fully-fledged reference manager</title><rect x="47" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(84,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reference</text></g></a><a href="https://emacsconf.org/2025/talks/gmail" title="org-gmail: A deep integration of Gmail into your Org Mode" data-slug="gmail"><title>10:15-10:40 org-gmail: A deep integration of Gmail into your Org Mode</title><rect x="117" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gmail</text></g></a><a href="https://emacsconf.org/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title>10:50-11:15 Reading and writing emails in GNU Emacs with Gnus</title><rect x="172" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(209,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="https://emacsconf.org/2025/talks/latex" title="LaTeX export in org-mode: the overhaul" data-slug="latex"><title>11:25-11:45 LaTeX export in org-mode: the overhaul</title><rect x="227" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(256,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">latex</text></g></a><a href="https://emacsconf.org/2025/talks/calc" title="Basic Calc functionality for engineering or electronics" data-slug="calc"><title> 1:00- 1:25 Basic Calc functionality for engineering or electronics</title><rect x="376" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(413,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">calc</text></g></a><a href="https://emacsconf.org/2025/talks/blee-lcnt" title="Blee-LCNT: An Emacs-centered content production and self-publication framework" data-slug="blee-lcnt"><title> 1:35- 2:15 Blee-LCNT: An Emacs-centered content production and self-publication framework</title><rect x="431" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(491,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee-lcnt</text></g></a><a href="https://emacsconf.org/2025/talks/greader" title="GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence" data-slug="greader"><title> 2:35- 2:40 GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence</title><rect x="525" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(530,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">greader</text></g></a><a href="https://emacsconf.org/2025/talks/open-mic" title="Open session" data-slug="open-mic"><title> 2:50- 3:40 Open session</title><rect x="549" y="15" opacity="0.8" width="78" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(625,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">open-mic</text></g></a><a href="https://emacsconf.org/2025/talks/sat-close" title="Saturday closing remarks / open session" data-slug="sat-close"><title> 4:00- 4:10 Saturday closing remarks / open session</title><rect x="658" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(671,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2025/talks/schemacs" title="One year progress update Schemacs (formerly Gypsum)" data-slug="schemacs"><title> 9:30- 9:55 One year progress update Schemacs (formerly Gypsum)</title><rect x="47" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(84,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">schemacs</text></g></a><a href="https://emacsconf.org/2025/talks/juicemacs" title="Juicemacs: exploring speculative JIT compilation for ELisp in Java" data-slug="juicemacs"><title>10:15-10:35 Juicemacs: exploring speculative JIT compilation for ELisp in Java</title><rect x="117" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(146,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">juicemacs</text></g></a><a href="https://emacsconf.org/2025/talks/swanky" title="Swanky Python: Interactive development for Python" data-slug="swanky"><title>10:45-11:10 Swanky Python: Interactive development for Python</title><rect x="164" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(201,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">swanky</text></g></a><a href="https://emacsconf.org/2025/talks/python" title="Interactive Python programming in Emacs" data-slug="python"><title>11:20-11:40 Interactive Python programming in Emacs</title><rect x="219" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(248,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">python</text></g></a><a href="https://emacsconf.org/2025/talks/llm" title="Emacs, editors, and LLM driven workflows" data-slug="llm"><title> 1:00- 1:25 Emacs, editors, and LLM driven workflows</title><rect x="376" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(413,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">llm</text></g></a><a href="https://emacsconf.org/2025/talks/private-ai" title="Emacs and private AI: a great match" data-slug="private-ai"><title> 1:45- 2:05 Emacs and private AI: a great match</title><rect x="447" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(476,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">private-ai</text></g></a><a href="https://emacsconf.org/2025/talks/commonlisp" title="Common Lisp images communicating like-a-human through shared Emacs slime and eev" data-slug="commonlisp"><title> 2:25- 2:55 Common Lisp images communicating like-a-human through shared Emacs slime and eev</title><rect x="509" y="75" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(554,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">commonlisp</text></g></a><a href="https://emacsconf.org/2025/talks/graphics" title="Modern Emacs/Elisp hardware/software accelerated graphics" data-slug="graphics"><title> 3:05- 3:30 Modern Emacs/Elisp hardware/software accelerated graphics</title><rect x="572" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(609,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">graphics</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:10- 9:30 Some problems of modernizing Emacs</title><rect x="15" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(44,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="https://emacsconf.org/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title> 9:40-10:15 An introduction to the Emacs Reader</title><rect x="62" y="15" opacity="0.8" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(114,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="https://emacsconf.org/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title>10:35-10:45 Weightlifting tracking with Emacs on Android</title><rect x="149" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(162,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="https://emacsconf.org/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:05-11:25 corfu+yasnippet: Easier than I thought</title><rect x="196" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(225,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="https://emacsconf.org/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:25 Zettelkasten for regular Emacs hackers</title><rect x="376" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(413,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="https://emacsconf.org/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:45- 2:15 Questions and answers to help you fly with Hyperbole</title><rect x="447" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(492,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="https://emacsconf.org/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:15- 2:35 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="494" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(523,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="https://emacsconf.org/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 2:45- 3:20 Bookclub tapas</title><rect x="541" y="15" opacity="0.8" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(593,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="https://emacsconf.org/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="627" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(640,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></g></svg></div> +<div><h1>Saturday, Dec 6, 2025</h1> +<div data-start="2025-12-06T14:30:00+0000" data-end="2025-12-06T14:55:00+0000" class="sched-entry track-Development"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:30</span> - <span class="sched-end">9:55</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-schemacs">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-schemacs.html">BBB</a></span>; <span class="sched-slug">id:schemacs</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/schemacs">One year progress update Schemacs (formerly Gypsum)</a></div> + <div class="sched-speakers">Ramin Honary (he/him)</div> + +</div> + +<div data-start="2025-12-06T15:15:00+0000" data-end="2025-12-06T15:35:00+0000" class="sched-entry track-Development"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:15</span> - <span class="sched-end">10:35</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-juicemacs">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://pad.emacsconf.org/2025-juicemacs">Etherpad</a></span>; <span class="sched-slug">id:juicemacs</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/juicemacs">Juicemacs: exploring speculative JIT compilation for ELisp in Java</a></div> + <div class="sched-speakers">Kana (they/them)</div> + +</div> + +<div data-start="2025-12-06T15:45:00+0000" data-end="2025-12-06T16:10:00+0000" class="sched-entry track-Development"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:45</span> - <span class="sched-end">11:10</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-swanky">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: none</span>; <span class="sched-slug">id:swanky</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/swanky">Swanky Python: Interactive development for Python</a></div> + <div class="sched-speakers">Scott Zimmermann (he/him)</div> + +</div> + +<div data-start="2025-12-06T16:20:00+0000" data-end="2025-12-06T16:40:00+0000" class="sched-entry track-Development"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">11:20</span> - <span class="sched-end">11:40</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-python">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-python.html">BBB</a></span>; <span class="sched-slug">id:python</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/python">Interactive Python programming in Emacs</a></div> + <div class="sched-speakers">David Vujic (he/him)</div> + +</div> + +<div data-start="2025-12-06T18:00:00+0000" data-end="2025-12-06T18:25:00+0000" class="sched-entry track-Development"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:00</span> - <span class="sched-end">1:25</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-llm">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-llm.html">BBB</a></span>; <span class="sched-slug">id:llm</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/llm">Emacs, editors, and LLM driven workflows</a></div> + <div class="sched-speakers">Andrew Hyatt (he/him)</div> + +</div> + +<div data-start="2025-12-06T18:45:00+0000" data-end="2025-12-06T19:05:00+0000" class="sched-entry track-Development"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:45</span> - <span class="sched-end">2:05</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-private-ai">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-private-ai.html">BBB</a></span>; <span class="sched-slug">id:private-ai</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/private-ai">Emacs and private AI: a great match</a></div> + <div class="sched-speakers">Aaron Grothe (he/him)</div> + +</div> + +<div data-start="2025-12-06T19:25:00+0000" data-end="2025-12-06T19:55:00+0000" class="sched-entry track-Development"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">2:25</span> - <span class="sched-end">2:55</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-commonlisp">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev">#emacsconf-dev, speaker nick: screwlisp</a></span>; <span class="sched-slug">id:commonlisp</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/commonlisp">Common Lisp images communicating like-a-human through shared Emacs slime and eev</a></div> + <div class="sched-speakers">screwlisp (he/him, they/them)</div> + +</div> + +<div data-start="2025-12-06T20:05:00+0000" data-end="2025-12-06T20:30:00+0000" class="sched-entry track-Development"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:05</span> - <span class="sched-end">3:30</span></span> <span class="sched-track Development">Development</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-graphics">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-graphics.html">BBB</a></span>; <span class="sched-slug">id:graphics</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/graphics">Modern Emacs/Elisp hardware/software accelerated graphics</a></div> + <div class="sched-speakers">Emanuel Berg (he/him)</div> + +</div> + +</div> diff --git a/2025/watch/gen.md b/2025/watch/gen.md new file mode 100644 index 00000000..73152da1 --- /dev/null +++ b/2025/watch/gen.md @@ -0,0 +1,186 @@ +<!-- Automatically generated by emacsconf-publish-watch-pages --> +<!-- +[[!inline pages="internal(2025/watch/announce)" raw="yes"]] +[[!meta title="General stream"]] +[[!sidebar content=""]] --> + +<hr size="1"> +<div><a name="watch"></a><strong>Watch</strong> - <a href="#links">Pad and Q&A links</a> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <strong>General</strong> - <a href="/2025/watch/dev/">Development</a> | <a href="https://emacsconf.org/2025/watch/">Tips for watching/participating</a></div> + +For better performance, we recommend watching <a href="https://live0.emacsconf.org/gen.webm">https://live0.emacsconf.org/gen.webm</a> using a streaming media player. Examples: + +<ul> +<li>mpv https://live0.emacsconf.org/gen.webm</li> +<li>vlc https://live0.emacsconf.org/gen.webm</li> +<li>ffplay https://live0.emacsconf.org/gen.webm</li> +<li>You can also watch it in VLC by choosing menu - Media - Open Network Stream and putting in https://live0.emacsconf.org/gen.webm</li> +</ul> + +If you have limited bandwidth, you can watch the low-res stream <a href="https://live0.emacsconf.org/gen-480p.webm">https://live0.emacsconf.org/gen-480p.webm</a>. + +If you don't have a streaming media player, you might be able to watch using the player below. (Google Chrome seems to be having issues; Mozilla Firefox might work better. If watching from a phone, Google Chrome seems to work there, or download VLC from your phone's app store and use the URLs like https://live0.emacsconf.org/gen.webm .) + +<video controls class="reload"><source src="https://live0.emacsconf.org/gen.webm" type="video/webm" /></video> + +<hr size="1"><div><a name="links"></a><a href="#watch">Watch</a> - <strong>Pad and Q&A links</strong> - <a href="#chat">Chat</a> - <a href="#sched">Schedule</a> | Tracks: <strong>General</strong> - <a href="/2025/watch/dev/">Development</a></div><div><span><a href="https://emacsconf.org/2025/talks/sat-open">sat-open</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-sat-open">pad</a>, <a href="https://pad.emacsconf.org/2025-sat-open">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/org-babel">org-babel</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-org-babel">pad</a>, <a href="https://pad.emacsconf.org/2025-org-babel">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/reference">reference</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-reference">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-reference.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/gmail">gmail</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-gmail">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-gmail.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/gnus">gnus</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-gnus">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-gnus.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/latex">latex</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-latex">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-latex.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/calc">calc</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-calc">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen, speaker nick: lispmacs or lispmacs[work]</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/blee-lcnt">blee-lcnt</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-blee-lcnt">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-blee-lcnt.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/greader">greader</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-greader">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen, speaker nick: cow_2001</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/open-mic">open-mic</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-open-mic">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-open-mic.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/sat-close">sat-close</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-sat-close">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-sat-close.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/sun-open">sun-open</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-sun-open">pad</a>, <a href="https://pad.emacsconf.org/2025-sun-open">Etherpad</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/modern">modern</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-modern">pad</a>, <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen, speaker nick: edrx</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/reader">reader</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-reader">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-reader.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/weights">weights</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-weights">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-weights.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/completion">completion</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-completion">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-completion.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/zettelkasten">zettelkasten</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-zettelkasten">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-zettelkasten.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/hyperboleqa">hyperboleqa</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-hyperboleqa">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-hyperboleqa.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/gardening">gardening</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-gardening">pad</a>, none)</span> - <span><a href="https://emacsconf.org/2025/talks/bookclub-tapas">bookclub-tapas</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-bookclub-tapas">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-bookclub-tapas.html">BBB</a>)</span> - <span><a href="https://emacsconf.org/2025/talks/sun-close">sun-close</a> (<a class="pad-link" href="https://pad.emacsconf.org/2025-sun-close">pad</a>, <a href="https://media.emacsconf.org/2025/current/bbb-sun-close.html">BBB</a>)</span></div> +<div class="pad-output"></div> +<hr size="1"><div><a name="chat"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&A links</a> - <strong>Chat</strong> - <a href="#sched">Schedule</a> | Tracks: <strong>General</strong> - <a href="/2025/watch/dev/">Development</a></div><div>Chat: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-dev,emacsconf-gen">emacsconf-gen</a> on libera.chat</div> + +<div class="chat-iframe" data-track="gen"></div> +<iframe src="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-dev,emacsconf-gen" height="600" width="100%"></iframe> +<hr size="1"><div><a name="sched"></a><a href="#watch">Watch</a> - <a href="#links">Pad and Q&A links</a> - <a href="#chat">Chat</a> - <strong>Schedule</strong> | Tracks: <strong>General</strong> - <a href="/2025/watch/dev/">Development</a></div> +<ul>Legend: +<li>Solid lines: Q&A will be through a BigBlueButton room (you can ask questions there or through IRC/Etherpad)</li> +<li>Dashed lines: Q&A will be over IRC or the Etherpad, or the speaker will follow up afterwards</li></ul> +<div>Times are in Eastern Standard Time (America/Toronto, GMT-5). If you have Javascript enabled, clicking on talk pages should include times in your computer's local time setting.</div> +<div><svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2025/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2025/talks/org-babel" title="Making Org-Babel reactive" data-slug="org-babel"><title> 9:10- 9:20 Making Org-Babel reactive</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-babel</text></g></a><a href="https://emacsconf.org/2025/talks/reference" title="Emacs as a fully-fledged reference manager" data-slug="reference"><title> 9:30- 9:55 Emacs as a fully-fledged reference manager</title><rect x="47" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(84,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reference</text></g></a><a href="https://emacsconf.org/2025/talks/gmail" title="org-gmail: A deep integration of Gmail into your Org Mode" data-slug="gmail"><title>10:15-10:40 org-gmail: A deep integration of Gmail into your Org Mode</title><rect x="117" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gmail</text></g></a><a href="https://emacsconf.org/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title>10:50-11:15 Reading and writing emails in GNU Emacs with Gnus</title><rect x="172" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(209,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="https://emacsconf.org/2025/talks/latex" title="LaTeX export in org-mode: the overhaul" data-slug="latex"><title>11:25-11:45 LaTeX export in org-mode: the overhaul</title><rect x="227" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(256,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">latex</text></g></a><a href="https://emacsconf.org/2025/talks/calc" title="Basic Calc functionality for engineering or electronics" data-slug="calc"><title> 1:00- 1:25 Basic Calc functionality for engineering or electronics</title><rect x="376" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(413,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">calc</text></g></a><a href="https://emacsconf.org/2025/talks/blee-lcnt" title="Blee-LCNT: An Emacs-centered content production and self-publication framework" data-slug="blee-lcnt"><title> 1:35- 2:15 Blee-LCNT: An Emacs-centered content production and self-publication framework</title><rect x="431" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(491,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee-lcnt</text></g></a><a href="https://emacsconf.org/2025/talks/greader" title="GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence" data-slug="greader"><title> 2:35- 2:40 GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence</title><rect x="525" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(530,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">greader</text></g></a><a href="https://emacsconf.org/2025/talks/open-mic" title="Open session" data-slug="open-mic"><title> 2:50- 3:40 Open session</title><rect x="549" y="15" opacity="0.8" width="78" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(625,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">open-mic</text></g></a><a href="https://emacsconf.org/2025/talks/sat-close" title="Saturday closing remarks / open session" data-slug="sat-close"><title> 4:00- 4:10 Saturday closing remarks / open session</title><rect x="658" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(671,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2025/talks/schemacs" title="One year progress update Schemacs (formerly Gypsum)" data-slug="schemacs"><title> 9:30- 9:55 One year progress update Schemacs (formerly Gypsum)</title><rect x="47" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(84,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">schemacs</text></g></a><a href="https://emacsconf.org/2025/talks/juicemacs" title="Juicemacs: exploring speculative JIT compilation for ELisp in Java" data-slug="juicemacs"><title>10:15-10:35 Juicemacs: exploring speculative JIT compilation for ELisp in Java</title><rect x="117" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(146,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">juicemacs</text></g></a><a href="https://emacsconf.org/2025/talks/swanky" title="Swanky Python: Interactive development for Python" data-slug="swanky"><title>10:45-11:10 Swanky Python: Interactive development for Python</title><rect x="164" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(201,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">swanky</text></g></a><a href="https://emacsconf.org/2025/talks/python" title="Interactive Python programming in Emacs" data-slug="python"><title>11:20-11:40 Interactive Python programming in Emacs</title><rect x="219" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(248,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">python</text></g></a><a href="https://emacsconf.org/2025/talks/llm" title="Emacs, editors, and LLM driven workflows" data-slug="llm"><title> 1:00- 1:25 Emacs, editors, and LLM driven workflows</title><rect x="376" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(413,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">llm</text></g></a><a href="https://emacsconf.org/2025/talks/private-ai" title="Emacs and private AI: a great match" data-slug="private-ai"><title> 1:45- 2:05 Emacs and private AI: a great match</title><rect x="447" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(476,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">private-ai</text></g></a><a href="https://emacsconf.org/2025/talks/commonlisp" title="Common Lisp images communicating like-a-human through shared Emacs slime and eev" data-slug="commonlisp"><title> 2:25- 2:55 Common Lisp images communicating like-a-human through shared Emacs slime and eev</title><rect x="509" y="75" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(554,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">commonlisp</text></g></a><a href="https://emacsconf.org/2025/talks/graphics" title="Modern Emacs/Elisp hardware/software accelerated graphics" data-slug="graphics"><title> 3:05- 3:30 Modern Emacs/Elisp hardware/software accelerated graphics</title><rect x="572" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(609,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">graphics</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:10- 9:30 Some problems of modernizing Emacs</title><rect x="15" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(44,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="https://emacsconf.org/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title> 9:40-10:15 An introduction to the Emacs Reader</title><rect x="62" y="15" opacity="0.8" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(114,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="https://emacsconf.org/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title>10:35-10:45 Weightlifting tracking with Emacs on Android</title><rect x="149" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(162,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="https://emacsconf.org/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:05-11:25 corfu+yasnippet: Easier than I thought</title><rect x="196" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(225,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="https://emacsconf.org/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:25 Zettelkasten for regular Emacs hackers</title><rect x="376" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(413,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="https://emacsconf.org/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:45- 2:15 Questions and answers to help you fly with Hyperbole</title><rect x="447" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(492,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="https://emacsconf.org/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:15- 2:35 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="494" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(523,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="https://emacsconf.org/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 2:45- 3:20 Bookclub tapas</title><rect x="541" y="15" opacity="0.8" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(593,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="https://emacsconf.org/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="627" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(640,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></g></svg></div> +<div><h1>Saturday, Dec 6, 2025</h1> +<div data-start="2025-12-06T14:00:00+0000" data-end="2025-12-06T14:10:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:00</span> - <span class="sched-end">9:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-sat-open">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://pad.emacsconf.org/2025-sat-open">Etherpad</a></span>; <span class="sched-slug">id:sat-open</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/sat-open">Saturday opening remarks</a></div> + <div class="sched-speakers">Sacha Chua</div> + +</div> + +<div data-start="2025-12-06T14:10:00+0000" data-end="2025-12-06T14:20:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:10</span> - <span class="sched-end">9:20</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-org-babel">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://pad.emacsconf.org/2025-org-babel">Etherpad</a></span>; <span class="sched-slug">id:org-babel</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/org-babel">Making Org-Babel reactive</a></div> + <div class="sched-speakers">Abhinav Tushar (he/him)</div> + +</div> + +<div data-start="2025-12-06T14:30:00+0000" data-end="2025-12-06T14:55:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:30</span> - <span class="sched-end">9:55</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-reference">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-reference.html">BBB</a></span>; <span class="sched-slug">id:reference</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/reference">Emacs as a fully-fledged reference manager</a></div> + <div class="sched-speakers">Vidianos Giannitsis (he/him)</div> + +</div> + +<div data-start="2025-12-06T15:15:00+0000" data-end="2025-12-06T15:40:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:15</span> - <span class="sched-end">10:40</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-gmail">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-gmail.html">BBB</a></span>; <span class="sched-slug">id:gmail</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/gmail">org-gmail: A deep integration of Gmail into your Org Mode</a></div> + <div class="sched-speakers">Bala Ramadurai (he/him)</div> + +</div> + +<div data-start="2025-12-06T15:50:00+0000" data-end="2025-12-06T16:15:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:50</span> - <span class="sched-end">11:15</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-gnus">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-gnus.html">BBB</a></span>; <span class="sched-slug">id:gnus</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/gnus">Reading and writing emails in GNU Emacs with Gnus</a></div> + <div class="sched-speakers">Amin Bandali (he/him)</div> + +</div> + +<div data-start="2025-12-06T16:25:00+0000" data-end="2025-12-06T16:45:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">11:25</span> - <span class="sched-end">11:45</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-latex">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-latex.html">BBB</a></span>; <span class="sched-slug">id:latex</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/latex">LaTeX export in org-mode: the overhaul</a></div> + <div class="sched-speakers">Pedro A. Aranda Gutiérrez (he, him)</div> + +</div> + +<div data-start="2025-12-06T18:00:00+0000" data-end="2025-12-06T18:25:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:00</span> - <span class="sched-end">1:25</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-calc">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen, speaker nick: lispmacs or lispmacs[work]</a></span>; <span class="sched-slug">id:calc</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/calc">Basic Calc functionality for engineering or electronics</a></div> + <div class="sched-speakers">Christopher Howard (he/him)</div> + +</div> + +<div data-start="2025-12-06T18:35:00+0000" data-end="2025-12-06T19:15:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:35</span> - <span class="sched-end">2:15</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-blee-lcnt">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-blee-lcnt.html">BBB</a></span>; <span class="sched-slug">id:blee-lcnt</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/blee-lcnt">Blee-LCNT: An Emacs-centered content production and self-publication framework</a></div> + <div class="sched-speakers">Mohsen BANAN (he/him)</div> + +</div> + +<div data-start="2025-12-06T19:35:00+0000" data-end="2025-12-06T19:40:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">2:35</span> - <span class="sched-end">2:40</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-greader">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen, speaker nick: cow_2001</a></span>; <span class="sched-slug">id:greader</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/greader">GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence</a></div> + <div class="sched-speakers">Yuval Langer (he/him)</div> + +</div> + +<div data-start="2025-12-06T19:50:00+0000" data-end="2025-12-06T20:40:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">2:50</span> - <span class="sched-end">3:40</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-open-mic">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-open-mic.html">BBB</a></span>; <span class="sched-slug">id:open-mic</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/open-mic">Open session</a></div> + <div class="sched-speakers">Participants</div> + +</div> + +<div data-start="2025-12-06T21:00:00+0000" data-end="2025-12-06T21:10:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">4:00</span> - <span class="sched-end">4:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-sat-close">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-sat-close.html">BBB</a></span>; <span class="sched-slug">id:sat-close</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/sat-close">Saturday closing remarks / open session</a></div> + + +</div> + +<h1>Sunday, Dec 7, 2025</h1> +<div data-start="2025-12-07T14:00:00+0000" data-end="2025-12-07T14:10:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:00</span> - <span class="sched-end">9:10</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-sun-open">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://pad.emacsconf.org/2025-sun-open">Etherpad</a></span>; <span class="sched-slug">id:sun-open</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/sun-open">Sunday opening remarks</a></div> + <div class="sched-speakers">Sacha Chua</div> + +</div> + +<div data-start="2025-12-07T14:10:00+0000" data-end="2025-12-07T14:30:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:10</span> - <span class="sched-end">9:30</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-modern">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-gen">#emacsconf-gen, speaker nick: edrx</a></span>; <span class="sched-slug">id:modern</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/modern">Some problems of modernizing Emacs</a></div> + <div class="sched-speakers">Eduardo Ochs (he/him)</div> + +</div> + +<div data-start="2025-12-07T14:40:00+0000" data-end="2025-12-07T15:15:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">9:40</span> - <span class="sched-end">10:15</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-reader">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-reader.html">BBB</a></span>; <span class="sched-slug">id:reader</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/reader">An introduction to the Emacs Reader</a></div> + <div class="sched-speakers">Divyá</div> + +</div> + +<div data-start="2025-12-07T15:35:00+0000" data-end="2025-12-07T15:45:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">10:35</span> - <span class="sched-end">10:45</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-weights">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-weights.html">BBB</a></span>; <span class="sched-slug">id:weights</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/weights">Weightlifting tracking with Emacs on Android</a></div> + <div class="sched-speakers">Zachary Romero</div> + +</div> + +<div data-start="2025-12-07T16:05:00+0000" data-end="2025-12-07T16:25:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">11:05</span> - <span class="sched-end">11:25</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-completion">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-completion.html">BBB</a></span>; <span class="sched-slug">id:completion</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/completion">corfu+yasnippet: Easier than I thought</a></div> + <div class="sched-speakers">Pedro A. Aranda Gutiérrez (he, him)</div> + +</div> + +<div data-start="2025-12-07T18:00:00+0000" data-end="2025-12-07T18:25:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:00</span> - <span class="sched-end">1:25</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-zettelkasten">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-zettelkasten.html">BBB</a></span>; <span class="sched-slug">id:zettelkasten</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/zettelkasten">Zettelkasten for regular Emacs hackers</a></div> + <div class="sched-speakers">Christian Tietze (he)</div> + +</div> + +<div data-start="2025-12-07T18:45:00+0000" data-end="2025-12-07T19:15:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">1:45</span> - <span class="sched-end">2:15</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-hyperboleqa">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-hyperboleqa.html">BBB</a></span>; <span class="sched-slug">id:hyperboleqa</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/hyperboleqa">Questions and answers to help you fly with Hyperbole</a></div> + <div class="sched-speakers">Bob Weiner</div> + +</div> + +<div data-start="2025-12-07T19:15:00+0000" data-end="2025-12-07T19:35:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">2:15</span> - <span class="sched-end">2:35</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-gardening">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: none</span>; <span class="sched-slug">id:gardening</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/gardening">Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</a></div> + <div class="sched-speakers">Marco Bresciani</div> + +</div> + +<div data-start="2025-12-07T19:45:00+0000" data-end="2025-12-07T20:20:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">2:45</span> - <span class="sched-end">3:20</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-bookclub-tapas">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-bookclub-tapas.html">BBB</a></span>; <span class="sched-slug">id:bookclub-tapas</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/bookclub-tapas">Bookclub tapas</a></div> + <div class="sched-speakers">Maddie Sullivan (she/her)</div> + +</div> + +<div data-start="2025-12-07T20:40:00+0000" data-end="2025-12-07T20:50:00+0000" class="sched-entry track-General"> +<div class="sched-meta"><span class="sched-time"><span class="sched-start">3:40</span> - <span class="sched-end">3:50</span></span> <span class="sched-track General">General</span> <span class="sched-pad"> <a href="https://pad.emacsconf.org/2025-sun-close">Etherpad</a></span>; <span class="sched-q-and-a">Q&A: <a href="https://media.emacsconf.org/2025/current/bbb-sun-close.html">BBB</a></span>; <span class="sched-slug">id:sun-close</span></div> +<div class="sched-title"><a href="https://emacsconf.org/2025/talks/sun-close">Sunday closing remarks</a></div> + + +</div> + +</div> diff --git a/2025/watch/info.md b/2025/watch/info.md new file mode 100644 index 00000000..557b1dfd --- /dev/null +++ b/2025/watch/info.md @@ -0,0 +1,11 @@ +[[!sidebar content=""]]<!-- Automatically generated by emacsconf-publish-watch-pages --> + +<h2>Tracks</h2> +We recommend using a streaming player like mpv to watch the livestreams. Example: <pre> +mpv https://live0.emacsconf.org/gen.webm +mpv https://live0.emacsconf.org/dev.webm +</pre><table width="100%"><tr><th>Watch page</th><th>Watch page (low-res)</th><th>IRC channel (libera.chat)</th><th>URL for streaming player (ex: mpv, vlc, ffplay)</th><th>Low res</th></tr> +<tr><td><div class="sched-track General"><a href="https://live.emacsconf.org/2025/watch/gen/">General</a></div></td><td><a href="https://live.emacsconf.org/2025/watch/gen-480p/">General (low-res)</a></td><td><a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-dev,emacsconf-gen">emacsconf-gen</a></td><td><a href="https://live0.emacsconf.org/gen.webm">https://live0.emacsconf.org/gen.webm</a></td><td><a href="https://live0.emacsconf.org/gen-480p.webm">gen-480p.webm</a></tr> +<tr><td><div class="sched-track Development"><a href="https://live.emacsconf.org/2025/watch/dev/">Development</a></div></td><td><a href="https://live.emacsconf.org/2025/watch/dev-480p/">Development (low-res)</a></td><td><a href="https://chat.emacsconf.org/?join=emacsconf,emacsconf-org,emacsconf-accessible,emacsconf-gen,emacsconf-dev">emacsconf-dev</a></td><td><a href="https://live0.emacsconf.org/dev.webm">https://live0.emacsconf.org/dev.webm</a></td><td><a href="https://live0.emacsconf.org/dev-480p.webm">dev-480p.webm</a></tr></table> + +<svg width="800" height="300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Graphical view of the schedule</title><g transform="translate(0,0)"><title>Schedule for Saturday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Saturday</text><a href="https://emacsconf.org/2025/talks/sat-open" title="Saturday opening remarks" data-slug="sat-open"><title> 9:00- 9:10 Saturday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-open</text></g></a><a href="https://emacsconf.org/2025/talks/org-babel" title="Making Org-Babel reactive" data-slug="org-babel"><title> 9:10- 9:20 Making Org-Babel reactive</title><rect x="15" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(28,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">org-babel</text></g></a><a href="https://emacsconf.org/2025/talks/reference" title="Emacs as a fully-fledged reference manager" data-slug="reference"><title> 9:30- 9:55 Emacs as a fully-fledged reference manager</title><rect x="47" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(84,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reference</text></g></a><a href="https://emacsconf.org/2025/talks/gmail" title="org-gmail: A deep integration of Gmail into your Org Mode" data-slug="gmail"><title>10:15-10:40 org-gmail: A deep integration of Gmail into your Org Mode</title><rect x="117" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(154,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gmail</text></g></a><a href="https://emacsconf.org/2025/talks/gnus" title="Reading and writing emails in GNU Emacs with Gnus" data-slug="gnus"><title>10:50-11:15 Reading and writing emails in GNU Emacs with Gnus</title><rect x="172" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(209,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gnus</text></g></a><a href="https://emacsconf.org/2025/talks/latex" title="LaTeX export in org-mode: the overhaul" data-slug="latex"><title>11:25-11:45 LaTeX export in org-mode: the overhaul</title><rect x="227" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(256,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">latex</text></g></a><a href="https://emacsconf.org/2025/talks/calc" title="Basic Calc functionality for engineering or electronics" data-slug="calc"><title> 1:00- 1:25 Basic Calc functionality for engineering or electronics</title><rect x="376" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(413,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">calc</text></g></a><a href="https://emacsconf.org/2025/talks/blee-lcnt" title="Blee-LCNT: An Emacs-centered content production and self-publication framework" data-slug="blee-lcnt"><title> 1:35- 2:15 Blee-LCNT: An Emacs-centered content production and self-publication framework</title><rect x="431" y="15" opacity="0.8" width="62" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(491,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">blee-lcnt</text></g></a><a href="https://emacsconf.org/2025/talks/greader" title="GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence" data-slug="greader"><title> 2:35- 2:40 GNU Emacs Greader (Gnamù Reader) mode is the best Emacs mode in existence</title><rect x="525" y="15" opacity="0.8" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(530,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">greader</text></g></a><a href="https://emacsconf.org/2025/talks/open-mic" title="Open session" data-slug="open-mic"><title> 2:50- 3:40 Open session</title><rect x="549" y="15" opacity="0.8" width="78" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(625,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">open-mic</text></g></a><a href="https://emacsconf.org/2025/talks/sat-close" title="Saturday closing remarks / open session" data-slug="sat-close"><title> 4:00- 4:10 Saturday closing remarks / open session</title><rect x="658" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(671,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sat-close</text></g></a><a href="https://emacsconf.org/2025/talks/schemacs" title="One year progress update Schemacs (formerly Gypsum)" data-slug="schemacs"><title> 9:30- 9:55 One year progress update Schemacs (formerly Gypsum)</title><rect x="47" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(84,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">schemacs</text></g></a><a href="https://emacsconf.org/2025/talks/juicemacs" title="Juicemacs: exploring speculative JIT compilation for ELisp in Java" data-slug="juicemacs"><title>10:15-10:35 Juicemacs: exploring speculative JIT compilation for ELisp in Java</title><rect x="117" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(146,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">juicemacs</text></g></a><a href="https://emacsconf.org/2025/talks/swanky" title="Swanky Python: Interactive development for Python" data-slug="swanky"><title>10:45-11:10 Swanky Python: Interactive development for Python</title><rect x="164" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(201,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">swanky</text></g></a><a href="https://emacsconf.org/2025/talks/python" title="Interactive Python programming in Emacs" data-slug="python"><title>11:20-11:40 Interactive Python programming in Emacs</title><rect x="219" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(248,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">python</text></g></a><a href="https://emacsconf.org/2025/talks/llm" title="Emacs, editors, and LLM driven workflows" data-slug="llm"><title> 1:00- 1:25 Emacs, editors, and LLM driven workflows</title><rect x="376" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(413,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">llm</text></g></a><a href="https://emacsconf.org/2025/talks/private-ai" title="Emacs and private AI: a great match" data-slug="private-ai"><title> 1:45- 2:05 Emacs and private AI: a great match</title><rect x="447" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(476,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">private-ai</text></g></a><a href="https://emacsconf.org/2025/talks/commonlisp" title="Common Lisp images communicating like-a-human through shared Emacs slime and eev" data-slug="commonlisp"><title> 2:25- 2:55 Common Lisp images communicating like-a-human through shared Emacs slime and eev</title><rect x="509" y="75" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect><g transform="translate(554,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">commonlisp</text></g></a><a href="https://emacsconf.org/2025/talks/graphics" title="Modern Emacs/Elisp hardware/software accelerated graphics" data-slug="graphics"><title> 3:05- 3:30 Modern Emacs/Elisp hardware/software accelerated graphics</title><rect x="572" y="75" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect><g transform="translate(609,133)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">graphics</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></g><g transform="translate(0,150)"><title>Schedule for Sunday</title><rect width="800" height="150" x="0" y="0" fill="white"></rect><text font-size="10" fill="black" y="12" x="3">Sunday</text><a href="https://emacsconf.org/2025/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"><title> 9:00- 9:10 Sunday opening remarks</title><rect x="0" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(13,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-open</text></g></a><a href="https://emacsconf.org/2025/talks/modern" title="Some problems of modernizing Emacs" data-slug="modern"><title> 9:10- 9:30 Some problems of modernizing Emacs</title><rect x="15" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(44,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">modern</text></g></a><a href="https://emacsconf.org/2025/talks/reader" title="An introduction to the Emacs Reader" data-slug="reader"><title> 9:40-10:15 An introduction to the Emacs Reader</title><rect x="62" y="15" opacity="0.8" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(114,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">reader</text></g></a><a href="https://emacsconf.org/2025/talks/weights" title="Weightlifting tracking with Emacs on Android" data-slug="weights"><title>10:35-10:45 Weightlifting tracking with Emacs on Android</title><rect x="149" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(162,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">weights</text></g></a><a href="https://emacsconf.org/2025/talks/completion" title="corfu+yasnippet: Easier than I thought" data-slug="completion"><title>11:05-11:25 corfu+yasnippet: Easier than I thought</title><rect x="196" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(225,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">completion</text></g></a><a href="https://emacsconf.org/2025/talks/zettelkasten" title="Zettelkasten for regular Emacs hackers" data-slug="zettelkasten"><title> 1:00- 1:25 Zettelkasten for regular Emacs hackers</title><rect x="376" y="15" opacity="0.8" width="39" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(413,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">zettelkasten</text></g></a><a href="https://emacsconf.org/2025/talks/hyperboleqa" title="Questions and answers to help you fly with Hyperbole" data-slug="hyperboleqa"><title> 1:45- 2:15 Questions and answers to help you fly with Hyperbole</title><rect x="447" y="15" opacity="0.8" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(492,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">hyperboleqa</text></g></a><a href="https://emacsconf.org/2025/talks/gardening" title="Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph" data-slug="gardening"><title> 2:15- 2:35 Gardening in Emacs: A Windows user's tale of tending, tweaking, and triumph</title><rect x="494" y="15" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect><g transform="translate(523,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">gardening</text></g></a><a href="https://emacsconf.org/2025/talks/bookclub-tapas" title="Bookclub tapas" data-slug="bookclub-tapas"><title> 2:45- 3:20 Bookclub tapas</title><rect x="541" y="15" opacity="0.8" width="54" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(593,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">bookclub-tapas</text></g></a><a href="https://emacsconf.org/2025/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"><title> 3:40- 3:50 Sunday closing remarks</title><rect x="627" y="15" opacity="0.8" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect><g transform="translate(640,73)"><text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)">sun-close</text></g></a><g transform="translate(0,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">9 AM</text></g><g transform="translate(94,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">10 AM</text></g><g transform="translate(188,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">11 AM</text></g><g transform="translate(282,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">12 PM</text></g><g transform="translate(376,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">1 PM</text></g><g transform="translate(470,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">2 PM</text></g><g transform="translate(564,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">3 PM</text></g><g transform="translate(658,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">4 PM</text></g><g transform="translate(752,3)"><line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line><text fill="black" x="0" y="140" font-size="10" text-anchor="left">5 PM</text></g></g></svg>
\ No newline at end of file |
