blob: eb176536c733a75f18d68b58b0941bb92f3d9924 (
plain) (
tree)
|
|
WEBVTT
00:00:00.320 --> 00:00:03.280
um so hi I'm joe corneli
00:00:03.280 --> 00:00:05.920
uh this is work I did with ray puzio and
00:00:05.920 --> 00:00:06.879
cameron smith
00:00:06.879 --> 00:00:10.559
um and they're the main protagonists in
00:00:10.559 --> 00:00:11.599
this story they
00:00:11.599 --> 00:00:14.960
are uh researchers who've been working
00:00:14.960 --> 00:00:17.840
on theoretical biology um so in a
00:00:17.840 --> 00:00:20.160
typical project they may use manxima
00:00:20.160 --> 00:00:23.760
and julia their work for biology physics
00:00:23.760 --> 00:00:24.800
and computer science
00:00:24.800 --> 00:00:27.199
computer science and the latest work in
00:00:27.199 --> 00:00:29.439
progress is on branching processes for
00:00:29.439 --> 00:00:30.800
cancer modeling so
00:00:30.800 --> 00:00:34.719
how can um Emacs possibly help
00:00:34.719 --> 00:00:37.360
let's let's have a look uh moving code
00:00:37.360 --> 00:00:38.399
and data between these different
00:00:38.399 --> 00:00:39.680
programs by hand is
00:00:39.680 --> 00:00:42.000
annoying on separate workflows for
00:00:42.000 --> 00:00:43.200
writing up notes and preparing
00:00:43.200 --> 00:00:44.399
publications
00:00:44.399 --> 00:00:46.000
is perhaps even more annoying all of
00:00:46.000 --> 00:00:48.640
it's time consuming and error-prone
00:00:48.640 --> 00:00:52.000
um so what about maybe using jupiter
00:00:52.000 --> 00:00:53.760
uh we found something called script of
00:00:53.760 --> 00:00:55.199
scripts and it solves some of those
00:00:55.199 --> 00:00:58.399
problems because you can use
00:00:58.399 --> 00:01:01.120
maximum and julia together but we were
00:01:01.120 --> 00:01:02.640
quite happy to explore emacs based
00:01:02.640 --> 00:01:05.199
solutions being emax enthusiasts and we
00:01:05.199 --> 00:01:05.840
even
00:01:05.840 --> 00:01:07.760
got cameron to be enthusiastic about
00:01:07.760 --> 00:01:09.200
doing emacs so that
00:01:09.200 --> 00:01:11.600
went nice so just here's a little
00:01:11.600 --> 00:01:12.400
feature grid
00:01:12.400 --> 00:01:15.360
of emacs org versus just sort of your
00:01:15.360 --> 00:01:16.400
generic
00:01:16.400 --> 00:01:19.040
um tools that are in a different more
00:01:19.040 --> 00:01:20.960
general ecosystem so as you can see it's
00:01:20.960 --> 00:01:21.520
quite
00:01:21.520 --> 00:01:23.360
feature complete you've got your maximo
00:01:23.360 --> 00:01:25.520
mode julia mode you can use both of them
00:01:25.520 --> 00:01:27.119
inside of org mode
00:01:27.119 --> 00:01:28.720
you can present things with word tree
00:01:28.720 --> 00:01:30.240
slide you can set up a
00:01:30.240 --> 00:01:33.280
wiki inside of orgrome this is one I
00:01:33.280 --> 00:01:33.680
found
00:01:33.680 --> 00:01:35.759
rather recently you can even use
00:01:35.759 --> 00:01:37.759
compatibly with orgrome something called
00:01:37.759 --> 00:01:38.799
log seek
00:01:38.799 --> 00:01:41.520
which is in the browser um so that's
00:01:41.520 --> 00:01:42.159
nice
00:01:42.159 --> 00:01:44.320
um you can do real-time collaborative
00:01:44.320 --> 00:01:45.840
editing um
00:01:45.840 --> 00:01:47.840
either in a kind of pairing style or in
00:01:47.840 --> 00:01:49.280
a more etherpad style
00:01:49.280 --> 00:01:51.520
obviously you can manage your references
00:01:51.520 --> 00:01:54.159
you can typeset whatever you want um you
00:01:54.159 --> 00:01:55.759
can publish work in progress on a blog
00:01:55.759 --> 00:01:57.439
and the fern is another one of these
00:01:57.439 --> 00:01:58.159
external
00:01:58.159 --> 00:02:00.560
org mode tools it's not actually any mac
00:02:00.560 --> 00:02:01.360
but works with
00:02:01.360 --> 00:02:03.680
org mode stuff and you know so we're
00:02:03.680 --> 00:02:04.399
good to go
00:02:04.399 --> 00:02:06.640
uh with all of that so what does that
00:02:06.640 --> 00:02:08.000
look like well here's
00:02:08.000 --> 00:02:09.679
a little example from before they were
00:02:09.679 --> 00:02:11.599
doing um
00:02:11.599 --> 00:02:12.800
before we started really thinking
00:02:12.800 --> 00:02:14.560
seriously about this stuff so this is
00:02:14.560 --> 00:02:15.599
just maxima
00:02:15.599 --> 00:02:17.440
well maximo doesn't have a long running
00:02:17.440 --> 00:02:19.280
process by default if you've ever used
00:02:19.280 --> 00:02:20.160
python
00:02:20.160 --> 00:02:22.480
uh you have something called sessions uh
00:02:22.480 --> 00:02:23.920
they don't have that for maxim at least
00:02:23.920 --> 00:02:24.959
not by default
00:02:24.959 --> 00:02:27.599
um so how what was the workaround
00:02:27.599 --> 00:02:29.360
there's this thing called uh
00:02:29.360 --> 00:02:32.480
solve for you here and um
00:02:32.480 --> 00:02:34.879
that shows up down below again in these
00:02:34.879 --> 00:02:36.319
angle brackets which you've seen maybe
00:02:36.319 --> 00:02:37.360
in someone else's talk
00:02:37.360 --> 00:02:40.480
uh which means go to the previous uh
00:02:40.480 --> 00:02:41.920
thing that was named soul for you
00:02:41.920 --> 00:02:43.920
and do that all over again so they do
00:02:43.920 --> 00:02:45.280
that over again
00:02:45.280 --> 00:02:47.440
and here's the little maxima code for
00:02:47.440 --> 00:02:49.519
defining you saw so you've now defined
00:02:49.519 --> 00:02:50.560
you saw
00:02:50.560 --> 00:02:51.920
and then you can use it in the next
00:02:51.920 --> 00:02:54.000
expression you get out a nice juicy
00:02:54.000 --> 00:02:56.560
zero at the end but it's a little bit a
00:02:56.560 --> 00:02:57.200
little bit
00:02:57.200 --> 00:02:58.959
like cartridge in a pear tree to have to
00:02:58.959 --> 00:03:00.640
redefine everything every time
00:03:00.640 --> 00:03:02.560
so this is clearly at the level of work
00:03:02.560 --> 00:03:04.159
around um maybe just
00:03:04.159 --> 00:03:06.879
one more time going looking through that
00:03:06.879 --> 00:03:07.920
um
00:03:07.920 --> 00:03:11.599
that stuff um
00:03:11.599 --> 00:03:13.760
sorry so uh looking through that stuff
00:03:13.760 --> 00:03:15.280
this is we're going to need something
00:03:15.280 --> 00:03:17.200
like that probably for stitching
00:03:17.200 --> 00:03:19.599
maxima and julie julia together so it's
00:03:19.599 --> 00:03:20.319
good to
00:03:20.319 --> 00:03:21.680
look a little bit about how that might
00:03:21.680 --> 00:03:23.920
work so first of all you can cache
00:03:23.920 --> 00:03:25.680
results so if you wanted to save the
00:03:25.680 --> 00:03:26.480
date
00:03:26.480 --> 00:03:28.480
out of block one at a certain time and
00:03:28.480 --> 00:03:29.920
then use
00:03:29.920 --> 00:03:32.239
use it again later so at the time when I
00:03:32.239 --> 00:03:33.280
ran this code
00:03:33.280 --> 00:03:34.640
you can see I've got two slightly
00:03:34.640 --> 00:03:36.720
different time stamps down below one's
00:03:36.720 --> 00:03:38.560
the cached result and the other was the
00:03:38.560 --> 00:03:40.319
result of reevaluating
00:03:40.319 --> 00:03:42.640
the block so you can move things around
00:03:42.640 --> 00:03:43.760
um and that's
00:03:43.760 --> 00:03:46.000
that's going to be useful but you know
00:03:46.000 --> 00:03:47.280
that's not really the main problem the
00:03:47.280 --> 00:03:48.080
main problem is
00:03:48.080 --> 00:03:50.799
making maxima long running so kind of
00:03:50.799 --> 00:03:51.440
the
00:03:51.440 --> 00:03:53.920
core of this talk is a new observant
00:03:53.920 --> 00:03:56.400
facility which is a general purpose
00:03:56.400 --> 00:03:59.280
way to do that kind of thing which
00:03:59.280 --> 00:04:00.560
involves a very simple
00:04:00.560 --> 00:04:04.239
change to obcor uh so we'll give a quick
00:04:04.239 --> 00:04:05.360
overview of that and show
00:04:05.360 --> 00:04:08.480
an example um so here's the example
00:04:08.480 --> 00:04:11.760
um a very simple sort of silly example
00:04:11.760 --> 00:04:13.040
uh what does it mean to have a long
00:04:13.040 --> 00:04:14.640
running process here I've set this
00:04:14.640 --> 00:04:15.920
display2d
00:04:15.920 --> 00:04:18.560
to be false um which just means that
00:04:18.560 --> 00:04:19.440
things are going to come
00:04:19.440 --> 00:04:22.320
come across in 1d and then I ask it to
00:04:22.320 --> 00:04:23.040
expand
00:04:23.040 --> 00:04:25.199
uh something and I get latex by default
00:04:25.199 --> 00:04:27.280
so so that's what it means is I've sent
00:04:27.280 --> 00:04:28.639
something in and it's going to come
00:04:28.639 --> 00:04:30.240
across in one view which is great
00:04:30.240 --> 00:04:32.080
um maybe you'll also notice that there's
00:04:32.080 --> 00:04:34.560
no semicolon if you're a maxima fan
00:04:34.560 --> 00:04:36.720
um and things are coming across as tech
00:04:36.720 --> 00:04:38.400
so those were some little bonus features
00:04:38.400 --> 00:04:40.320
and I'll show you how that works later
00:04:40.320 --> 00:04:41.040
so
00:04:41.040 --> 00:04:45.440
um the change to obcor is as follows uh
00:04:45.440 --> 00:04:48.880
um we uh actually this should say uh
00:04:48.880 --> 00:04:51.520
instead of stream here it should say um
00:04:51.520 --> 00:04:52.479
servant
00:04:52.479 --> 00:04:54.800
sorry uh we tried an experimental
00:04:54.800 --> 00:04:56.160
version what's called stream so now it's
00:04:56.160 --> 00:04:58.160
called servant but all it does is it
00:04:58.160 --> 00:05:01.520
overrides uh or babel execute laying for
00:05:01.520 --> 00:05:02.639
arbitrary laying
00:05:02.639 --> 00:05:05.919
if you have um a servant
00:05:05.919 --> 00:05:07.840
in your in your params so that's the
00:05:07.840 --> 00:05:09.759
change that hasn't been
00:05:09.759 --> 00:05:11.919
pushed out or sent as a patch to anybody
00:05:11.919 --> 00:05:13.759
but it's a pretty minor change
00:05:13.759 --> 00:05:16.960
um here's an overview without the code
00:05:16.960 --> 00:05:19.080
of just a high level overview of
00:05:19.080 --> 00:05:20.720
observant.el so
00:05:20.720 --> 00:05:22.160
it stores information about these
00:05:22.160 --> 00:05:24.479
processes in a hash table
00:05:24.479 --> 00:05:26.080
it can do pre-processing and
00:05:26.080 --> 00:05:27.600
post-processing
00:05:27.600 --> 00:05:29.759
um it does all these things it stores
00:05:29.759 --> 00:05:30.720
the output
00:05:30.720 --> 00:05:32.479
I mentioned here that in principle we
00:05:32.479 --> 00:05:34.080
could store lots of output and have a
00:05:34.080 --> 00:05:35.280
kind of browsable
00:05:35.280 --> 00:05:36.560
history although we don't do that
00:05:36.560 --> 00:05:38.880
presently um but that's what observant
00:05:38.880 --> 00:05:40.639
does is it does what you might expect
00:05:40.639 --> 00:05:41.440
and here's the
00:05:41.440 --> 00:05:45.440
here's the maxima kind of um
00:05:45.440 --> 00:05:48.160
on-ramp uh to get maxima brought in so
00:05:48.160 --> 00:05:49.600
you have to obviously have a maximum
00:05:49.600 --> 00:05:51.360
process you can call
00:05:51.360 --> 00:05:54.960
um put hash uh this is the preprocessing
00:05:54.960 --> 00:05:57.840
thing I mentioned adding in some tech um
00:05:57.840 --> 00:05:58.960
and adding in
00:05:58.960 --> 00:06:01.520
uh or deleting rather a substring and
00:06:01.520 --> 00:06:03.120
here here is why you delete the
00:06:03.120 --> 00:06:03.759
substring
00:06:03.759 --> 00:06:06.960
is because um maxima thinks it's a good
00:06:06.960 --> 00:06:08.240
idea to tell you false
00:06:08.240 --> 00:06:10.080
once you once you run check on things
00:06:10.080 --> 00:06:11.759
you've got to delete that back out to
00:06:11.759 --> 00:06:13.680
get something kind of coherent out of it
00:06:13.680 --> 00:06:16.960
but so this is how to set up maximal um
00:06:16.960 --> 00:06:19.280
that's enough really of the demo is not
00:06:19.280 --> 00:06:20.000
really a demos for
00:06:20.000 --> 00:06:21.919
show and tell but uh this is an
00:06:21.919 --> 00:06:23.600
experience report I wanted to talk about
00:06:23.600 --> 00:06:25.440
the experience of doing this
00:06:25.440 --> 00:06:28.080
so some some negatives like we tried to
00:06:28.080 --> 00:06:30.160
get emacs jupiter working
00:06:30.160 --> 00:06:33.199
prior to prior to working on the um
00:06:33.199 --> 00:06:36.000
observant and we couldn't get it doing
00:06:36.000 --> 00:06:37.919
everything we wanted despite a bit of
00:06:37.919 --> 00:06:40.160
heavy lifting and debugging and stuff so
00:06:40.160 --> 00:06:41.840
that's not not finished that was a bit
00:06:41.840 --> 00:06:42.880
difficult
00:06:42.880 --> 00:06:45.360
um on the other hand working on
00:06:45.360 --> 00:06:47.759
observing was fun and pretty lightweight
00:06:47.759 --> 00:06:48.479
and easy
00:06:48.479 --> 00:06:50.400
um we got some experience co-editing
00:06:50.400 --> 00:06:52.400
things with these real-time tools
00:06:52.400 --> 00:06:54.479
obviously the stack is somewhat work in
00:06:54.479 --> 00:06:55.919
progress um
00:06:55.919 --> 00:06:58.000
so I just wanted to give a shout out to
00:06:58.000 --> 00:07:00.800
crdt which was really fun
00:07:00.800 --> 00:07:03.919
and champion was making bug fiction
00:07:03.919 --> 00:07:07.039
bug fixes for that as we go similarly
00:07:07.039 --> 00:07:08.960
for fern and log seek the maintainers
00:07:08.960 --> 00:07:10.160
were really responsive
00:07:10.160 --> 00:07:12.960
um and so that was nice we did try to
00:07:12.960 --> 00:07:14.560
get emacs running in the browser
00:07:14.560 --> 00:07:15.840
thinking it would be really nice for
00:07:15.840 --> 00:07:16.880
people who
00:07:16.880 --> 00:07:19.520
um didn't want to install it to get a
00:07:19.520 --> 00:07:21.120
chance to just try it
00:07:21.120 --> 00:07:23.120
uh but actually browsers capture things
00:07:23.120 --> 00:07:24.479
like uh control n
00:07:24.479 --> 00:07:27.120
and so that's that was a bit annoying
00:07:27.120 --> 00:07:28.479
but we did get lots of great feedback
00:07:28.479 --> 00:07:29.759
and interaction with people including
00:07:29.759 --> 00:07:31.599
around this conference so thank you
00:07:31.599 --> 00:07:33.759
to those who we've had discussions with
00:07:33.759 --> 00:07:35.599
um
00:07:35.599 --> 00:07:37.680
so future work okay so maybe you
00:07:37.680 --> 00:07:38.639
remember I didn't
00:07:38.639 --> 00:07:41.039
give a talk a few years back on arcana
00:07:41.039 --> 00:07:42.400
so what what
00:07:42.400 --> 00:07:44.479
might this have to do with org mode and
00:07:44.479 --> 00:07:45.919
that's always the question one asks
00:07:45.919 --> 00:07:47.039
about arcata
00:07:47.039 --> 00:07:48.720
well so arcana one of the things it does
00:07:48.720 --> 00:07:50.319
is transclusions and so that could be
00:07:50.319 --> 00:07:51.680
actually very helpful
00:07:51.680 --> 00:07:54.000
in connection with this combined notes
00:07:54.000 --> 00:07:55.520
and write-up workflow so you might have
00:07:55.520 --> 00:07:56.479
a
00:07:56.479 --> 00:07:58.400
forward mode uh and some of these
00:07:58.400 --> 00:08:00.800
results we got back as raw results
00:08:00.800 --> 00:08:03.199
could go right into your write up in a
00:08:03.199 --> 00:08:03.919
kind of
00:08:03.919 --> 00:08:07.520
convenient way at a level above um
00:08:07.520 --> 00:08:09.039
transparently a level above the notebook
00:08:09.039 --> 00:08:11.280
so you'd have the notebook alongside the
00:08:11.280 --> 00:08:13.440
write-up in that case
00:08:13.440 --> 00:08:15.599
which is a sort of variation on the
00:08:15.599 --> 00:08:16.800
literate programming
00:08:16.800 --> 00:08:19.120
workflow this is speculative who knows
00:08:19.120 --> 00:08:20.000
the other thought is
00:08:20.000 --> 00:08:22.080
it just relates to the idea of network
00:08:22.080 --> 00:08:23.520
programming so we can imagine these
00:08:23.520 --> 00:08:24.800
networks of
00:08:24.800 --> 00:08:26.639
computational nodes maybe sitting inside
00:08:26.639 --> 00:08:28.800
of orgrome calling each other
00:08:28.800 --> 00:08:31.199
um and you would want to maintain some
00:08:31.199 --> 00:08:32.560
kind of model of that
00:08:32.560 --> 00:08:34.959
process and a sort of general question
00:08:34.959 --> 00:08:36.640
is how do we have a remote control for
00:08:36.640 --> 00:08:38.320
long-running processes you could do that
00:08:38.320 --> 00:08:40.240
in lisp or closure but
00:08:40.240 --> 00:08:42.479
maybe we could have something a little
00:08:42.479 --> 00:08:44.080
bit like that here
00:08:44.080 --> 00:08:45.839
um so conclusions what have we actually
00:08:45.839 --> 00:08:48.080
addressed well uh we addressed uh
00:08:48.080 --> 00:08:50.080
accessing any long-running process with
00:08:50.080 --> 00:08:51.600
a simple or mode interface
00:08:51.600 --> 00:08:52.959
obviously we're not the only people to
00:08:52.959 --> 00:08:54.880
think about notebooks but we think that
00:08:54.880 --> 00:08:56.880
emacs has some advantages
00:08:56.880 --> 00:08:58.880
related to reproducible research and
00:08:58.880 --> 00:09:01.120
interdisciplinary collaboration so let's
00:09:01.120 --> 00:09:01.680
just
00:09:01.680 --> 00:09:03.120
say that we think something is
00:09:03.120 --> 00:09:04.880
reproducible if it's actually teachable
00:09:04.880 --> 00:09:07.200
to someone new and they can do it
00:09:07.200 --> 00:09:09.279
org mode seems very useful for that many
00:09:09.279 --> 00:09:11.680
of the other talks have touched on this
00:09:11.680 --> 00:09:14.399
interdisciplinary collaboration is great
00:09:14.399 --> 00:09:16.000
this was an interdisciplinary
00:09:16.000 --> 00:09:17.839
collaboration on some level but
00:09:17.839 --> 00:09:19.680
what about you know future work for
00:09:19.680 --> 00:09:21.600
bringing in scenario planners simulation
00:09:21.600 --> 00:09:22.320
scientists
00:09:22.320 --> 00:09:24.480
and local farmers and building something
00:09:24.480 --> 00:09:25.519
that they can all
00:09:25.519 --> 00:09:27.200
use that's more than the sum of the
00:09:27.200 --> 00:09:29.200
parts so a little
00:09:29.200 --> 00:09:30.720
future work for everybody else here so
00:09:30.720 --> 00:09:32.160
we think science should be widely
00:09:32.160 --> 00:09:33.120
teachable
00:09:33.120 --> 00:09:34.560
shareable semi-automated
00:09:34.560 --> 00:09:36.720
transdisciplinary and real time
00:09:36.720 --> 00:09:40.399
like EmacsConf so you can get in touch
00:09:40.399 --> 00:09:43.279
uh via these methods and the code which
00:09:43.279 --> 00:09:44.560
is very much early stage work in
00:09:44.560 --> 00:09:45.200
progress
00:09:45.200 --> 00:09:46.640
as this was meant to be an experience
00:09:46.640 --> 00:09:48.800
report not a it's all done here it is
00:09:48.800 --> 00:09:49.920
polished report
00:09:49.920 --> 00:09:51.680
um it's also online if you'd like to
00:09:51.680 --> 00:09:53.360
have a look so that's the end of the
00:09:53.360 --> 00:09:54.560
talk and I don't know if there's time
00:09:54.560 --> 00:09:55.279
for questions
00:09:55.279 --> 00:09:57.440
or not but um I'm at your disposal now
00:09:57.440 --> 00:10:00.240
thank you you are now unmuted
00:10:00.240 --> 00:10:04.079
um many thanks for the tough job
00:10:04.079 --> 00:10:07.120
uh let's see we have about I think four
00:10:07.120 --> 00:10:08.880
minutes four questions
00:10:08.880 --> 00:10:10.880
um and we have a couple of questions on
00:10:10.880 --> 00:10:12.320
the pad would you like to read them
00:10:12.320 --> 00:10:14.240
yourself or should I read them to you
00:10:14.240 --> 00:10:16.560
uh just for sake of easy management why
00:10:16.560 --> 00:10:18.079
don't you read them out if that's okay
00:10:18.079 --> 00:10:21.279
yeah sure uh so they ask have you looked
00:10:21.279 --> 00:10:22.240
into trying
00:10:22.240 --> 00:10:25.440
sage math I've long uh long wanted
00:10:25.440 --> 00:10:33.760
nothing org files
00:10:33.760 --> 00:10:36.959
right and I and I wrote the answer that
00:10:36.959 --> 00:10:39.279
we should be possible because one can
00:10:39.279 --> 00:10:44.839
call it from a command
00:10:44.839 --> 00:10:46.399
okay
00:10:46.399 --> 00:10:48.640
and I see there's another sagemath
00:10:48.640 --> 00:10:50.079
question that you seem to have answered
00:10:50.079 --> 00:10:52.100
as well so I guess I won't repeat that
00:10:52.100 --> 00:10:54.880
[Music]
00:10:54.880 --> 00:10:56.959
there's let's not forget about embedded
00:10:56.959 --> 00:11:00.640
calc in emacs
00:11:00.640 --> 00:11:03.680
so so the first demos actually were with
00:11:03.680 --> 00:11:05.040
calc so that's that's
00:11:05.040 --> 00:11:06.640
useful uh although I think it was a
00:11:06.640 --> 00:11:07.839
different kind of a different command
00:11:07.839 --> 00:11:08.240
line
00:11:08.240 --> 00:11:11.839
well that was the next calc yeah
00:11:11.839 --> 00:11:13.839
so sure there is there is calc so that
00:11:13.839 --> 00:11:15.680
would be calculus and
00:11:15.680 --> 00:11:19.120
calc is already in org mode yeah
00:11:19.120 --> 00:11:25.680
yeah yeah
00:11:25.680 --> 00:11:39.760
um still looking for questions
00:11:39.760 --> 00:11:41.760
okay I think that's about it I don't see
00:11:41.760 --> 00:11:44.320
any questions on the ether pad
00:11:44.320 --> 00:11:47.440
and let's see
00:11:47.440 --> 00:11:53.040
anything on irc
00:11:53.040 --> 00:11:55.760
um nothing but phrases and everyone
00:11:55.760 --> 00:11:56.720
thanking you
00:11:56.720 --> 00:11:59.120
thank you all right you're welcome
00:11:59.120 --> 00:12:00.240
thanks a lot uh
00:12:00.240 --> 00:12:02.880
we'll see you guys around then cheers
00:12:02.880 --> 00:12:06.800
and see you around
|