summaryrefslogblamecommitdiffstats
path: root/2022/info/dbus-before.md
blob: fac93a6cc11a02a9a36fc141939cdf1e982ea3d9 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
                                                                 













                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
      
 

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

















                                  
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              


     


















                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
             
                                            
<!-- Automatically generated by emacsconf-publish-before-page -->

The following image shows where the talk is in the schedule for Sun 2022-12-04. Solid lines show talks with Q&A via BigBlueButton. Dashed lines show talks with Q&A via IRC or Etherpad.<div class="schedule-in-context schedule-svg-container" data-slug="dbus">
<svg width="800" height="150" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <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="/2022/talks/sun-open" title="Sunday opening remarks" data-slug="sun-open"> <title>  9:00- 9:05 Sunday opening remarks</title> <rect x="0" y="15" opacity="0.5" width="7" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(5,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-open</text></g></a> <a href="/2022/talks/survey" title="Results of the 2022 Emacs Survey" data-slug="survey"> <title>  9:06- 9:26 Results of the 2022 Emacs Survey</title> <rect x="9" y="15" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(38,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> survey</text></g></a> <a href="/2022/talks/orgyear" title="This Year in Org" data-slug="orgyear"> <title>  9:35- 9:45 This Year in Org</title> <rect x="54" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(67,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgyear</text></g></a> <a href="/2022/talks/rolodex" title="Build a Zettelkasten with the Hyperbole Rolodex" data-slug="rolodex"> <title>  9:57-10:22 Build a Zettelkasten with the Hyperbole Rolodex</title> <rect x="89" y="15" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(126,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rolodex</text></g></a> <a href="/2022/talks/orgsuperlinks" title="Linking headings with org-super-links (poor-man's Zettelkasten)" data-slug="orgsuperlinks"> <title> 10:40-10:50 Linking headings with org-super-links (poor-man's Zettelkasten)</title> <rect x="156" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(169,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgsuperlinks</text></g></a> <a href="/2022/talks/orgvm" title="orgvm: a simple HTTP server for org" data-slug="orgvm"> <title> 11:10-11:20 orgvm: a simple HTTP server for org</title> <rect x="203" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(216,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> orgvm</text></g></a> <a href="/2022/talks/hyperorg" title="Powerful productivity with Hyperbole and Org Mode" data-slug="hyperorg"> <title>  1:00- 1:30 Powerful productivity with Hyperbole and Org Mode</title> <rect x="376" y="15" opacity="0.5" width="47" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(421,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> hyperorg</text></g></a> <a href="/2022/talks/workflows" title="Org workflows for developers" data-slug="workflows"> <title>  1:50- 2:15 Org workflows for developers</title> <rect x="454" y="15" opacity="0.5" width="39" 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)"> workflows</text></g></a> <a href="/2022/talks/grail" title="GRAIL---A Generalized Representation and Aggregation of Information Layers" data-slug="grail"> <title>  2:35- 2:55 GRAIL---A Generalized Representation and Aggregation of Information Layers</title> <rect x="525" y="15" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(554,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> grail</text></g></a> <a href="/2022/talks/indieweb" title="Putting Org Mode on the Indieweb" data-slug="indieweb"> <title>  3:25- 3:45 Putting Org Mode on the Indieweb</title> <rect x="603" y="15" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(632,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> indieweb</text></g></a> <a href="/2022/talks/devel" title="Emacs development updates" data-slug="devel"> <title>  4:05- 4:15 Emacs development updates</title> <rect x="666" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="5,5,5" fill="peachpuff"></rect> <g transform="translate(679,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> devel</text></g></a> <a href="/2022/talks/fanfare" title="Fanfare for the Common Emacs User" data-slug="fanfare"> <title>  4:25- 4:35 Fanfare for the Common Emacs User</title> <rect x="698" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(711,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> fanfare</text></g></a> <a href="/2022/talks/sun-close" title="Sunday closing remarks" data-slug="sun-close"> <title>  4:50- 5:00 Sunday closing remarks</title> <rect x="737" y="15" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="peachpuff"></rect> <g transform="translate(750,73)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> sun-close</text></g></a> <a href="/2022/talks/rde" title="rde Emacs introduction" data-slug="rde"> <title> 10:00-10:25 rde Emacs introduction</title> <rect x="94" y="75" opacity="0.5" width="39" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(131,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rde</text></g></a> <a href="/2022/talks/justl" title="justl: Driving recipes within Emacs" data-slug="justl"> <title> 10:50-11:05 justl: Driving recipes within Emacs</title> <rect x="172" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(193,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> justl</text></g></a> <a href="/2022/talks/rms" title="What I'd like to see in Emacs" data-slug="rms"> <title> 11:15-11:35 What I'd like to see in Emacs</title> <rect x="211" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(240,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> rms</text></g></a> <a href="/2022/talks/detached" title="Getting detached from Emacs" data-slug="detached"> <title>  1:01- 1:16 Getting detached from Emacs</title> <rect x="378" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(399,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> detached</text></g></a> <a href="/2022/talks/eshell" title="Top 10 reasons why you should be using Eshell" data-slug="eshell"> <title>  1:40- 1:55 Top 10 reasons why you should be using Eshell</title> <rect x="439" y="75" opacity="0.5" width="23" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(460,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> eshell</text></g></a> <a href="/2022/talks/async" title="Emacs was async before async was cool" data-slug="async"> <title>  2:20- 2:40 Emacs was async before async was cool</title> <rect x="501" y="75" opacity="0.5" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(530,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> async</text></g></a> <a href="/2022/talks/dbus" title="The Wheels on D-Bus" data-slug="dbus"> <title>  3:15- 3:35 The Wheels on D-Bus</title> <rect stroke-width="3" x="588" y="75" opacity="0.8" width="31" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(617,133)"> <text font-weight="bold" fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> dbus</text></g></a> <a href="/2022/talks/localizing" title="Pre-localizing Emacs" data-slug="localizing"> <title>  4:00- 4:10 Pre-localizing Emacs</title> <rect x="658" y="75" opacity="0.5" width="15" height="59" stroke="black" stroke-dasharray="" fill="skyblue"></rect> <g transform="translate(671,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> localizing</text></g></a> <a href="/2022/talks/python" title="Short hyperlinks to Python docs" data-slug="python"> <title>  4:30- 4:35 Short hyperlinks to Python docs</title> <rect x="705" y="75" opacity="0.5" width="7" height="59" stroke="black" stroke-dasharray="5,5,5" fill="skyblue"></rect> <g transform="translate(710,133)"> <text fill="black" x="0" y="0" font-size="10" transform="rotate(-90)"> python</text></g></a> <g transform="translate(0,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 9 AM</text></g> <g transform="translate(94,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 10 AM</text></g> <g transform="translate(188,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 11 AM</text></g> <g transform="translate(282,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 12 PM</text></g> <g transform="translate(376,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 1 PM</text></g> <g transform="translate(470,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 2 PM</text></g> <g transform="translate(564,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 3 PM</text></g> <g transform="translate(658,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 4 PM</text></g> <g transform="translate(752,15)"> <line stroke="darkgray" x1="0" y1="0" x2="0" y2="120"></line> <text fill="black" x="0" y="133" font-size="10" text-anchor="left"> 5 PM</text></g></svg>
</div>

[[!toc  ]]
Format: 16-min talk followed by live Q&A (done)  
Etherpad: <https://pad.emacsconf.org/2022-dbus>  
Discuss on IRC: [#emacsconf-dev](https://chat.emacsconf.org/?join=emacsconf,emacsconf-dev)  
Status: TO_CAPTION_QA  
<div>Times in different timezones:</div><div class="times" start="2022-12-04T20:15:00Z" end="2022-12-04T20:35:00Z"><div class="conf-time">Sunday, Dec 4 2022, ~3:15 PM - 3:35 PM EST (US/Eastern)</div><div class="others"><div>which is the same as:</div>Sunday, Dec 4 2022, ~2:15 PM - 2:35 PM CST (US/Central)<br />Sunday, Dec 4 2022, ~1:15 PM - 1:35 PM MST (US/Mountain)<br />Sunday, Dec 4 2022, ~12:15 PM - 12:35 PM PST (US/Pacific)<br />Sunday, Dec 4 2022, ~8:15 PM - 8:35 PM UTC <br />Sunday, Dec 4 2022, ~9:15 PM - 9:35 PM CET (Europe/Paris)<br />Sunday, Dec 4 2022, ~10:15 PM - 10:35 PM EET (Europe/Athens)<br />Monday, Dec 5 2022, ~1:45 AM - 2:05 AM IST (Asia/Kolkata)<br />Monday, Dec 5 2022, ~4:15 AM - 4:35 AM +08 (Asia/Singapore)<br />Monday, Dec 5 2022, ~5:15 AM - 5:35 AM JST (Asia/Tokyo)</div></div><div><a href="/2022/watch/dev/">Find out how to watch and participate</a></div>



# Talk

<div class="vid"><video controls preload="none" id="dbus-mainVideo"><source src="https://media.emacsconf.org/2022/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2022/captions/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2022/captions/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--main--chapters.vtt" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="dbus-mainVideo" data="""
00:00.000 What is D-Bus?
01:07.880 Why D-Bus?
01:45.360 The D-Bus Model
02:55.360 Well-known Busses
03:20.000 Common interfaces
04:06.240 Emacs Native D-Bus
05:09.320 Debase
05:23.880 Debase: Objects
06:13.440 Debase: Retarget objects
06:51.080 Debase: Object binding
07:12.480 Debase: Raw binding
07:29.400 Debase: Codegen
08:14.200 Debase: Codegen example
09:08.680 Debase: ObjectManager
09:44.480 Demo: Discomfort
11:01.480 Demo: Remote eval
13:16.280 Demo: Remote Org capture
14:11.880 Future directions

"""]]<div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2022/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--main.webm">Download --main.webm (54MB)</a></li><li><a href="https://media.emacsconf.org/2022/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--main.opus">Download --main.opus (11MB)</a></li><li><a href="https://media.emacsconf.org/2022/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--main.org">Download --main.org</a></li><li><a href="https://media.emacsconf.org/2022/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--main.vtt">Download --main.vtt</a></li><li><a href="https://media.emacsconf.org/2022/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://toobnix.org/w/uwgjHJvZF9cv5KcYFZmdNz">View on Toobnix</a></li></ul></div></div>

# Q&A

<div class="vid"><video controls preload="none" id="dbus-qanda"><source src="https://media.emacsconf.org/2022/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--answers.webm" />${captions}<track kind="chapters" label="Chapters" src="/2022/captions/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--answers--chapters.vtt" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="dbus-qanda" data="""
00:46.840 D-Feet graphical debugger
01:37.000 Emacs desktop environment
04:58.160 How long has D-Bus been around, and what was in place before that?
07:48.360 Why is everything D-Bus prefixed with "org."?
08:28.480 Do most OS/desktop environment/window managers interoperate well over D-Bus?
10:08.720 There is a lot of criticism against D-Bus out there. Why do you think that might be?
11:37.560 Which system services come to mind when thinking about applications, be it at the OS/DE/WM level?
12:19.720 When it comes to managing devices, how are D-Bus and udev related?
13:33.280 What is something D-Bus does that you couldn't do before? What is a really cool use of D-Bus in a modern desktop environment?
15:08.880 Can you explain briefly what clients and services can do with properties?
17:49.920 Is there such a thing as a D-Bus reflection browser, maybe Emacs-based, that lets you discover all the behavior different D-Bus app participants provide?
18:17.760 Next question, D-Bus seems great for extensibility, but then Emacs has no such mechanism and is fantastically more extensible. Why do you think this is so?
19:25.200 Do you have any other cool D-Bus ideas?
19:54.640 Are there buses besides system and session? Is there anything more to a bus besides a way to group objects?
22:52.280 What do you use it for?
25:12.480 It looks like dBus is mostly useful for Emacs to do IPC -- IIUC, this is how synctex works when working with LaTeX docs. How does it compare with other ways of doing IPC, for example, communicating over a socket with MPD?

"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="dbus-qanda-audio" src="https://media.emacsconf.org/2022/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--answers.opus"></audio></div><div></div><div class="files resources"><ul><li><a href="https://media.emacsconf.org/2022/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--answers.webm">Download --answers.webm (18MB)</a></li><li><a href="https://media.emacsconf.org/2022/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--answers.vtt">Download --answers.vtt</a></li><li><a href="https://media.emacsconf.org/2022/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2022/emacsconf-2022-dbus--the-wheels-on-dbus--ian-eure--answers.opus">Download --answers.opus (9.8MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page -->