<a name="transcript"></a>
# Transcript
[[!template text="Hi everyone!" start="00:00:01.920" video="mainVideo" id=subtitle]]
[[!template text="My name is Shane," start="00:00:03.280" video="mainVideo" id=subtitle]]
[[!template text="and it's truly a real honor to be" start="00:00:04.400" video="mainVideo" id=subtitle]]
[[!template text="able to speak at EmacsConf." start="00:00:09.679" video="mainVideo" id=subtitle]]
[[!template text="I love Emacs. I love Emacs Lisp," start="00:00:14.480" video="mainVideo" id=subtitle]]
[[!template text="and this is also another topic" start="00:00:16.880" video="mainVideo" id=subtitle]]
[[!template text="that really excites me ever since" start="00:00:19.279" video="mainVideo" id=subtitle]]
[[!template text="I got my hands on OpenAI's GPT-3." start="00:00:22.233" video="mainVideo" id=subtitle]]
[[!template text="Six months ago, I knew that it was" start="00:00:28.160" video="mainVideo" id=subtitle]]
[[!template text="important to research this for Emacs," start="00:00:29.920" video="mainVideo" id=subtitle]]
[[!template text="you know, asides from being somebody" start="00:00:33.920" video="mainVideo" id=subtitle]]
[[!template text="who never wants to leave Emacs myself," start="00:00:35.980" video="mainVideo" id=subtitle]]
[[!template text="and I hope that…." start="00:00:39.040" video="mainVideo" id=subtitle]]
[[!template text="Being one of the few Emacs users," start="00:00:41.440" video="mainVideo" id=subtitle]]
[[!template text="possibly the only one that had" start="00:00:43.120" video="mainVideo" id=subtitle]]
[[!template text="access to GPT-3 for this long," start="00:00:45.360" video="mainVideo" id=subtitle]]
[[!template text="I hope that I can contribute." start="00:00:48.160" video="mainVideo" id=subtitle]]
[[!template text="So, Emacs, sorry." start="00:00:52.559" video="mainVideo" id=subtitle]]
[[!template text="Imaginary programming is…," start="00:00:55.199" video="mainVideo" id=subtitle]]
[[!template text="it's based on prompt engineering currently," start="00:00:58.960" video="mainVideo" id=subtitle]]
[[!template text="but it's an abstraction over" start="00:01:01.280" video="mainVideo" id=subtitle]]
[[!template text="prompt engineering." start="00:01:02.559" video="mainVideo" id=subtitle]]
[[!template text="You can read about prompt engineering" start="00:01:03.359" video="mainVideo" id=subtitle]]
[[!template text="and language models," start="00:01:06.479" video="mainVideo" id=subtitle]]
[[!template text="that's quite easy to google for." start="00:01:08.560" video="mainVideo" id=subtitle]]
[[!template text="And imaginary programming is a subfield" start="00:01:13.040" video="mainVideo" id=subtitle]]
[[!template text="of imaginary computing," start="00:01:15.520" video="mainVideo" id=subtitle]]
[[!template text="which is just the larger domain" start="00:01:17.360" video="mainVideo" id=subtitle]]
[[!template text="of employing of computing" start="00:01:19.424" video="mainVideo" id=subtitle]]
[[!template text="that's based on imagination," start="00:01:21.420" video="mainVideo" id=subtitle]]
[[!template text="artificial imagination," start="00:01:24.240" video="mainVideo" id=subtitle]]
[[!template text="so, basically, dreaming up user interfaces" start="00:01:25.600" video="mainVideo" id=subtitle]]
[[!template text="instead of…, or at least partially" start="00:01:29.920" video="mainVideo" id=subtitle]]
[[!template text="dreaming them up." start="00:01:32.159" video="mainVideo" id=subtitle]]
[[!template text="I suppose that it's a fringe paradigm," start="00:01:34.079" video="mainVideo" id=subtitle]]
[[!template text="but it's extremely useful." start="00:01:41.439" video="mainVideo" id=subtitle]]
[[!template text="Imaginary computing," start="00:01:43.759" video="mainVideo" id=subtitle]]
[[!template text="if you're willing to call it that," start="00:01:47.759" video="mainVideo" id=subtitle]]
[[!template text="would be what's used to" start="00:01:49.200" video="mainVideo" id=subtitle]]
[[!template text="imagine simulations" start="00:01:51.920" video="mainVideo" id=subtitle]]
[[!template text="for self-driving cars," start="00:01:53.413" video="mainVideo" id=subtitle]]
[[!template text="as they're trained for example." start="00:01:54.320" video="mainVideo" id=subtitle]]
[[!template text="But this technology finds" start="00:01:57.840" video="mainVideo" id=subtitle]]
[[!template text="its way to the public," start="00:01:58.984" video="mainVideo" id=subtitle]]
[[!template text="and it should be in the public domain." start="00:02:00.960" video="mainVideo" id=subtitle]]
[[!template text="So, Demis Hassabis" start="00:02:04.880" video="mainVideo" id=subtitle]]
[[!template text="he's the founder of DeepMind," start="00:02:06.799" video="mainVideo" id=subtitle]]
[[!template text="and he did his Ph.D. in human imagination," start="00:02:08.959" video="mainVideo" id=subtitle]]
[[!template text="now he's working on artificial imagination." start="00:02:12.400" video="mainVideo" id=subtitle]]
[[!template text="So, just a couple of days ago" start="00:02:16.900" video="mainVideo" id=subtitle]]
[[!template text="I took AlephAlpha's world model API" start="00:02:20.239" video="mainVideo" id=subtitle]]
[[!template text="and I plugged it into Emacs's eww browser," start="00:02:25.040" video="mainVideo" id=subtitle]]
[[!template text="and now I have a way of generating" start="00:02:28.080" video="mainVideo" id=subtitle]]
[[!template text="text for the images instead of actually…," start="00:02:30.800" video="mainVideo" id=subtitle]]
[[!template text="so I can stay in my text only Emacs," start="00:02:33.840" video="mainVideo" id=subtitle]]
[[!template text="which is the way it should be." start="00:02:38.072" video="mainVideo" id=subtitle]]
[[!template text="Intelligent NFTs, I'll leave this" start="00:02:42.560" video="mainVideo" id=subtitle]]
[[!template text="for you guys to look at." start="00:02:45.636" video="mainVideo" id=subtitle]]
[[!template text="Information bubbles." start="00:02:47.360" video="mainVideo" id=subtitle]]
[[!template text="So, there's some potential bad outcomes" start="00:02:49.280" video="mainVideo" id=subtitle]]
[[!template text="from the runaway empowering of these" start="00:02:55.360" video="mainVideo" id=subtitle]]
[[!template text="large language models and other models" start="00:03:05.680" video="mainVideo" id=subtitle]]
[[!template text="in commercial hands." start="00:03:08.959" video="mainVideo" id=subtitle]]
[[!template text="It's causing information bubbles and" start="00:03:10.000" video="mainVideo" id=subtitle]]
[[!template text="ways of controlling people." start="00:03:13.680" video="mainVideo" id=subtitle]]
[[!template text="So, for example," start="00:03:15.680" video="mainVideo" id=subtitle]]
[[!template text="micro tasks and stuff that…," start="00:03:19.440" video="mainVideo" id=subtitle]]
[[!template text="furthermore just automating away," start="00:03:21.680" video="mainVideo" id=subtitle]]
[[!template text="or abstracting away the role" start="00:03:23.650" video="mainVideo" id=subtitle]]
[[!template text="of a programmer," start="00:03:26.000" video="mainVideo" id=subtitle]]
[[!template text="and the automating more and more" start="00:03:27.680" video="mainVideo" id=subtitle]]
[[!template text="increasingly abstract tasks," start="00:03:29.360" video="mainVideo" id=subtitle]]
[[!template text="and I think the solution is to" start="00:03:32.319" video="mainVideo" id=subtitle]]
[[!template text="decentralize and break up these tasks." start="00:03:33.659" video="mainVideo" id=subtitle]]
[[!template text="I have a potential way of doing that," start="00:03:36.319" video="mainVideo" id=subtitle]]
[[!template text="but firstly I'll talk about" start="00:03:39.120" video="mainVideo" id=subtitle]]
[[!template text="the imaginary web briefly" start="00:03:40.693" video="mainVideo" id=subtitle]]
[[!template text="because the thing about these" start="00:03:42.400" video="mainVideo" id=subtitle]]
[[!template text="language models is," start="00:03:44.720" video="mainVideo" id=subtitle]]
[[!template text="they can replace basically" start="00:03:48.000" video="mainVideo" id=subtitle]]
[[!template text="everything on the internet." start="00:03:49.280" video="mainVideo" id=subtitle]]
[[!template text="So, like, replace your Wikipedia," start="00:03:52.159" video="mainVideo" id=subtitle]]
[[!template text="or Stack Overflow," start="00:03:55.280" video="mainVideo" id=subtitle]]
[[!template text="replace conversation if you want it with," start="00:03:57.680" video="mainVideo" id=subtitle]]
[[!template text="from real people to chatbots instead," start="00:04:01.519" video="mainVideo" id=subtitle]]
[[!template text="replace basically anything there's" start="00:04:05.920" video="mainVideo" id=subtitle]]
[[!template text="a website for." start="00:04:13.120" video="mainVideo" id=subtitle]]
[[!template text="And that means that rich media has gone" start="00:04:14.959" video="mainVideo" id=subtitle]]
[[!template text="from becoming images and video" start="00:04:17.280" video="mainVideo" id=subtitle]]
[[!template text="and even from paywalls" start="00:04:20.639" video="mainVideo" id=subtitle]]
[[!template text="now into intelligent and truthful," start="00:04:22.560" video="mainVideo" id=subtitle]]
[[!template text="because generating fictional websites" start="00:04:26.400" video="mainVideo" id=subtitle]]
[[!template text="is going to become a very easy thing to do," start="00:04:29.520" video="mainVideo" id=subtitle]]
[[!template text="and actually the best way to do it," start="00:04:31.919" video="mainVideo" id=subtitle]]
[[!template text="and the most useful way to do it," start="00:04:35.120" video="mainVideo" id=subtitle]]
[[!template text="so then you need a source of truth." start="00:04:37.440" video="mainVideo" id=subtitle]]
[[!template text="The imaginary web is a thing," start="00:04:40.560" video="mainVideo" id=subtitle]]
[[!template text="imaginary interpreters are a thing," start="00:04:43.759" video="mainVideo" id=subtitle]]
[[!template text="so you imagine your interpreter," start="00:04:46.000" video="mainVideo" id=subtitle]]
[[!template text="or you overlay prompting on top of" start="00:04:50.000" video="mainVideo" id=subtitle]]
[[!template text="a real interpreter to see" start="00:04:53.759" video="mainVideo" id=subtitle]]
[[!template text="what you might want to do" start="00:04:55.520" video="mainVideo" id=subtitle]]
[[!template text="in an interpreter," start="00:04:57.440" video="mainVideo" id=subtitle]]
[[!template text="and what you might want to say to somebody" start="00:04:58.800" video="mainVideo" id=subtitle]]
[[!template text="if you're talking to them." start="00:05:01.039" video="mainVideo" id=subtitle]]
[[!template text="If you're inside, say," start="00:05:01.919" video="mainVideo" id=subtitle]]
[[!template text="ERC in Emacs, an IRC client," start="00:05:03.199" video="mainVideo" id=subtitle]]
[[!template text="and you prompt after somebody" start="00:05:05.840" video="mainVideo" id=subtitle]]
[[!template text="says something," start="00:05:07.440" video="mainVideo" id=subtitle]]
[[!template text="then the prompt will probably suggest," start="00:05:08.479" video="mainVideo" id=subtitle]]
[[!template text="what you might say in return," start="00:05:10.400" video="mainVideo" id=subtitle]]
[[!template text="and then you can prompt like a multiverse," start="00:05:13.120" video="mainVideo" id=subtitle]]
[[!template text="and you can pick from them." start="00:05:15.199" video="mainVideo" id=subtitle]]
[[!template text="There's a bunch of crazy utilities" start="00:05:18.800" video="mainVideo" id=subtitle]]
[[!template text="for these language models." start="00:05:23.912" video="mainVideo" id=subtitle]]
[[!template text="Paracosm vs Metaverse." start="00:05:26.560" video="mainVideo" id=subtitle]]
[[!template text="So, Mark Zuck wants you to live in" start="00:05:28.960" video="mainVideo" id=subtitle]]
[[!template text="his virtual reality as defined by him," start="00:05:30.828" video="mainVideo" id=subtitle]]
[[!template text="and he's going to do it" start="00:05:34.320" video="mainVideo" id=subtitle]]
[[!template text="by using these models to make you" start="00:05:36.160" video="mainVideo" id=subtitle]]
[[!template text="a fictional world that you can live in." start="00:05:40.539" video="mainVideo" id=subtitle]]
[[!template text="You can do that," start="00:05:42.639" video="mainVideo" id=subtitle]]
[[!template text="or you can use them yourself," start="00:05:43.280" video="mainVideo" id=subtitle]]
[[!template text="and you build your own Paracosm." start="00:05:46.400" video="mainVideo" id=subtitle]]
[[!template text="And I think that's an important" start="00:05:50.000" video="mainVideo" id=subtitle]]
[[!template text="ability to be able to have," start="00:05:51.440" video="mainVideo" id=subtitle]]
[[!template text="otherwise we will be like the borg," start="00:05:53.440" video="mainVideo" id=subtitle]]
[[!template text="and we'll be connected to Mark Zuckerberg." start="00:05:56.880" video="mainVideo" id=subtitle]]
[[!template text="Truth is a hot topic." start="00:06:01.520" video="mainVideo" id=subtitle]]
[[!template text="So, the way that I think we should do this" start="00:06:06.400" video="mainVideo" id=subtitle]]
[[!template text="to decentralize the language models is," start="00:06:08.880" video="mainVideo" id=subtitle]]
[[!template text="to use Structuralism." start="00:06:10.720" video="mainVideo" id=subtitle]]
[[!template text="Universal grammar," start="00:06:13.199" video="mainVideo" id=subtitle]]
[[!template text="template metaprogramming, and GPT-3" start="00:06:19.600" video="mainVideo" id=subtitle]]
[[!template text="what do they have in common?" start="00:06:21.680" video="mainVideo" id=subtitle]]
[[!template text="Well, you have some kind of basis," start="00:06:23.919" video="mainVideo" id=subtitle]]
[[!template text="like, you train your GPT-3," start="00:06:27.759" video="mainVideo" id=subtitle]]
[[!template text="and then you do all your prompting" start="00:06:31.408" video="mainVideo" id=subtitle]]
[[!template text="on top of it." start="00:06:32.663" video="mainVideo" id=subtitle]]
[[!template text="Like a person is born with this grammar," start="00:06:33.360" video="mainVideo" id=subtitle]]
[[!template text="and then they quickly learn language," start="00:06:35.840" video="mainVideo" id=subtitle]]
[[!template text="and like with C++ templates," start="00:06:37.759" video="mainVideo" id=subtitle]]
[[!template text="you pre-process and then" start="00:06:40.240" video="mainVideo" id=subtitle]]
[[!template text="the run time runs on that." start="00:06:42.080" video="mainVideo" id=subtitle]]
[[!template text="So, anyway, that was a slide." start="00:06:44.800" video="mainVideo" id=subtitle]]
[[!template text="Structuralism." start="00:06:48.000" video="mainVideo" id=subtitle]]
[[!template text="I think you can decompile…," start="00:06:50.479" video="mainVideo" id=subtitle]]
[[!template text="think you can break," start="00:06:52.080" video="mainVideo" id=subtitle]]
[[!template text="so you can decompose" start="00:06:52.880" video="mainVideo" id=subtitle]]
[[!template text="the language models into units," start="00:06:53.840" video="mainVideo" id=subtitle]]
[[!template text="but those units won't look like neurons," start="00:06:55.840" video="mainVideo" id=subtitle]]
[[!template text="they would look like these," start="00:06:57.759" video="mainVideo" id=subtitle]]
[[!template text="and you put them onto a blockchain." start="00:06:59.440" video="mainVideo" id=subtitle]]
[[!template text="But you can look at that later" start="00:07:01.759" video="mainVideo" id=subtitle]]
[[!template text="if you want anyway." start="00:07:02.744" video="mainVideo" id=subtitle]]
[[!template text="I'm going to skip straight to ilambda," start="00:07:03.840" video="mainVideo" id=subtitle]]
[[!template text="running out of time." start="00:07:07.199" video="mainVideo" id=subtitle]]
[[!template text="I'll just quickly show you" start="00:07:09.919" video="mainVideo" id=subtitle]]
[[!template text="the ilambda primitive in ilambda." start="00:07:12.240" video="mainVideo" id=subtitle]]
[[!template text="So, it evaluates instead of run," start="00:07:15.199" video="mainVideo" id=subtitle]]
[[!template text="for example, here's the reduced function," start="00:07:19.199" video="mainVideo" id=subtitle]]
[[!template text="and you've defined your" start="00:07:21.680" video="mainVideo" id=subtitle]]
[[!template text="imaginary lambda here." start="00:07:22.632" video="mainVideo" id=subtitle]]
[[!template text="And it doesn't have a body," start="00:07:25.520" video="mainVideo" id=subtitle]]
[[!template text="it's just got the comment" start="00:07:26.560" video="mainVideo" id=subtitle]]
[[!template text="and the parameters," start="00:07:31.599" video="mainVideo" id=subtitle]]
[[!template text="and that's enough for…." start="00:07:33.120" video="mainVideo" id=subtitle]]
[[!template text="Once you have that ilambda" start="00:07:36.560" video="mainVideo" id=subtitle]]
[[!template text="that runs now as a function," start="00:07:38.720" video="mainVideo" id=subtitle]]
[[!template text="you can stick it into" start="00:07:40.080" video="mainVideo" id=subtitle]]
[[!template text="a reduced function, for example," start="00:07:40.800" video="mainVideo" id=subtitle]]
[[!template text="and it'll reduce this list." start="00:07:42.720" video="mainVideo" id=subtitle]]
[[!template text="You could even remove…, yeah," start="00:07:46.240" video="mainVideo" id=subtitle]]
[[!template text="so you kind of need the comment" start="00:07:50.560" video="mainVideo" id=subtitle]]
[[!template text="otherwise it's too hard to imagine" start="00:07:51.759" video="mainVideo" id=subtitle]]
[[!template text="what would happen next," start="00:07:56.048" video="mainVideo" id=subtitle]]
[[!template text="but for a function you can literally" start="00:07:57.360" video="mainVideo" id=subtitle]]
[[!template text="have an idefun even without" start="00:08:01.520" video="mainVideo" id=subtitle]]
[[!template text="the argument list." start="00:08:03.360" video="mainVideo" id=subtitle]]
[[!template text="It was just like generate-fib-sequence," start="00:08:04.639" video="mainVideo" id=subtitle]]
[[!template text="and most likely when you run that defun," start="00:08:06.319" video="mainVideo" id=subtitle]]
[[!template text="it would work the way you want it." start="00:08:09.919" video="mainVideo" id=subtitle]]
[[!template text="The more information you give the idefun," start="00:08:13.759" video="mainVideo" id=subtitle]]
[[!template text="the imaginary defun," start="00:08:16.000" video="mainVideo" id=subtitle]]
[[!template text="the better it would capture the task" start="00:08:17.840" video="mainVideo" id=subtitle]]
[[!template text="which you're trying to do," start="00:08:20.879" video="mainVideo" id=subtitle]]
[[!template text="in this case you want to generate" start="00:08:22.000" video="mainVideo" id=subtitle]]
[[!template text="a Fibonacci sequence." start="00:08:23.039" video="mainVideo" id=subtitle]]
[[!template text="And yeah, you can define functions" start="00:08:24.080" video="mainVideo" id=subtitle]]
[[!template text="without having a body," start="00:08:28.319" video="mainVideo" id=subtitle]]
[[!template text="and they run an inference instead." start="00:08:30.560" video="mainVideo" id=subtitle]]
[[!template text="Here's a way of overriding" start="00:08:32.640" video="mainVideo" id=subtitle]]
[[!template text="the language model that's used," start="00:08:34.159" video="mainVideo" id=subtitle]]
[[!template text="for example, using dynamic scope." start="00:08:36.000" video="mainVideo" id=subtitle]]
[[!template text="So, under the hood," start="00:08:40.640" video="mainVideo" id=subtitle]]
[[!template text="idefun just uses an ilambda." start="00:08:41.863" video="mainVideo" id=subtitle]]
[[!template text="This function here just doubles things." start="00:08:47.040" video="mainVideo" id=subtitle]]
[[!template text="So, here's a function that gets you" start="00:08:50.959" video="mainVideo" id=subtitle]]
[[!template text="a hexadecimal color just from the name." start="00:08:53.752" video="mainVideo" id=subtitle]]
[[!template text="And you can create" start="00:08:59.279" video="mainVideo" id=subtitle]]
[[!template text="arbitrary functions like this," start="00:09:00.160" video="mainVideo" id=subtitle]]
[[!template text="so, what we need is like a library" start="00:09:02.160" video="mainVideo" id=subtitle]]
[[!template text="of imaginary functions, I think," start="00:09:04.268" video="mainVideo" id=subtitle]]
[[!template text="that match a language model." start="00:09:07.200" video="mainVideo" id=subtitle]]
[[!template text="Macros on the other hand," start="00:09:12.800" video="mainVideo" id=subtitle]]
[[!template text="as different from functions," start="00:09:15.760" video="mainVideo" id=subtitle]]
[[!template text="they actually macro expand" start="00:09:18.160" video="mainVideo" id=subtitle]]
[[!template text="and generate code." start="00:09:20.000" video="mainVideo" id=subtitle]]
[[!template text="So, when you macro expand this," start="00:09:21.360" video="mainVideo" id=subtitle]]
[[!template text="you'll get this," start="00:09:23.279" video="mainVideo" id=subtitle]]
[[!template text="and that's because this has an arity of 3," start="00:09:26.320" video="mainVideo" id=subtitle]]
[[!template text="and then when you macro expand" start="00:09:30.000" video="mainVideo" id=subtitle]]
[[!template text="that underlying macro," start="00:09:31.839" video="mainVideo" id=subtitle]]
[[!template text="it generates the actual source code." start="00:09:32.959" video="mainVideo" id=subtitle]]
[[!template text="You can actually run these macros," start="00:09:35.120" video="mainVideo" id=subtitle]]
[[!template text="and it will cache the output…," start="00:09:37.839" video="mainVideo" id=subtitle]]
[[!template text="it will catch the source code," start="00:09:41.279" video="mainVideo" id=subtitle]]
[[!template text="so the macro runs the same" start="00:09:42.480" video="mainVideo" id=subtitle]]
[[!template text="every single time," start="00:09:44.240" video="mainVideo" id=subtitle]]
[[!template text="or generates the same code," start="00:09:45.839" video="mainVideo" id=subtitle]]
[[!template text="but you can just use it" start="00:09:47.519" video="mainVideo" id=subtitle]]
[[!template text="to generate code really easily" start="00:09:48.560" video="mainVideo" id=subtitle]]
[[!template text="while you're programming." start="00:09:49.920" video="mainVideo" id=subtitle]]
[[!template text="I hope that this has been informative," start="00:09:52.000" video="mainVideo" id=subtitle]]
[[!template text="it wasn't too much time," start="00:09:55.920" video="mainVideo" id=subtitle]]
[[!template text="but there's plenty of material" start="00:09:57.600" video="mainVideo" id=subtitle]]
[[!template text="for you to dig into it more" start="00:10:00.312" video="mainVideo" id=subtitle]]
[[!template text="if you're interested." start="00:10:01.680" video="mainVideo" id=subtitle]]
[[!template text="Thank you very much" start="00:10:04.000" video="mainVideo" id=subtitle]]
[[!template text="for letting me talk today." start="00:10:04.959" video="mainVideo" id=subtitle]]
[[!template text="Peace out!" start="00:10:09.519" video="mainVideo" id=subtitle]]
[[!template text="captions by bhavin192 (Bhavin Gandhi)" start="00:10:15.680" video="mainVideo" id=subtitle]]