From: Dmitry Gutov <dmitry@gutov.dev>
To: Yuri Khan <yuri.v.khan@gmail.com>, Eli Zaretskii <eliz@gnu.org>
Cc: owinebar@gmail.com, rms@gnu.org, emacs-devel@gnu.org
Subject: Re: Emacs design and architecture (was: Shrinking the C core)
Date: Fri, 15 Sep 2023 18:10:50 +0300 [thread overview]
Message-ID: <6357c74b-222b-9d80-2c58-ebf4c13f130d@gutov.dev> (raw)
In-Reply-To: <CAP_d_8V8=sDOdCR1c-igXDvVUpOsZ+yCowwEoL=u_Ma+APFbUQ@mail.gmail.com>
On 15/09/2023 09:51, Yuri Khan wrote:
> On Fri, 15 Sept 2023 at 12:51, Eli Zaretskii <eliz@gnu.org> wrote:
>
>> One of the important aspects to keep in mind in this regard is that
>> Emacs must give Lisp programs dynamic control of how stuff is
>> displayed, and should be able to exercise that control at high
>> frequency (a trivial example: pulse.el).
>
> In CSS, this is solved in core with transitions. A style specifies
> that a certain property will change gradually, provides its target
> value, the transition duration, and a transition curve. The styling
> engine does all the work about calculating the intermediate values and
> re-layouting each intermediate frame; the page author does not have to
> script carefully timed property changes, and is in fact discouraged
> from doing so because doing that in Javascript incurs CPU and battery
> usage overhead.
There are different ways to do it, but the classical correspondence to
what pulse.el does is to use JavaScript, which would trigger on a timer
and modify the DOM tree, exactly how pulse is triggered on a timer and
updates the overlays in a buffer.
It's fast enough, and the JavaScript-based animations had reached more
complexity than what we do with Emacs. It's just that the web sites have
been getting more complex and complex over the years, that doing many of
those animations is costly for battery and can bring the frame rate down
(along with many other tabs being loaded at the same time). TBH, I can't
think of many existing animations in Emacs that would be well-served by
CSS animation instructions. Maybe just extra eye candy like exploding
cursors.
> The use case of pulse.el would be translated to a couple of styles
> that say effectively “A pulsed span will instantly gain yellow
> background” and “A non-pulsed span will linearly revert to whatever
> background it had over the course of 200 milliseconds” and a small
> function that sets the span to pulsed and then immediately to
> non-pulsed.
That's also an option, but that seems to depart from making a good
comparison between systems. It's not like anybody is thinking of
implementing animation instructions in the display engine, are they?
The closest stuff to CSS that we have are stuff like 'display' and
'invisible' properties, as well as display specs like :width, :align-to,
:height and (slice ...).
> (Implementing a CSS engine over a character terminal is a nontrivial
> matter though.)
I don't know, if such engine is limited to a rectangular canvas of rows
of characters, that would work more or less the same as it does not.
next prev parent reply other threads:[~2023-09-15 15:10 UTC|newest]
Thread overview: 379+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-27 15:14 Shrinking the C core Arthur Miller
2023-08-27 16:29 ` Eli Zaretskii
2023-08-28 5:32 ` Gerd Möllmann
2023-08-28 6:23 ` Arthur Miller
2023-08-28 6:21 ` Arthur Miller
2023-08-28 1:31 ` Richard Stallman
2023-08-28 5:50 ` Arthur Miller
2023-08-28 12:20 ` Po Lu
2023-08-28 14:39 ` Arthur Miller
2023-08-28 15:17 ` Po Lu
2023-08-29 2:41 ` Arthur Miller
2023-08-28 1:41 ` Po Lu
2023-08-28 2:53 ` chad
2023-08-28 3:43 ` Emanuel Berg
2023-08-28 4:53 ` Arthur Miller
2023-08-28 5:36 ` Po Lu
2023-08-28 6:55 ` Arthur Miller
2023-08-28 7:31 ` Po Lu
2023-08-28 8:06 ` Ihor Radchenko
2023-08-28 14:30 ` Arthur Miller
2023-08-28 15:09 ` Ihor Radchenko
2023-08-29 2:20 ` Arthur Miller
2023-08-28 15:14 ` Po Lu
2023-08-29 2:36 ` Arthur Miller
2023-08-29 4:07 ` Po Lu
2023-08-31 1:07 ` Emanuel Berg
2023-08-28 14:08 ` Arthur Miller
2023-08-28 15:08 ` Po Lu
2023-08-29 2:06 ` Arthur Miller
2023-08-29 4:15 ` Po Lu
2023-08-29 11:50 ` Eli Zaretskii
2023-08-29 3:57 ` Arthur Miller
2023-09-01 1:18 ` Richard Stallman
2023-08-31 2:07 ` Richard Stallman
2023-09-01 14:58 ` Arthur Miller
2023-09-01 16:36 ` tomas
2023-09-04 1:32 ` Richard Stallman
2023-09-04 1:44 ` Emanuel Berg
2023-09-04 5:49 ` Rudolf Schlatte
2023-09-04 14:08 ` Emanuel Berg
2023-09-07 1:21 ` Richard Stallman
2023-09-07 1:54 ` Emanuel Berg
2023-09-07 7:02 ` tomas
2023-09-07 7:36 ` Alfred M. Szmidt
2023-09-07 7:56 ` Emanuel Berg
2023-09-07 8:19 ` Ihor Radchenko
2023-09-07 8:39 ` Emanuel Berg
2023-09-07 9:28 ` Alfred M. Szmidt
2023-09-09 1:00 ` Emanuel Berg
2023-09-09 6:25 ` Po Lu
2023-09-09 7:24 ` Eli Zaretskii
2023-09-07 9:31 ` Eli Zaretskii
2023-09-07 9:39 ` Ihor Radchenko
2023-09-09 1:06 ` Emanuel Berg
2023-09-11 0:43 ` Richard Stallman
2023-09-11 12:24 ` Eli Zaretskii
2023-09-11 12:43 ` tomas
2023-09-13 5:59 ` Emanuel Berg
2023-09-12 4:44 ` Gerd Möllmann
2023-09-12 12:25 ` João Távora
2023-09-12 11:31 ` Lynn Winebarger
2023-09-12 13:00 ` Emacs design and architecture (was: Shrinking the C core) Eli Zaretskii
2023-09-13 20:52 ` Lynn Winebarger
2023-09-13 21:19 ` Christopher Dimech
2023-09-14 6:01 ` Eli Zaretskii
2023-09-15 0:13 ` Richard Stallman
2023-09-15 4:39 ` Emacs design and architecture Werner LEMBERG
2023-09-17 0:43 ` Richard Stallman
2023-09-17 13:22 ` Werner LEMBERG
2023-09-14 5:57 ` Emacs design and architecture (was: Shrinking the C core) Eli Zaretskii
2023-09-14 6:30 ` Emacs design and architecture Gerd Möllmann
2023-09-14 6:38 ` Po Lu
2023-09-14 6:49 ` Gerd Möllmann
2023-09-14 15:03 ` Helmut Eller
2023-09-14 15:30 ` Gerd Möllmann
2023-09-14 16:21 ` Helmut Eller
2023-09-17 0:46 ` Richard Stallman
2023-09-17 13:02 ` Björn Bidar
2023-09-19 10:19 ` Richard Stallman
2023-09-14 16:23 ` Philip Kaludercic
2023-09-14 16:50 ` joakim
2023-09-14 16:30 ` Emacs design and architecture (was: Shrinking the C core) Lynn Winebarger
2023-09-14 16:52 ` Eli Zaretskii
2023-09-14 21:35 ` Dmitry Gutov
2023-09-15 5:50 ` Eli Zaretskii
2023-09-15 6:51 ` Yuri Khan
2023-09-15 7:23 ` Emacs design and architecture Max Brieiev
2023-09-15 7:30 ` Emacs design and architecture (was: Shrinking the C core) Eli Zaretskii
2023-09-15 9:32 ` Emacs design and architecture Gerd Möllmann
2023-09-15 15:52 ` Dmitry Gutov
2023-09-15 18:36 ` Gerd Möllmann
2023-09-15 18:42 ` Eli Zaretskii
2023-09-15 19:19 ` Gerd Möllmann
2023-09-15 22:20 ` Dmitry Gutov
2023-09-15 23:58 ` Emanuel Berg
2023-09-16 6:00 ` Eli Zaretskii
2023-09-17 12:16 ` Emanuel Berg
2023-09-17 14:24 ` Eli Zaretskii
2023-09-17 15:36 ` Emacs design and architecture. How about copy-on-write? Alan Mackenzie
2023-09-18 10:30 ` Eli Zaretskii
2023-09-18 11:38 ` Alan Mackenzie
2023-09-18 12:08 ` Eli Zaretskii
2023-09-18 12:49 ` Ihor Radchenko
2023-09-18 14:27 ` Eli Zaretskii
2023-09-18 15:55 ` Ihor Radchenko
2023-09-18 17:47 ` Eli Zaretskii
2023-09-18 22:48 ` Emanuel Berg
2023-09-19 10:53 ` Eli Zaretskii
2023-09-19 11:14 ` Emanuel Berg
2023-09-19 12:37 ` Ihor Radchenko
2023-09-19 19:21 ` Emanuel Berg
2023-09-20 9:56 ` Ihor Radchenko
2023-09-22 15:50 ` Emanuel Berg
2023-09-22 16:15 ` Ihor Radchenko
2023-09-22 16:22 ` Emanuel Berg
2023-09-22 18:08 ` Eli Zaretskii
2023-09-19 19:34 ` Emanuel Berg
2023-09-20 9:59 ` Ihor Radchenko
2023-09-20 10:22 ` Po Lu
2023-09-20 10:56 ` Ihor Radchenko
2023-09-20 11:11 ` Po Lu
2023-09-20 11:53 ` Ihor Radchenko
2023-09-20 11:58 ` Po Lu
2023-09-20 12:05 ` Ihor Radchenko
2023-09-20 13:35 ` Po Lu
2023-09-20 15:53 ` Eli Zaretskii
2023-09-21 0:55 ` Po Lu
2023-09-21 3:35 ` Po Lu
2023-09-21 7:27 ` Eli Zaretskii
2023-09-21 7:34 ` Po Lu
2023-09-21 8:13 ` Eli Zaretskii
2023-09-21 8:35 ` Ihor Radchenko
2023-09-21 9:59 ` Eli Zaretskii
2023-09-21 10:13 ` Ihor Radchenko
2023-09-21 11:49 ` Po Lu
2023-09-21 23:43 ` Dmitry Gutov
2023-09-21 12:57 ` Eli Zaretskii
2023-09-21 13:12 ` Po Lu
2023-09-21 13:29 ` Eli Zaretskii
2023-09-21 13:35 ` Po Lu
2023-09-21 13:49 ` Eli Zaretskii
2023-09-21 13:57 ` Po Lu
2023-09-21 14:10 ` Eli Zaretskii
2023-09-21 9:14 ` Po Lu
2023-09-22 15:59 ` Emanuel Berg
2023-09-22 16:45 ` [External] : " Drew Adams
2023-09-25 13:31 ` Emanuel Berg
2023-09-19 12:38 ` Eli Zaretskii
2023-09-19 12:57 ` Po Lu
2023-09-19 14:36 ` Eli Zaretskii
2023-09-20 1:05 ` Po Lu
2023-09-20 12:02 ` Eli Zaretskii
2023-09-20 12:09 ` Ihor Radchenko
2023-09-20 12:27 ` Po Lu
2023-09-19 19:38 ` Emanuel Berg
2023-09-20 12:35 ` Eli Zaretskii
2023-09-22 14:22 ` Emanuel Berg
2023-09-22 15:51 ` Eli Zaretskii
2023-09-22 16:00 ` Emanuel Berg
2023-09-22 19:00 ` Eli Zaretskii
2023-09-22 21:14 ` Emanuel Berg
2023-09-22 16:11 ` Ihor Radchenko
2023-09-22 16:14 ` Eli Zaretskii
2023-09-22 16:27 ` Ihor Radchenko
2023-09-22 17:19 ` Emanuel Berg
2023-09-22 16:13 ` tomas
2023-09-19 11:36 ` Ihor Radchenko
2023-09-19 12:34 ` Eli Zaretskii
2023-09-19 13:35 ` Ihor Radchenko
2023-09-19 14:14 ` Eli Zaretskii
2023-09-19 15:15 ` Dmitry Gutov
2023-09-19 15:37 ` Eli Zaretskii
2023-09-19 16:01 ` Dmitry Gutov
2023-09-19 17:54 ` Eli Zaretskii
2023-09-19 20:21 ` Dmitry Gutov
2023-09-20 11:28 ` Eli Zaretskii
2023-09-20 11:38 ` Ihor Radchenko
2023-09-20 14:35 ` Eli Zaretskii
2023-09-21 10:41 ` Ihor Radchenko
2023-09-21 13:26 ` Eli Zaretskii
2023-09-22 10:05 ` Ihor Radchenko
2023-09-22 11:53 ` Eli Zaretskii
2023-09-22 12:49 ` Ihor Radchenko
2023-09-22 13:01 ` Eli Zaretskii
2023-09-22 13:08 ` Ihor Radchenko
2023-09-20 12:21 ` Po Lu
2023-09-20 14:51 ` Eli Zaretskii
2023-09-20 19:39 ` Dmitry Gutov
2023-09-21 4:31 ` Eli Zaretskii
2023-09-21 10:41 ` Dmitry Gutov
2023-09-21 22:21 ` Stefan Kangas
2023-09-21 23:01 ` Dmitry Gutov
2023-09-21 0:41 ` Po Lu
2023-09-21 2:23 ` Adam Porter
2023-09-21 2:53 ` Po Lu
2023-09-21 7:25 ` Eli Zaretskii
2023-09-21 7:48 ` Po Lu
2023-09-21 8:18 ` Eli Zaretskii
2023-09-21 9:25 ` Po Lu
2023-09-21 9:39 ` Ihor Radchenko
2023-09-21 10:36 ` Dmitry Gutov
2023-09-21 10:48 ` Ihor Radchenko
2023-09-21 11:10 ` Dmitry Gutov
2023-09-21 11:17 ` Ihor Radchenko
2023-09-21 11:27 ` Dmitry Gutov
2023-09-21 11:36 ` Debouncing slow mode line constructs (was: Emacs design and architecture. How about copy-on-write?) Ihor Radchenko
2023-09-21 11:56 ` Dmitry Gutov
2023-09-22 10:07 ` Ihor Radchenko
2023-09-22 11:55 ` Eli Zaretskii
2023-09-22 12:50 ` Ihor Radchenko
2023-09-22 13:04 ` Eli Zaretskii
2023-09-22 13:10 ` Ihor Radchenko
2023-09-22 13:14 ` Eli Zaretskii
2023-09-23 10:54 ` Ihor Radchenko
2023-09-21 13:48 ` Eli Zaretskii
2023-09-22 10:23 ` Ihor Radchenko
2023-09-22 12:08 ` Eli Zaretskii
2023-09-22 13:03 ` Ihor Radchenko
2023-09-22 13:06 ` Eli Zaretskii
2023-09-22 13:19 ` Ihor Radchenko
2023-09-22 14:41 ` Eli Zaretskii
2023-09-23 11:10 ` Ihor Radchenko
2023-09-22 12:52 ` Dmitry Gutov
2023-09-22 15:05 ` [External] : " Drew Adams
2023-09-21 13:00 ` Emacs design and architecture. How about copy-on-write? Eli Zaretskii
2023-09-21 13:30 ` Dmitry Gutov
2023-09-21 13:44 ` Eli Zaretskii
2023-09-22 1:29 ` Dmitry Gutov
2023-09-22 10:51 ` Ihor Radchenko
2023-09-22 10:28 ` Ihor Radchenko
2023-09-22 12:26 ` Eli Zaretskii
2023-09-22 13:06 ` Ihor Radchenko
2023-09-22 13:12 ` Eli Zaretskii
2023-09-21 10:03 ` Eli Zaretskii
2023-09-20 19:22 ` Dmitry Gutov
2023-09-21 4:29 ` Eli Zaretskii
2023-09-21 20:24 ` Richard Stallman
2023-09-20 9:47 ` Ihor Radchenko
2023-09-20 14:02 ` Eli Zaretskii
2023-09-21 10:29 ` Ihor Radchenko
2023-09-21 14:02 ` Eli Zaretskii
2023-09-22 10:48 ` Ihor Radchenko
2023-09-22 12:34 ` Eli Zaretskii
2023-09-23 11:07 ` Ihor Radchenko
2023-09-23 11:23 ` Eli Zaretskii
2023-09-23 12:53 ` Dmitry Gutov
2023-09-23 13:01 ` Eli Zaretskii
2023-09-23 13:08 ` Dmitry Gutov
2023-09-23 13:15 ` Eli Zaretskii
2023-09-23 14:09 ` Ihor Radchenko
2023-09-24 0:29 ` Dmitry Gutov
2023-09-23 14:23 ` Yuri Khan
2023-09-23 14:25 ` Dmitry Gutov
2023-09-18 13:30 ` Po Lu
2023-09-18 13:34 ` Po Lu
2023-09-18 13:55 ` Ihor Radchenko
2023-09-18 15:04 ` Eli Zaretskii
2023-09-18 23:41 ` Po Lu
2023-09-19 14:25 ` Eli Zaretskii
2023-09-20 1:01 ` Po Lu
2023-09-20 11:56 ` Eli Zaretskii
2023-09-20 12:13 ` Po Lu
2023-09-20 14:46 ` Eli Zaretskii
2023-09-20 18:50 ` Dmitry Gutov
2023-09-21 4:23 ` Eli Zaretskii
2023-09-21 10:08 ` Ihor Radchenko
2023-09-21 10:12 ` Eli Zaretskii
2023-09-21 10:35 ` Ihor Radchenko
2023-09-21 13:13 ` Eli Zaretskii
2023-09-19 21:37 ` Björn Bidar
2023-09-19 10:20 ` Richard Stallman
2023-09-18 21:38 ` Emacs design and architecture Emanuel Berg
2023-09-16 8:41 ` Gerd Möllmann
2023-09-16 11:02 ` Dmitry Gutov
2023-09-16 11:59 ` Sebastian Miele
2023-09-16 13:00 ` Po Lu
2023-09-16 13:08 ` Gerd Möllmann
2023-09-16 13:25 ` Po Lu
2023-09-16 14:20 ` Björn Bidar
2023-09-16 16:33 ` Dmitry Gutov
2023-09-16 17:07 ` Gerd Möllmann
2023-09-16 17:30 ` Dmitry Gutov
2023-09-16 18:33 ` Gerd Möllmann
2023-09-16 19:18 ` Lynn Winebarger
2023-09-16 20:02 ` Gerd Möllmann
2023-09-16 19:40 ` Dmitry Gutov
2023-09-16 20:01 ` Gerd Möllmann
2023-09-16 23:50 ` Po Lu
2023-09-16 16:24 ` Dmitry Gutov
2023-09-16 23:46 ` Po Lu
2023-09-17 6:08 ` Immanuel Litzroth
2023-09-17 6:43 ` Po Lu
2023-09-17 18:51 ` Dmitry Gutov
2023-09-18 0:11 ` Po Lu
2023-09-18 10:46 ` Dmitry Gutov
2023-09-18 11:12 ` Po Lu
2023-09-18 11:19 ` Dmitry Gutov
2023-09-20 18:35 ` Richard Stallman
2023-09-20 18:59 ` Eli Zaretskii
2023-09-17 23:02 ` Richard Stallman
2023-09-19 18:22 ` chad
2023-09-21 20:26 ` Richard Stallman
2023-09-22 0:31 ` Bob Rogers
2023-09-23 7:13 ` Richard Stallman
2023-09-18 18:48 ` Dmitry Gutov
2023-09-19 23:14 ` Richard Stallman
2023-09-17 23:03 ` Richard Stallman
2023-09-15 23:26 ` Emanuel Berg
2023-09-16 9:09 ` Gerd Möllmann
2023-09-17 7:34 ` Gerd Möllmann
2023-09-17 15:44 ` Helmut Eller
2023-09-17 16:23 ` Eli Zaretskii
2023-09-18 6:36 ` Gerd Möllmann
2023-09-15 15:10 ` Dmitry Gutov [this message]
2023-09-15 15:13 ` Emacs design and architecture (was: Shrinking the C core) Dmitry Gutov
2023-09-17 0:45 ` Richard Stallman
2023-09-17 6:31 ` Eli Zaretskii
2023-09-19 10:22 ` Richard Stallman
2023-09-19 14:31 ` Eli Zaretskii
2023-10-12 12:27 ` Richard Stallman
2023-09-13 6:12 ` Shrinking the C core Emanuel Berg
2023-09-05 4:23 ` Arthur Miller
2023-09-06 0:58 ` Richard Stallman
2023-09-06 1:12 ` Emanuel Berg
2023-09-06 5:04 ` Arthur Miller
2023-09-06 11:29 ` Alan Mackenzie
2023-09-06 23:03 ` Emanuel Berg
2023-09-07 7:00 ` tomas
2023-09-07 7:23 ` Emanuel Berg
2023-09-07 7:52 ` tomas
2023-09-07 5:30 ` Po Lu
2023-09-07 6:15 ` Emanuel Berg
2023-09-11 0:43 ` Richard Stallman
2023-09-11 12:05 ` Eli Zaretskii
2023-09-12 23:55 ` Richard Stallman
2023-09-13 6:34 ` Emanuel Berg
2023-09-07 8:51 ` Manuel Giraud via Emacs development discussions.
2023-09-07 9:20 ` Po Lu
2023-09-07 9:34 ` Eli Zaretskii
2023-09-08 2:00 ` Arthur Miller
2023-09-08 7:35 ` Gerd Möllmann
2023-09-09 10:05 ` João Távora
2023-09-08 15:38 ` [External] : " Drew Adams
2023-09-09 11:55 ` Arthur Miller
2023-09-09 12:55 ` Eli Zaretskii
2023-09-09 13:20 ` Arthur Miller
2023-09-10 0:09 ` Drew Adams
2023-09-11 0:40 ` Richard Stallman
2023-09-11 15:10 ` João Távora
2023-09-11 16:12 ` Drew Adams
2023-09-11 20:37 ` Tomas Hlavaty
2023-09-11 21:10 ` João Távora
2023-09-12 19:52 ` Tomas Hlavaty
2023-09-12 20:52 ` João Távora
2023-09-15 8:43 ` Emanuel Berg
2023-09-15 15:35 ` Drew Adams
2023-09-11 21:09 ` Eric S. Raymond
2023-09-12 2:05 ` Arthur Miller
2023-09-12 4:38 ` Gerd Möllmann
2023-09-12 5:48 ` Arthur Miller
2023-09-12 12:07 ` Eli Zaretskii
2023-09-12 12:16 ` Po Lu
2023-09-12 19:58 ` Arthur Miller
2023-09-13 14:39 ` Eli Zaretskii
2023-09-14 11:53 ` Arthur Miller
2023-09-14 13:36 ` Po Lu
2023-09-12 2:30 ` Arthur Miller
2023-09-12 12:15 ` Emanuel Berg
2023-09-12 12:32 ` Emanuel Berg
2023-09-12 19:57 ` Tomas Hlavaty
2023-09-13 0:00 ` Richard Stallman
2023-09-08 17:58 ` Bob Rogers
2023-09-15 21:59 ` Emanuel Berg
2023-09-17 23:03 ` Richard Stallman
2023-09-09 0:39 ` Richard Stallman
2023-09-09 12:50 ` Arthur Miller
2023-09-12 0:27 ` Richard Stallman
2023-08-28 7:45 ` Andrea Monaco
2023-08-28 14:35 ` Arthur Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6357c74b-222b-9d80-2c58-ebf4c13f130d@gutov.dev \
--to=dmitry@gutov.dev \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=owinebar@gmail.com \
--cc=rms@gnu.org \
--cc=yuri.v.khan@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.