E120 (24) - CSL: Test, test, test?
E120 (24) - CSL: Yep, alright, alright.
E120 (24) - CSL: It's on the screen marked, Advanced Room Features, Content IT. Okay.
E120 (24) - CSL: I guess I start now.
E120 (24) - CSL: So.
Speaker 1 (E120 (24) - CSL): There are different ways people use these tools. I have my own premise of… especially the CEOs of the companies that make these tools don't necessarily agree with this premise. My premise is that they're good for menial tasks.
Speaker 1 (E120 (24) - CSL): For stuff that you know how to do.
Speaker 1 (E120 (24) - CSL): But, it drains your soul to have to rearrange Excel tabs, or program a plot that's…
Speaker 1 (E120 (24) - CSL): In some ways, this can be fun. Data analysis can be fun, but the day-to-day stuff is seminial. Same with programming. Writing a…
Speaker 1 (E120 (24) - CSL): Simple tests, writing a benchmark, things that… a lot of these things, in some situations, need a lot of intellectual work. But in many situations, they're menial.
Speaker 1 (E120 (24) - CSL): So, these tools are… recently became really good for menial tasks.
Speaker 1 (E120 (24) - CSL): the people that were selling them would have told you that a year ago, they were great. I would say 3 months ago, they really started being good enough for me to drastically increase my productivity on these menial tasks.
Speaker 1 (E120 (24) - CSL): there are people that claim that these things will get better for non-minio tasks. I don't care about that prediction, that might or not… might or might not be true. The only thing that you will really extract from this tutorial is how to deal with the minio tasks.
Speaker 1 (E120 (24) - CSL): In that context as well, these tools are really good for generating garbage. And that's fine if the garbage is something that you'll be using for yourself. A garbage home automation script that I will use for 2 months and then throw away is great. I don't have,
Speaker 1 (E120 (24) - CSL): master craftsman desires from that script. But if you're going to give that to someone else, you're a terrible person. Right now, the… I mean, there are plenty of bad things about the… the…
Speaker 1 (E120 (24) - CSL): scientific publishing curtail. And we should change that system.
Speaker 1 (E120 (24) - CSL): But also, we shouldn't break it without having anything to replace it. Right now, that system is breaking, because people are using these tools to generate things that look convincing, but they're not of any useful quality.
Speaker 1 (E120 (24) - CSL): I'm waiting on an editor to look at the submitted paper for 3 months right now, not on the reviewer to look at the paper, because of tubes like this.
Speaker 1 (E120 (24) - CSL): The… previously, if you saw something that looked polished, that was a useful signal when you start reviewing something to know that it might actually be polished. These tools are really good at generating
Speaker 1 (E120 (24) - CSL): artifacts that looked polished, but they're garbage. And this makes it so much more difficult to do review. And that's something that you should be aware when you're reviewing what the tool is providing to you as well.
Speaker 1 (E120 (24) - CSL): I am, the volunteer maintainer of a bunch of open source projects. Every day now, I'm receiving a pull request that looks,
Speaker 1 (E120 (24) - CSL): Well, some of them already immediately looked like garbage, so I just block those users. But that hurts my soul. I used to like being an open source maintainer.
Speaker 1 (E120 (24) - CSL): Because I would see all these junior developers contribute to this unique community effort that exists that really doesn't exist in other industries. I love that.
Speaker 1 (E120 (24) - CSL): Now I'm just a group that is blocking people that occasionally may actually have been sincere contributors. So please don't contribute to the destruction of social, contract that is happening right now.
Speaker 1 (E120 (24) - CSL): With that in mind, let's actually use these tools for something that helps.
Speaker 1 (E120 (24) - CSL): First thing, you might notice that I've shared a terminal window.
Speaker 1 (E120 (24) - CSL): I will be doing most of the stuff I'm doing in a terminal.
Speaker 1 (E120 (24) - CSL): My claim is that this is a very good universal interface to talk to the computer. It's… there… for anything you need, there will be a text form tool, and…
Speaker 1 (E120 (24) - CSL): Text happens to be the natural language in which these AOMs work.
Speaker 1 (E120 (24) - CSL): So, in that sense, terminals are great for that. But also, having some minor skills in using the terminal, even if you're not using an AOM, can be a significant, .
E120 (24) - CSL: Force multiplier for your work.
Speaker 1 (E120 (24) - CSL): On the other hand.
Speaker 1 (E120 (24) - CSL): the default terminals installed on a lot of machines are garbage, and they're just not pleasant to use. So be, snobbish about the tools you used. For instance, if I am going to go to a different folder, I won't,
Speaker 1 (E120 (24) - CSL): automatically the thing to suggest me what folders exist. I want, when I type a folder name.
Speaker 1 (E120 (24) - CSL): I want the rest to kind of all to complete, so that I can click a single button to go to that folder. Obviously, I don't want to write down the folder names by myself, so be snobbish about the tools you use. If the terminal is not faster than the graphical user interface, there is a way to use the terminal in a more pretentious way.
Speaker 1 (E120 (24) - CSL): Speaking of this.
Speaker 1 (E120 (24) - CSL): So install a good terminal emulator, and in this terminal emulator, install a good modern shell.
Speaker 1 (E120 (24) - CSL): By default, you probably have the bash shell on Linux machines and on Windows, and it's not particularly powerful.
Speaker 1 (E120 (24) - CSL): On Macs, I think you have ZShell that I don't have installed here at all. It's a little bit better, and it has a lot of nice plugins that you can make it into a nice shell. I'm using the fish shell. When I Google the word fish, I don't get pictures of fishes. My local profile knows that I'm actually asking for the fish shell. It's a shell in which a lot of things
Speaker 1 (E120 (24) - CSL): are really reading your mind, so you get to do less work. That's valuable when you're doing actual, menial work, because you want less of it.
Speaker 1 (E120 (24) - CSL): There are ways to use these AOMs from a graphical user interface in a way in which they have access to your computer and do a lot.
Speaker 1 (E120 (24) - CSL): And…
Speaker 1 (E120 (24) - CSL): These are not bad tools, but if you want to be at the forefront of what these tools can do, the terminal interface is probably the one in which you can do the most. If you just want to…
Speaker 1 (E120 (24) - CSL): Be an okay user of these tools to do a couple… a little bit of a mini-work for you.
Speaker 1 (E120 (24) - CSL): I don't really think that the shell has to be the way you use them, but if you want to use… to be a power user that really
Speaker 1 (E120 (24) - CSL): is using them to their extreme for what they're good for, I do think that the terminal is the natural way to use these tools. This is not, geek's nobishness that you have to use a mouse. And terminals support the use of mouse if they're not antique. I can select and copy-paste text.
Speaker 1 (E120 (24) - CSL): Second thing, you're probably already doing something like that, but just make sure that you compartmentalize your projects, put them in a folder, don't have everything dispersed everywhere. And in that context, especially when you're using a programming language, and that's what some of the things we'll be using.
Speaker 1 (E120 (24) - CSL): set up the programming language infrastructure in a way in which it doesn't spread across your entire computer. Don't use your system install of Python, because if you install a library within that environment, you don't know what you did to your system.
Speaker 1 (E120 (24) - CSL): So, for Python specifically, you might have used pip, you might have used Conda, you might have used, virtual env. I would really say.
Speaker 1 (E120 (24) - CSL): Since a year or two ago, Python finally has a non-terrible package manager. Just use UV to create your environment. If you don't know how to use UV, start Clote, tell it, UV is installed, or if it hasn't been installed, here is the webpage for UV, read it for me, tell me how to install it.
Speaker 1 (E120 (24) - CSL): here's the help for UV, tell me how to use it. But use something like this, too. I will have a couple of this type of initial comments here to tell you how to set up your environment.
Speaker 1 (E120 (24) - CSL): Because if you set up your environment in a clean way, these tools are less probable to destroy your computer or to create garbage.
Speaker 1 (E120 (24) - CSL): So, please, just use UV for Python. For Julia, use Julia Up to install your Julia environment. Julia has the advantage to be a much more recent language. It learned from many of the mistakes that Python did in package management, so from the start, it has a good package manager.
Speaker 1 (E120 (24) - CSL): If you're using Rust, use its natural package management tool. For whatever language you use, don't just start throwing everything everywhere on your computer. Learn what the package management tool for that language is.
Speaker 1 (E120 (24) - CSL): And similarly, there are a couple of, other tools you might benefit from on your computer. That's, more importantly.
Speaker 1 (E120 (24) - CSL): the… because they're so standard, the AOMs know about these tools, and will try to use those tools when they're doing work on your computer.
Speaker 1 (E120 (24) - CSL): So, grab, even if you don't know how to use it, the LM will teach you. It's a… my point is to tell you what are the best tools. You can learn how to use them. Same, like, in a class. Someone will tell you the term and where to learn about it, what's a good textbook, but you know how to use textbooks.
Speaker 1 (E120 (24) - CSL): So, grab is a really good tool for searching for strings in a lot of text.
Speaker 1 (E120 (24) - CSL): rib grip, RG, is a snobbish, modern version of Grape with more features. AOMs like using it.
Speaker 1 (E120 (24) - CSL): Jq is a very good way to read through,
Speaker 1 (E120 (24) - CSL): dump files from the JavaScript language, JSON files. So, if you're wanting to do a lot of white-coded web programming, you probably want JQ to be available on your computer, because it helps read through APIs and so on.
Speaker 1 (E120 (24) - CSL): I don't know how to use JQ,
Speaker 1 (E120 (24) - CSL): I started Vibe coding a lot of visualization tools on the web, and that's why now I have JK installed.
E120 (24) - CSL: You REALLY should have Git.
Speaker 1 (E120 (24) - CSL): Because with… and should learn a little bit more about kids, especially how to undo a change.
Speaker 1 (E120 (24) - CSL): Because with these tools, you want something to be well compartmentalized, and you want to be able to undo the mess it makes from some time to time. If it starts making a mess, don't ask it to fix it mess.
Speaker 1 (E120 (24) - CSL): Stop it and go backwards. These tools really go in a rabbit hole of nonsense. If, it's like the butterfly effect. A little bit of perturbation at the start, if you don't keep it on the rails, it will exponentially diverge into a sloppy direction.
Speaker 1 (E120 (24) - CSL): If you want to also use GitHub.
Speaker 1 (E120 (24) - CSL): which is just one of many services on which you can host a Git repository.
Speaker 1 (E120 (24) - CSL): Github provides a command line interface to all of its services, GitGH. It's not Git. It has some of the capabilities of Git, but its purpose is to talk to the GitHub website.
Speaker 1 (E120 (24) - CSL): It's not something to use to manage your local repository, it's something to use to put things on GitHub, create pull requests, create website host on GitHub. It's useful to have it, just because
Speaker 1 (E120 (24) - CSL): with tools like that, you don't need to click on the website. This is a textual tool that is the natural language for these AOMs to work with. I didn't use GH until I started using AOM agents a lot.
Speaker 1 (E120 (24) - CSL): the main reason I use this now is because of the manual work of clicking through, making sure that the pull request is happening, checking whether the tests worked out, all this can be automated with a tool like GH. So, anything that's hidden in the settings page of your GitHub repository is available through here.
Speaker 1 (E120 (24) - CSL): And then having Curl and…
Speaker 1 (E120 (24) - CSL): double you get is useful if you want to script the download of a lot of files. And there are a few more tools, like, head is very convenient for looking at the start of a file. For instance, you have a CSV with a lot of data that you want to plot.
Speaker 1 (E120 (24) - CSL): You don't want to load this entire data in your terminal, but if you just type head, you'll read the top of the file. So these are just the…
Speaker 1 (E120 (24) - CSL): day-to-day, Verbs that, if you know, you can be more predictive on the terminal.
Speaker 1 (E120 (24) - CSL): This is the interface between these LM Magentic tools and your computer.
Speaker 1 (E120 (24) - CSL): And that's kind of another important point here. This is different from the web chat tools. The web chat tools, they might have various hooks into various services at this point. They're good at being able to get something, as long as the company making the web chat tool has created an interface for that something.
Speaker 1 (E120 (24) - CSL): But if you just give access to the terminal, and you have installed a couple of good tools.
Speaker 1 (E120 (24) - CSL): Now these agentic tools can do anything a human can do on the terminal. They don't need in advance, to have,
Speaker 1 (E120 (24) - CSL): bespoke API created to some external tool.
Speaker 1 (E120 (24) - CSL): That's why I mentioned JQ so much, because JQ is a pretty good way from your terminal to access many online APIs.
Speaker 1 (E120 (24) - CSL): The two, or you, will not know what's the rules for accessing that API, what are the names of access points and so on, but those will be documented somewhere, and you can read it, you can give that to the tool to read it.
Speaker 1 (E120 (24) - CSL): Also, when I'm talking about the terminal here, you won't be able, by default, to read an Excel file. You would need a tool that translates the Excel file to actual text. So a CSV file is a more natural text-based format.
Speaker 1 (E120 (24) - CSL): As long as you have a tool that can do that, and tell your agent about that.
Speaker 1 (E120 (24) - CSL): Modern agents are surprisingly good at figuring it out. Just make sure that there is a documentation for how the tool is used. Even if the agent doesn't know, and frequently doesn't know, if there is a documentation, you can give the documentation to the agent, and it will read it.
Speaker 1 (E120 (24) - CSL): As I mentioned, there are GraphQ user interfaces that are coming for this, that are kind of in between the web chats and the terminal use.
Speaker 1 (E120 (24) - CSL): I find them stifling.
Speaker 1 (E120 (24) - CSL): they're more limited, but they're more convenient. So that's…
Speaker 1 (E120 (24) - CSL): And they'll be getting more and more convenient. So, if you're not someone who does a lot of programming, if you're not a system administrator type of person, it's fine if you go for the graphical tools. What we're learning today is more about the style of working with those tools, learning how those tools work internally, because having this mental model
Speaker 1 (E120 (24) - CSL): fixes most of the issues you have with those tools. Also fixes the expectations of those tools.
Speaker 1 (E120 (24) - CSL): So, I was mentioning how you can use documentation to teach the tool something that it doesn't know how to do.
Speaker 1 (E120 (24) - CSL): People use the word training and fine-tuning a lot, but I want to disambigorate them a little bit.
Speaker 1 (E120 (24) - CSL): These tools, they're based on a large language model. This model internally might have some knowledge, frequently does have some knowledge. Knows that the capital of France is Paris. It knows how words correlate. It can…
Speaker 1 (E120 (24) - CSL): Spit out something that looks a good sequence of, like, a good sequence of words.
Speaker 1 (E120 (24) - CSL): But while it might happen to have some recollection of the documentation of a tool you're using, because that tool has public documentation, it happened to be part of the training set.
Speaker 1 (E120 (24) - CSL): it's better to provide that documentation to the context of the tool. And I want to distinguish the two and what innate knowledge that you might have from its training from the context. Some people talk about training an AOM on a specific dataset.
Speaker 1 (E120 (24) - CSL): or fine-tuning the OM on a specific dataset, we will never be doing this with these tools. You have a pre-trained model, you're not training it, you're not fine-tuning it. Rather, you're giving information in its context, in its current memory.
Speaker 1 (E120 (24) - CSL): mental model of what's happening, if you like, entrepreneurizing these things, is that these tools have the type of amnesia where in 5 minutes, they forget what they were told. So, they might have something that they've learned before they were stricken their head.
Speaker 1 (E120 (24) - CSL): But now, all they can do is rely on
Speaker 1 (E120 (24) - CSL): vague previous memory, even if it's pretty impressive, and it contains facts, like, not just how you structure a sentence, but actual facts about the world. It might contain those, but if you want it to be good at something, you need to put it in its actual context.
Speaker 1 (E120 (24) - CSL): So when you're looking at the features of a model, one thing would be how many weights it has. That's how much of this previous knowledge it has. Another thing, it would be how large of a context it has. This is how much stuff you can put in its current memory for it to focus on. Moreover, you also need to worry about
Speaker 1 (E120 (24) - CSL): how good its recollection on the context is, because if something is at the very beginning of the context, it's pretty unlikely that now, 5 minutes later, it would be attentive to what was in the beginning of its context window.
E120 (24) - CSL: Oh.
Speaker 1 (E120 (24) - CSL): Number of weights is this innate knowledge, the context size is its current workhorse memory, and the recollection of context is also a feature that's not necessarily, needs to be measured. You might have the same context, but different quality of how you work in the context.
Speaker 1 (E120 (24) - CSL): Okay, so this was my intro. This took about 20 minutes.
Speaker 1 (E120 (24) - CSL): Now we can actually start using these tools. Any questions before we start playing with them?
Speaker 1 (E120 (24) - CSL): I have a very quick question. What is… you talked about, package management at the very beginning. What would be the difference.
Speaker 2 (E120 (24) - CSL): something like Conda, that I use, for example, for Tizen, and UB.
E120 (24) - CSL: education.
Speaker 1 (E120 (24) - CSL): basis. Condo works… condo works pretty well. It's not bad.
Speaker 1 (E120 (24) - CSL): But, it's more verbose, it's more unreliable, it's slower, it, it spreads more on your system, it's less compartmentalized. If you're very productive with Conda, and noise documentation, stick to Conda. If… but…
Speaker 1 (E120 (24) - CSL): UV is better. UV will give you less trouble after you do the on-ramping of learning how to use UV. And learning how to use UV will be less work than learning how to use conda.
Speaker 1 (E120 (24) - CSL): UV is also more reproducible. It's condo… it's difficult to share your condo environment with someone in a way that's easy to reproduce. That's another thing that package management folks notice that is important, especially in the senses, so that's the thing that UV is facing as well.
Speaker 1 (E120 (24) - CSL): So, just ripping off of that last comment, when we were talking yesterday about,
Speaker 1 (E120 (24) - CSL): So, retraining the C… or enhancing the training.
Speaker 3 (E120 (24) - CSL): of the CQN chat tutor.
E120 (24) - CSL: It's… it's not actually.
Speaker 3 (E120 (24) - CSL): retraining. It is just an.
E120 (24) - CSL: additional.
Speaker 3 (E120 (24) - CSL): tools? Yes.
Speaker 1 (E120 (24) - CSL): It just got louder outside. We won't be doing air training. Training requires supercomputers.
Speaker 1 (E120 (24) - CSL): We'll be just doing…
Speaker 1 (E120 (24) - CSL): context management, which is maybe a slightly more pretentious way to say, prompt engineering.
E120 (24) - CSL: Okay, so… .
Speaker 1 (E120 (24) - CSL): well, let's start using the tools. So, me and my friends, we recently… well, I recently started DMing for our RPG game, and thankfully, my friends are nerds, and have kept the history of our games for the last two years in a week.
Speaker 1 (E120 (24) - CSL): And that saves me a lot of time, because as a faculty, I don't have a lot of time to dedicate to preparing a gaming session on a Sunday.
Speaker 1 (E120 (24) - CSL): So, what I did was I downloaded the wiki locally. It was in text files, thankfully. It was text files formatted for consumption by program, so it's not like they were very legible.
Speaker 1 (E120 (24) - CSL): But… Now I can make,
Speaker 1 (E120 (24) - CSL): A tool that helps me learn what happened in the previous two years of games, and design a story that works well in that context for the next couple of sessions.
Speaker 1 (E120 (24) - CSL): And I'm using this example because, it's a little bit less morally ambiguous. If I do this with papers, and I show you how to generate a paper based on a bunch of other papers.
Speaker 1 (E120 (24) - CSL): This might start being a way for you to generate slope and to be terrible people. It is the same process, but,
Speaker 1 (E120 (24) - CSL): I don't know, it feels a little bit lower stakes here.
Speaker 1 (E120 (24) - CSL): It doesn't even need to be good art, it needs to be a storyline that's sufficient to entertain a couple of nerds over an afternoon.
E120 (24) - CSL: So…
Speaker 1 (E120 (24) - CSL): I've prepared a folder, with this content. I went onto the wiki, and I basically downloaded vocations and characters and races, and whatever, and it's, in here, in this folder.
Speaker 1 (E120 (24) - CSL): And it's in the Blue Sky Project Export. So, let's just look at that folder.
Speaker 1 (E120 (24) - CSL): And it's really not something that I've tried to organize myself. It's just a very messy export from a wiki software. And let's look at some…
Speaker 1 (E120 (24) - CSL): journals.
Speaker 1 (E120 (24) - CSL): It has a lot of journals in here, and if I look at the first one, hopefully there's nothing embarrassing in it…
Speaker 1 (E120 (24) - CSL): It's something written not for human consumption, it's written for a script. But importantly, it's text.
Speaker 1 (E120 (24) - CSL): And it happens to be in a format, JSON, that can be manipulated well by the JQ tool, and you get to,
Speaker 1 (E120 (24) - CSL): You get to…
Speaker 1 (E120 (24) - CSL): As a human, you get to extract specifically what you want from that file if you use JQ, but the AOM also automates for itself, extracting only the snippets that are important. You don't want to overwhelm the AOM with a ton of junk in its context.
Speaker 1 (E120 (24) - CSL): It… modern ones might deal with it, but the better you are at managing this very precious resource, the context that you don't want to fill up of your AOM,
Speaker 1 (E120 (24) - CSL): the better the results will be. The more focused it will be, the more… the less it will need to worry about skipping the… the weird text data format, or something like that.
E120 (24) - CSL: So…
Speaker 1 (E120 (24) - CSL): There is a ton of stuff here, and imagine that this was your Zotero or Mende export. Same thing.
Speaker 1 (E120 (24) - CSL): I just want it in a text form, which reminds me, PDFs… I mean, because PDFs are so widespread, these tools are getting built-in capabilities to read PDFs.
Speaker 1 (E120 (24) - CSL): But if you have the tech source, way better.
Speaker 1 (E120 (24) - CSL): The less you… The more you…
Speaker 1 (E120 (24) - CSL): Make it easy for a script
Speaker 1 (E120 (24) - CSL): to read through these things, to read to the text, the more you make it easier for you, yourself, to build an automated tool without using AOMs, but also the easier it is for the AOM to build these.
Speaker 1 (E120 (24) - CSL): So, having machine-readable formats that are pleasant for a human to read is the best case scenario for these tools. That's why Markdown as a text format is used so much with the OMs.
E120 (24) - CSL: Okay, so now let's…
Speaker 1 (E120 (24) - CSL): make our baby version of something like ChatTutor. ChatTutor is much more advanced than what I'm describing, but we'll make something that works in the same spirit, even if they're technical details that are different.
Speaker 1 (E120 (24) - CSL): So finally, let's open plot, and embarrassingly, you can see that it autocompletes for me an option that I use frequently.
Speaker 1 (E120 (24) - CSL): So, I frequently use this in a compartmentalized fashion, where it cannot nuke my computer. I'm not using it in that compartmentalized fashion right now.
Speaker 1 (E120 (24) - CSL): So, don't dangerously skip permissions. Go on Reddit, see all the stories about someone's hard drive being nuked by these tools, and then the tools apologizing. It's not fun when it happens.
Speaker 1 (E120 (24) - CSL): And to make a tangent here, that's why tools like UV and Julia Up and compartmentalization of your projects is so important, because then it's easy to back them up, and it's easy to restore them on a completely different computer. That's not very easy with Conda, but that's trivial with UV. So my backups now, because I'm using UV and Julia Up, are much…
Speaker 1 (E120 (24) - CSL): Easier to restore, because they're much more self-contained.
Speaker 1 (E120 (24) - CSL): It's not just my scripts and data that are saved, it's the complete description of what my system looked like.
E120 (24) - CSL: Okay, so let's start Claude.
Speaker 1 (E120 (24) - CSL): Yes, I trust this folder.
E120 (24) - CSL: Okay.
Speaker 1 (E120 (24) - CSL): So, these tools are becoming more and more fanciful. Read the tips that pop up. They're trying to be cutesy, they're trying to be non-threatening.
Speaker 1 (E120 (24) - CSL): hiding their Skynet intentions and so on. But you can rely on the tips they have. And while the main thing that you need to remember is the guiding principle of how you work with these is context management.
Speaker 1 (E120 (24) - CSL): Every month, there is a new trick about context management. There's really a Cambrian explosion of how people do it. Like, this thing has a CloudMD file, AgentsMD file, a skill file, a plugin… you don't need to worry about these words. Just learn the most basic way they organize their,
Speaker 1 (E120 (24) - CSL): Context, and use that.
Speaker 1 (E120 (24) - CSL): A year from now, half the advanced tools probably will be structured differently. In 5 years, there might be a standard way.
Speaker 1 (E120 (24) - CSL): So, this tool now, is,
Speaker 1 (E120 (24) - CSL): terminal interface I can talk to, like in a chat, but unlike the web chat, it has access to all that is on my computer.
Speaker 1 (E120 (24) - CSL): That's why I didn't run it with dangerously skipped permissions, or if we're going to use OpenAI tool, they are even more on the nose, it's double-YOLO. So…
Speaker 1 (E120 (24) - CSL): Well, what do we want to do? We want to organize this information. There are principled ways to organize this information. I won't do anything but principled. I'll just try to have some small amount of summary somewhere that I could have written myself about how the data is structured.
Speaker 1 (E120 (24) - CSL): or because I'm lazy, I'll ask this tool to do it for me.
Speaker 1 (E120 (24) - CSL): And the point here is, I'm not trying to use the tool to ask it to do something interesting with the data yet. Rather, I'm asking the tool to figure out how to organize the data in a way that would be good for context management. I'm going to ask it to basically prepare a small file, a text file, that
Speaker 1 (E120 (24) - CSL): it automatically loads next time. That tells it.
Speaker 1 (E120 (24) - CSL): Well, most of the data is stored here, you can search for the data in this format, you can use this tool to search for it. There are more… there are better ways to
Speaker 1 (E120 (24) - CSL): organized data. There's something called a rack database, a vector database. If you want something that's principled, and you want to really build
Speaker 1 (E120 (24) - CSL): something substantial for use by others, learning what a vector database is useful. But the whole point of where these tools are going right now, especially the GenTech tools, is that you don't need to do this
Speaker 1 (E120 (24) - CSL): principle structure. You can just do it the way a human would organize their files, and the Agentic tools, while less efficient in that fashion, will still work fine.
Speaker 1 (E120 (24) - CSL): That's the whole point of, for this particular tool, plot.md file. It's a human-readable, actually pretty well-formatted file that explains how this project is structured, and what are the quick tips to do something within this project, what's the usual workflow for this project.
Speaker 1 (E120 (24) - CSL): And in other tools, they have converged on naming the file agents.md. Cloud gets to be special because they were first.
Speaker 1 (E120 (24) - CSL): So, let's prepare this. And really, whenever you start a project, probably preparing this first guiding file, human-readable documentation that the agent will use, is what you should do.
Speaker 1 (E120 (24) - CSL): So, what is our goal here? I want this thing to help me with preparing low-quality pope functions, fun stories based on the history of the game, and to help me… remind me of facts about the game, so that I can pretend that I know what the city of Frosthaven is.
Speaker 1 (E120 (24) - CSL): So, in this folder… No. Mmm… In the folder…
Speaker 1 (E120 (24) - CSL): What was the name of the folder?
Speaker 1 (E120 (24) - CSL): in the folder, the Blue Sky Project Export.
E120 (24) - CSL: folder, the Blue Sky Project Export.
E120 (24) - CSL: I have the… contents of.
Speaker 1 (E120 (24) - CSL): Kanka is the brand name. For Cancer, Wiki.
Speaker 1 (E120 (24) - CSL): That's me and my friends… oh, I and my friends. Me and my friends. Your friends and I. Thank you. My friends and I…
E120 (24) - CSL: That's, my friends and I.
Speaker 1 (E120 (24) - CSL): Used to record the… .
E120 (24) - CSL: Roads…
Speaker 1 (E120 (24) - CSL): Building and stories of our, tabletop RPG games.
Speaker 1 (E120 (24) - CSL): I want to use this wiki.
Speaker 1 (E120 (24) - CSL): To efficiently look up.
E120 (24) - CSL: past.
Speaker 1 (E120 (24) - CSL): events and… contexts.
E120 (24) - CSL: to.
Speaker 1 (E120 (24) - CSL): Help with providing context for Optics, and… And plans for future stories.
E120 (24) - CSL: look…
Speaker 1 (E120 (24) - CSL): through the… file tree and prepare a closed MD file with the overall…
Speaker 1 (E120 (24) - CSL): structure, and if you're making this for your own papers, you will write a lot of the CloudMD file yourself. The more you give it to start with, the better, but I don't know anything about this database.
E120 (24) - CSL: With oral structure.
Speaker 1 (E120 (24) - CSL): with tips, and the tips are not really for me, the tips is for Claude itself.
Speaker 1 (E120 (24) - CSL): on… How to efficiently search through it with JQ, and… Rib grip.
Speaker 1 (E120 (24) - CSL): And I didn't really need to tell it, JQ and RipGrip, but I know these are good tools for doing that. And I'm putting it on a railroad that I know will work well. If you're a good programmer, if you're good at these things.
Speaker 1 (E120 (24) - CSL): ask it to do things in the way you consider good. Sure, always check yourself against the two, against colleagues, but always ask it to do things in a way you know it's good, less of a chance for it to deviate in a bad direction. If you don't know what's a good way to do it.
Speaker 1 (E120 (24) - CSL): Try to do that as a separate research project, a discussion in this context, but .
E120 (24) - CSL: half.
Speaker 1 (E120 (24) - CSL): Have a explicit, back and forth of figuring the right workflow before committing to a workflow.
E120 (24) - CSL: And I want to stress.
Speaker 1 (E120 (24) - CSL): I'm not showing you how to build large systems, I'm showing you how to vibe code something quickly right now. This is not the correct, correct way to build a large retrieval system that can generate interesting results based on the available data.
Speaker 1 (E120 (24) - CSL): But it works, so… who cares? I guess that's kind of the promise that these AI companies are making.
Speaker 1 (E120 (24) - CSL): if you want to go in this direction, always push yourself to find more efficient ways to do things. But if you just want to be,
Speaker 1 (E120 (24) - CSL): user of these things, I would say this is kind of the Goldilocks zone, where you don't need to commit to a lot of AI domain knowledge, but you know enough about how these things work to not be bogged down in incredible inefficiencies.
Speaker 1 (E120 (24) - CSL): Another small thing… actually, I'll just press enter and continue talking.
Speaker 1 (E120 (24) - CSL): I happen to be using the most ridiculous, state-of-the-art, expensive model for this one right now. This is silly.
Speaker 1 (E120 (24) - CSL): I've selected Office 4.6. This is like… this… rainforests were destroyed to create this model.
Speaker 1 (E120 (24) - CSL): You can select the level of, of,
Speaker 1 (E120 (24) - CSL): Intensity, or different model when you use tools like that.
Speaker 1 (E120 (24) - CSL): Oppos 4.6 really sh… didn't make sense as the choice of model here. There are smaller, faster, cheaper models that I could use that would eat through my,
Speaker 1 (E120 (24) - CSL): Through my,
Speaker 1 (E120 (24) - CSL): talking allotment, much slower. But this will still work. So, because I didn't run it with dangerously skipped permissions, it's asking me whether I am permitting it to run this file, to run this script.
Speaker 1 (E120 (24) - CSL): And educationally, it's actually useful for you, if you're not experienced with these tools, to read through the script. For all directories in this folder, it will be echoing the name of the directory, it will be finding all the JSON files and counting how many lines they have.
Speaker 1 (E120 (24) - CSL): It will be finding… things that are not JSON files, and also counting how many there are, and… yeah.
Speaker 1 (E120 (24) - CSL): And again, they're trying to be very non-threatening, so they have these cutesy literal verbs about mulling, and .
E120 (24) - CSL: Doing whatever, wow, it's.
Speaker 1 (E120 (24) - CSL): Sending the context to the Anthropic server, deciding the Anthropic server deciding what's the command to run, sending it here, asking which I want to run the command.
Speaker 1 (E120 (24) - CSL): Okay, the next thing is, it will be running the keys command from JQ,
Speaker 1 (E120 (24) - CSL): on a bunch of different JSON files in order to learn what various JSON keys exist. And actually, who cares? Sure, let's do the next thing too, and let's hope it doesn't ask me to delete all of my hard drive while I'm just clicking yes.
Speaker 1 (E120 (24) - CSL): And some people are really excited about using these tools in truly a headless fashion, where they don't look adaptable, just use a ton of agents talking to each other. This is… interesting.
Speaker 1 (E120 (24) - CSL): In some situations, it might even be good.
Speaker 1 (E120 (24) - CSL): This is not what I'm trying to convey here. I think at the scale of what we're trying to do here, at the type of work that's
Speaker 1 (E120 (24) - CSL): I want to convey that can be done, the meaning work that can be done a little bit more quickly. I would say babysitting this and looking what it's doing is useless, especially if you're not an experienced programmer. I mean, you might learn something about a JQ command, you might learn something about a good workflow, but more importantly, you might notice midway through,
Speaker 1 (E120 (24) - CSL): midway through that it's doing something stupid, and you can stop it and redirect it. Or even better, stop it and restart with a better initial prompt. Trying to do things in few steps is much better than trying to get it to correct itself. It goes in loops, it gets very confused.
Speaker 1 (E120 (24) - CSL): It's reading more things. You see how you are really under pressure to use that dangerously skip permissions option, and you stop reading these things?
Speaker 1 (E120 (24) - CSL): Please, if you go in that direction, do a little bit of,
Speaker 1 (E120 (24) - CSL): due diligence to see how you can compartmentalize these things. Make a new user on your computers that's not an admin user, something that protects you against, really stupid stuff.
Speaker 1 (E120 (24) - CSL): I would say these tools are getting better at not doing stupid stuff. Well, now the question is more complicated, I will actually have to read it. But…
Speaker 1 (E120 (24) - CSL): they can delete the entirety of your computer. They are just thinking what's most reasonable, and maybe the story that it's reading was about how some demon created this referential spell that deletes the spellbook of the wizard, and it gets confused and runs rm-rf slash.
Speaker 1 (E120 (24) - CSL): So, be careful.
Speaker 1 (E120 (24) - CSL): Okay, for something and something, list organization names, yeah, list, yes, and don't ask me for similar commands.
Speaker 1 (E120 (24) - CSL): And of note, right now, the slowest part is me clicking yes. This would have been done by now, otherwise.
Speaker 1 (E120 (24) - CSL): And again, there are ways to use it in a compartmentalized fashion, that's the value of the compartmentalized fashion, that you can just go faster if something explodes, you reset it, that's the value of UV. UV is way easier to reset than condo.
Speaker 1 (E120 (24) - CSL): But you should be using Julia, Julia Penguins. Okay…
Speaker 2 (E120 (24) - CSL): Does it mean that it can give the permission in one specific folder, and then just click? Like, if I don't care about this folder, and I'm like, whatever, if everything explodes in this folder, I have my Zotero backup. Yeah, yeah. Can I just…
Speaker 1 (E120 (24) - CSL): the tool by itself, they're trying to build… to get these things built in. I would say the tool by itself doesn't have that capability well. Okay, so I have to.
Speaker 2 (E120 (24) - CSL): to actually read all of the yes. Yes. The thing is…
Speaker 1 (E120 (24) - CSL): you will get tired of that. It's a really strong incentive to just continue clicking yes and yes.
Speaker 1 (E120 (24) - CSL): So, figuring out a way to not have to deal with that mental overload and incentive is better, so…
Speaker 1 (E120 (24) - CSL): a Docker container, a virtual environment, sorry, like a virtual machine, something like that, where you have a second machine in your machine, is probably the safest way to do it.
Speaker 1 (E120 (24) - CSL): The probability of this going haywire and destroying your stuff is not that high.
Speaker 1 (E120 (24) - CSL): But the cost of that happening is big. And again, me using UV or Julia is also part of minimizing that cost, because it's easier to get things back from backup if I'm using these tools.
E120 (24) - CSL: It's moonwalking now, and then it's concocting.
Speaker 1 (E120 (24) - CSL): And then it's… rank… rank… ranking?
Speaker 1 (E120 (24) - CSL): A small thing… yeah, they're trying to be cute, to be less threatened.
Speaker 1 (E120 (24) - CSL): So you mentioned it's sending stuff back.
Speaker 3 (E120 (24) - CSL): to the Anthropic server. Like, what data from this is going there versus what's being run locally?
Speaker 1 (E120 (24) - CSL): the model is actually running somewhere around Tropic Servo, and it's probably using, a pair of oil, per day.
Speaker 1 (E120 (24) - CSL): But, so, all of the text, like, the batch command might be executed here, but the text outcome of that command is packaged in some big chat message given to the entropic model, given back
Speaker 1 (E120 (24) - CSL): The harness, the agent, looks for commands in that output.
Speaker 1 (E120 (24) - CSL): and decides that this is the command that is being asked to run. It's a little bit more structured than that, but anything that's happening here is, in terms of
Speaker 1 (E120 (24) - CSL): AOM text reading and text prediction is happening on the Tropic servers. The only thing that's happening here is running the code that the AOM is asking you to run.
E120 (24) - CSL: They're things that run locally.
Speaker 1 (E120 (24) - CSL): they're just not as good yet. It's very impressive how small and smaller computers can run interesting AOM models.
Speaker 1 (E120 (24) - CSL): And we really need to think about China and France for a lot of advances in this.
Speaker 1 (E120 (24) - CSL): So some of these things might start being able to run on a Mac Mini in a few years, but right now, especially for the Frontier models, and you should be using the Frontier models, they're just going to save you so much trouble. There's a very big difference between the Frontier models from the last 3 months, and…
Speaker 1 (E120 (24) - CSL): any models from a year ago. Just use the best available ones. Frontiers. Just the best, yeah.
Speaker 1 (E120 (24) - CSL): It's the snobbish word these companies use.
Speaker 1 (E120 (24) - CSL): But yeah, everything is running on their cloud. Sorry, all the inference is running on their cloud.
E120 (24) - CSL: Oh, it had an error.
Speaker 1 (E120 (24) - CSL): Anyway, it reads the error, and it figures out how to, it has its own feedback loop. If it detects an error, it tries to correct for the error.
Speaker 1 (E120 (24) - CSL): No, it's… More reading of files…
Speaker 1 (E120 (24) - CSL): Now I'm really regretting not using the best fashion and dangerously skip permissions.
E120 (24) - CSL: Okay, finally.
Speaker 1 (E120 (24) - CSL): I have a thorough understanding of the structure, let me create the cloud.md file.
Speaker 2 (E120 (24) - CSL): Sorry, will the output always be this ClaudeMD file? That's the default name for everything that it spits out? No.
Speaker 1 (E120 (24) - CSL): No, the CloudMD file is something I specifically asked to build. It's a file of,
Speaker 1 (E120 (24) - CSL): initial instructions for how to work in this project. So if it was a research project, a simulation project, the CloudMD file would be, in this folder, this script is doing this, and I've kind of structured the script as follows, like, this is the main function that does a lot of things, and it depends on this library.
Speaker 1 (E120 (24) - CSL): And the documentation is in this folder. To run the script, use this command. To install a new package, use this command. It's all of the things that you shouldn't expect the model to know on its own. Or, if it knows on its own, it's just way too…
Speaker 1 (E120 (24) - CSL): wasteful to rely on it to figure it out each time. I don't want the model each time to have to read through the entirety of this folder structure.
Speaker 2 (E120 (24) - CSL): an instruction manual, like a database, like an instruction manual for what you want it to do. It gives it the context. Yeah, it's the.
Speaker 1 (E120 (24) - CSL): README for the file, for the project. It's literally the README, it's just that it has a different name. Okay.
Speaker 1 (E120 (24) - CSL): So, instead of giving it all of that wiki, to say, hey, Claude, go look at this wiki and then come up with this, what you're.
Speaker 4 (E120 (24) - CSL): is you're extracting only the important parts. I'm not gonna…
Speaker 1 (E120 (24) - CSL): extracting that much of the content of the wiki, which is… but it's good to have some of the content in there, in the important parts, but I am also asking it to extract the structure, so next time it knows how to more quickly read through it. The ClothMD file, the README file of our project, the documentation of our project.
Speaker 1 (E120 (24) - CSL): really should have the tips and tricks of how to use this project efficiently. And…
Speaker 1 (E120 (24) - CSL): Here, I myself didn't know how to use this database efficiently, where to look for things. So I was even lazier, I can…
Speaker 1 (E120 (24) - CSL): Meta asked the tool to figure out for itself as well, and to prepare its own notes for the future.
E120 (24) - CSL: the loadMD file.
Speaker 1 (E120 (24) - CSL): It's something that is a pretty important resource for this tool.
Speaker 1 (E120 (24) - CSL): So, this is a file that you should read yourself. This should be a human-readable file, and really the important stuff should be in this file.
Speaker 1 (E120 (24) - CSL): So, the Blue Sky project, Kanka Wiki Export, a table-toe RPG something, campaigns, story arcs, the Knights of Famine and Building Pressure and something, I don't know what kids in space is, this is nonsense, this hasn't happened, it confabulated it, so let's just delete this. So, go through this, and notice it's…
Speaker 1 (E120 (24) - CSL): it's incorrect, statements. And… and make sure that this is something that a human can use, and that this is something that, if a human can use, these tools will use well as well.
Speaker 1 (E120 (24) - CSL): So, it has the directory structure, great. I would say, kind of, don't care about the number of files in here, this will get outdated. So, actually, I will delete…
Speaker 1 (E120 (24) - CSL): Oops, I hope…
E120 (24) - CSL: I'll delete this as well.
Speaker 1 (E120 (24) - CSL): This doesn't seem like useful content. So be snobbish about the content of this file.
Speaker 1 (E120 (24) - CSL): So, this is important, the JSON schema, how do you read things from these files?
Speaker 1 (E120 (24) - CSL): What keys, have various meanings?
E120 (24) - CSL: And…
Speaker 1 (E120 (24) - CSL): Going down. Okay, most importantly, it has these search recipes. Again, if you're going to do this seriously, you probably should actually have a cold base that does these things.
Speaker 1 (E120 (24) - CSL): You should create your own command that is, search for, like, blue sky search, keyword, something.
Speaker 1 (E120 (24) - CSL): The more structure you provide, the better these tools will be, because they won't need to rely on their context.
Speaker 1 (E120 (24) - CSL): But I'm lazy, I'm vibecoding. I, I don't want to bother with building this tool by myself. Maybe, if I notice later on that it's really difficult to use this, I'll ask Claude to build this formal tool.
Speaker 1 (E120 (24) - CSL): And, then tell Claude to document how to use the tool.
Speaker 1 (E120 (24) - CSL): But the point is that I'm…
Speaker 1 (E120 (24) - CSL): structure… I'm tailing the rules for how to work in this project, the tips for how to find things.
Speaker 1 (E120 (24) - CSL): So, this looks good. So now, let's actually use it for something.
Speaker 1 (E120 (24) - CSL): Now that we have created this initial cloud file, I want, Sad…
Speaker 1 (E120 (24) - CSL): New story in a northern, town.
Speaker 1 (E120 (24) - CSL): E.g, close to High Tower Academy.
Speaker 1 (E120 (24) - CSL): Where the fascist, ice dwarves have, I promise, we started this story before what happened in Minneapolis. We feel weird about playing this story now. Have.
Speaker 4 (E120 (24) - CSL): Okay.
Speaker 1 (E120 (24) - CSL): Look through the… Database for context, because this is something that has happened in the store.
E120 (24) - CSL: And.
Speaker 1 (E120 (24) - CSL): And describe a cute little town that is under their seal now.
Speaker 1 (E120 (24) - CSL): On the coast. And really, I should be more detailed here, like, just stuff like, give me a couple of names for a few different important figures in town, like the apothecary and the wizard, whatever, give me a storyline in this style, yadda yadda yadda. This won't give me a good result, because I'm in a hurry, and I didn't give a lot of
Speaker 1 (E120 (24) - CSL): interesting directions.
Speaker 1 (E120 (24) - CSL): Or if this is something about papers.
Speaker 1 (E120 (24) - CSL): take Sikhat's paper on this MBQC purification technology, but, I want to be able to simulate it, so look at the documentation of QuantumCleefer.jo and figure out how do you construct the state
Speaker 1 (E120 (24) - CSL): In equations so-and-so of the tag file from that paper, based on the documentation from this library.
Speaker 1 (E120 (24) - CSL): That's the workflow now, that you have a cloud file telling you, the papers are here, that's how you search through the papers. The documentation of the software is here, that's how you search for the documentation of the software. This is how you install the software locally using Julio. This is how you do this or that. Have a cloud file with the set of instructions, and ask it.
Speaker 1 (E120 (24) - CSL): to… well, I should have said stored in this file, I should give it more details. It will guess something reasonable, but the more you constrain it, the better it will be working out.
Speaker 1 (E120 (24) - CSL): And this is my baby example of a retrieval system.
Speaker 1 (E120 (24) - CSL): a retrieval system in which I use it then to generate something new. Not necessarily new of quality, but it is a synthesis of my new instructions and what already exists.
Speaker 1 (E120 (24) - CSL): Notice that I'm not really doing anything with code right now. I mean, internally, these things will be using JQ and Ribrep, and they are constantly making small snippets of code that they execute, but we haven't created the library. So, we'll do that as well shortly.
Speaker 1 (E120 (24) - CSL): Questions up to here? Yes.
Speaker 2 (E120 (24) - CSL): Right now you asked it to drop that story, so we have the database, all of your past logs from the past two years in the folder. And then, it created a kind of README file where it says, oh, you should go see in this folder, and this is the structure, and blah blah blah.
Speaker 2 (E120 (24) - CSL): But don't you have to tell it…
Speaker 2 (E120 (24) - CSL): look on… in this specific CloudMD? You should. Or is it just in the flow right now?
Speaker 1 (E120 (24) - CSL): is kind of the default file, so if you have a closed MD and they're kind of,
Speaker 1 (E120 (24) - CSL): hierarchical. You can have a clothing view for a subfolder, for a sub-subfolder, so the harness
Speaker 1 (E120 (24) - CSL): We'll have some default places to look for instructions. CloudMD, or agents.md for other tools, is really the main one. I would say don't bother learning about others. The others will change next year.
Speaker 1 (E120 (24) - CSL): But yeah, that type of files, if they exist, the harness knows to use them automatically.
Speaker 1 (E120 (24) - CSL): If they don't exist, tell it, well, read in the README file to do this or that. The whole point of the CloudMD file is so to skip all the initial instructions of each time telling it, the structure is like this, you should be reading here, you should be reading there. But you have one per.
Speaker 2 (E120 (24) - CSL): projects.
Speaker 4 (E120 (24) - CSL): And for the… mainly.
Speaker 1 (E120 (24) - CSL): folder of the project, and actually, for subfolders, you can have more. You can… Okay. And that's a good idea. The more, anal you are about context management, the better these tools will work.
Speaker 3 (E120 (24) - CSL): you sort of made a reference to current events. If you wanted to emulate current events in your next story, would it…
Speaker 3 (E120 (24) - CSL): Be able to extract information that is not in the folder that you provided?
Speaker 1 (E120 (24) - CSL): More and more, that is becoming true, because the… the guiding principle behind these companies is that these things should require less intervention.
Speaker 1 (E120 (24) - CSL): But the way it works is that there will be something internally that looks at what you're writing and occasionally triggers a decision to, oh, do a web search.
Speaker 1 (E120 (24) - CSL): my principle of using these tools is the opposite. I'm spec… I don't want it to do this on its own. I want you to know when it does that on its… so I would put a link to,
Speaker 1 (E120 (24) - CSL): to New York Times or something. So that, well, New York Times is behind a paywall. But I'll put a link to the context, and these tools are actually pretty good at downloading webpages these times. Even that was not obvious. A year ago, you should have downloaded the web page manually, cleaned it up, or told in cloud.md, the tool to download a web page and clean it up is such and such.
Speaker 1 (E120 (24) - CSL): But now you can just put in a link, and this has a built-in capability to download something.
E120 (24) - CSL: So, it's…
Speaker 1 (E120 (24) - CSL): given the context in, in CloudMD, it decided to read a bunch of stuff, it searched for Ice Dwarf. Corvall is the name of a big demon, it figured that out from the database, and it searched for that.
Speaker 1 (E120 (24) - CSL): And it decided what to search for. It used some of the instructions from CloudMD, how to search for these things efficiently. This was important first step, because without this, it wouldn't have known how to get more useful context. It could have gotten a lot of garbage context.
E120 (24) - CSL: And.
Speaker 1 (E120 (24) - CSL): Oh, gosh, I really shouldn't have used, Office for this. It's…
E120 (24) - CSL: It's just…
Speaker 1 (E120 (24) - CSL): conditioned to do something really sophisticated right now, so it probably will write an unnecessarily verbose, long story that, because I didn't give any constraints, will go way off the rails of what I want to talk about.
Speaker 1 (E120 (24) - CSL): I should have used one of the smaller models. The fact that this is running for 4 minutes, and he's using 11,000 tokens probably means that my next example will need to use the OpenAI toolkit, because I will run out of tokens in this one.
Speaker 1 (E120 (24) - CSL): So this was a mistake. I should have switched it to a simpler model, especially if… I mean, this is cheap pope fiction type of stuff.
E120 (24) - CSL: Save this inact file.
Speaker 1 (E120 (24) - CSL): So I should have used the cheaper models that would just generate something that would be entertaining for us. If I was going to do the example for writing an algorithm based on something that's in a text format from a paper, I really should use the most advanced, like, tech.
Speaker 1 (E120 (24) - CSL): Generally, I should also direct it to make a plan, give it a plan, because that way it might structure its works… it works in little pieces that have their own context.
Speaker 1 (E120 (24) - CSL): So everything really is around this context management. The better you are at intuitively having this notion of context management, the better the results will be.
Speaker 1 (E120 (24) - CSL): So it creates a town called Shellbreak, and…
Speaker 1 (E120 (24) - CSL): It learned about the AV race and the citaran race, and there's something about the frost tail of herbalists. All of this was learned from the database that these friends of mine built over the last 2 or 3 years. And it made a story in that context.
E120 (24) - CSL: Importantly, why is this better than the web chat?
Speaker 1 (E120 (24) - CSL): Because I gave it this completely arbitrarily formatted database that didn't need to have a hook into the web chat, and it still worked fine.
Speaker 3 (E120 (24) - CSL): Yep. So…
Speaker 3 (E120 (24) - CSL): I am predominantly a web chat interface user, so could I basically hack that by creating a README that I'm uploading for the contact, so I'm not having to re-input the same information over and over? More and more so.
Speaker 1 (E120 (24) - CSL): Yes, but, the way they do it is kind of different between each two. It's,
Speaker 1 (E120 (24) - CSL): It's… it's doable, but I would say it's more work doing it through the web chat.
Speaker 1 (E120 (24) - CSL): It's easy to… it's also, with this, just rename the club.md file to agents.md, and now I can use someone else's system. So, it's less of a commitment to someone's walled garden. Right.
Speaker 1 (E120 (24) - CSL): so…
E120 (24) - CSL: Let's do…
Speaker 1 (E120 (24) - CSL): So…
Speaker 1 (E120 (24) - CSL): As I mentioned, there are better ways to structure data extractions. There are RAG databases, retrieval augmented generation style stuff. That's a very useful tool to know if you want to do something, like, really advanced.
Speaker 1 (E120 (24) - CSL): There is, these are built on top of something that's called vector databases, so ask Clot what a vector databases. That might be a better way to do these things. Basically, this will be the way, with Clot, to build… to vibe code the better, too.
Speaker 1 (E120 (24) - CSL): Then, in terms of a workflow, try the thing.
Speaker 1 (E120 (24) - CSL): Try to notice when it has mistakes and inefficiencies, and then stop.
Speaker 1 (E120 (24) - CSL): update the cloud.md file to address these mistakes and efficiencies.
Speaker 1 (E120 (24) - CSL): write rules about how it should actually be done, and then restart. Make sure that these rules are organized. This clot.md file should not be gigantic. You can always have subfolders and say, in the first Clot.md file. For this subtopic, look at this other ClotMD file, and
Speaker 1 (E120 (24) - CSL): while it always will be structured in something like that, the names of the files will change between different, companies, they will have some more advanced ways to structure these things, they'll have a skill.md, they'll have a plugin, they're more advanced things.
Speaker 1 (E120 (24) - CSL): You really don't need to worry about those unless you're going to really start using these tools for a lot of your work.
Speaker 1 (E120 (24) - CSL): If I have a set of reasonable Julia skills, skill files, if you're going to use a lot of Julia, I'll share those.
Speaker 1 (E120 (24) - CSL): With that, the main content for today is kind of done, but I want… I have two more examples of actually doing something related to actual programming now, which… my main point is that it doesn't look too different from what we did now.
Speaker 1 (E120 (24) - CSL): And it's really about the fact that it makes sense to try to first have the tool generate your response.
Speaker 1 (E120 (24) - CSL): But that frequently won't work well, especially for scientific problems. After that first attempt fails, and you make the rules, and clarify things, and try again, and it fails again, you should really start thinking about how you will solve that problem. You'll solve that problem by writing a program that does something rigorous.
Speaker 1 (E120 (24) - CSL): Well, you can vibecode that.
Speaker 1 (E120 (24) - CSL): Now that the two couldn't figure it out on its own, they went, well, that seems to be too… too ill-defined of a problem. Let's make it rigorous, let's discuss what is the best programming language in which to implement a solution, or if you have a preference for a programming language, let's use this programming language and this library to write a program that would be answering the question, instead of
Speaker 1 (E120 (24) - CSL): Trying to answer the question direct.
Speaker 1 (E120 (24) - CSL): So that's where these tools become useful. Sure, you can use them as a chat tool, which is really all that I showed today, but the point is that
Speaker 1 (E120 (24) - CSL): It makes you easily transition from using them as a chat tool to using them to create a program that rigorously solves the question from the chat.
Speaker 1 (E120 (24) - CSL): So, in the next 10 minutes, I'll go to two programming examples in that style.
Speaker 1 (E120 (24) - CSL): Any questions, or anyone might need to leave before we switch to those actual examples of programming?
Speaker 2 (E120 (24) - CSL): It's, an agent which is better than others, like, scientifically. It's like you're using code? No, absolutely. Are they equivalent? Yeah. Okay.
Speaker 1 (E120 (24) - CSL): I'll say Cloth and OpenAI are equivalent, everyone else is far behind. Not very far, like, 3 months behind, but 3 months is far in this field right now.
Speaker 2 (E120 (24) - CSL): I'm an experimentalist, so I just, you know… I just suck at them all around, and I'm trying to get it a bit more organized, but I don't know.
Speaker 4 (E120 (24) - CSL): Oh, sorry. Excuse me, David. Sure, sure, I will.
Speaker 1 (E120 (24) - CSL): It depends on your discipline.
Speaker 4 (E120 (24) - CSL): There's some, like, hand…
Speaker 1 (E120 (24) - CSL): tips and tricks from.
Speaker 2 (E120 (24) - CSL): a Zoom meeting or something. I think this could.
Speaker 4 (E120 (24) - CSL): So, we spent a good time.
Speaker 1 (E120 (24) - CSL): Knobbish about the quality of your problems. Nice to meet you. Try to learn from them. Try to be judgmental about them, and not trusting the tool to be correct.
Speaker 1 (E120 (24) - CSL): I think this actually would really speed, speed up your learning process, because now you have basically a personal computer, a peer.
Speaker 1 (E120 (24) - CSL): Don't trust how it's doing it. Ask it.
Speaker 1 (E120 (24) - CSL): And expect it to be a snake that just gives you compliments and avoids saying that something was wrong, just immediately says that something was wrong.
Speaker 1 (E120 (24) - CSL): don't… don't… don't treat it as a human. Be polite to it, because we're nice people, but don't… don't traumatize it. Have this expectation that it's…
E120 (24) - CSL: Occasionally.
Speaker 1 (E120 (24) - CSL): Wildly wrong with the… in a schizophrenic fashion.
Speaker 1 (E120 (24) - CSL): And I really think that you will actually very quickly become a good programmer.
Speaker 1 (E120 (24) - CSL): Even if you're not great at writing efficient code, don't worry about that. Really worry about writing organized codes.
Speaker 1 (E120 (24) - CSL): And interrogate the two about what's a good principle here, and use separate sessions. A session for interrogating what's a good style, a session for building the thing, because these are different focuses.
Speaker 2 (E120 (24) - CSL): Oh, okay, separate… Chat. Yeah, yeah.
Speaker 1 (E120 (24) - CSL): You can have… I mean, once, by accident, I had,
Speaker 1 (E120 (24) - CSL): Cloud and OpenAIs to work on the same project at the same time, and they were basically editing files one over the other. You can do that. It's stupid to do it that way. It was funny to look at it, but it's not like… there's nothing stopping you from doing it. So, a lot of people use one model to review the code of another model. That's…
Speaker 1 (E120 (24) - CSL): It's okay, but my point is, using these tools to interrogate is empowering.
Speaker 1 (E120 (24) - CSL): You're a pretty senior scientist, so you obviously know about the notion that you have to interrogate to not trust the result, especially your result.
Speaker 1 (E120 (24) - CSL): So, with you, I have very easy time telling you, please, go ahead, go wild with these tools, because I trust you that you'll be snobbish about the results. It's much more with undergrads, with junior folks, that's really scary to give them this tool, because you don't know whether they will…
Speaker 1 (E120 (24) - CSL): they will…
Speaker 1 (E120 (24) - CSL): think about the result being correct, and whether they will use it to become better. An undergrad doesn't necessarily know what the process of becoming better is, and this can short-circuit learning about that process, which is the danger. So, yeah, you're outside of the danger zone, though.
Speaker 3 (E120 (24) - CSL): Augmented experts, yes.
E120 (24) - CSL: Other questions?
Speaker 1 (E120 (24) - CSL): then, let's go through a couple of examples. Well, one thing, it was a chore to download the database. So, RMRF…
Speaker 1 (E120 (24) - CSL): the.
E120 (24) - CSL: Sky Project Export.
E120 (24) - CSL: And, clauds…
Speaker 1 (E120 (24) - CSL): Dangerously skip permissions.
Speaker 1 (E120 (24) - CSL): Which is, again, a bad idea. I have a backup.
Speaker 4 (E120 (24) - CSL): Do as you say, not as you do.
Speaker 1 (E120 (24) - CSL): This might break my computer. It's fine. I reinstall this computer every other month.
Speaker 1 (E120 (24) - CSL): So…
Speaker 1 (E120 (24) - CSL): for this, even this problem doesn't really need Office 4.6, but it's a more difficult problem of asking it to now write software that automates some of the process, instead of hoping that it just figures out how to do things by reading things in its context. So I'll ask it.
Speaker 1 (E120 (24) - CSL): to write software that automatically downloads the wiki, before… because next time I'm playing with my friends, one of them will update the wiki with the story from last time, and that would be useful context when I'm building the story. Or…
Speaker 1 (E120 (24) - CSL): automating the download of my papers from archives so that I don't need to handcraft my Zotero database.
Speaker 1 (E120 (24) - CSL): So, I accidentally deleted the export folder.
Speaker 1 (E120 (24) - CSL): Let's focus… Making a script.
Speaker 1 (E120 (24) - CSL): using only Python's,
Speaker 1 (E120 (24) - CSL): standard library, because I don't want to be installing something, I want to constraint on how it will work.
Speaker 1 (E120 (24) - CSL): That can… Download the entire wiki.
Speaker 1 (E120 (24) - CSL): I have… I read a little bit about the documentation of that wiki. They have a way for me to get a temporary password, a token.
Speaker 1 (E120 (24) - CSL): I have, API… I did need to do some work of figuring out how to do this.
Speaker 1 (E120 (24) - CSL): I just won't be writing the code myself. And I can use Claude to help me figure out this process. I'm skipping that figuring out, though. I did that last night.
Speaker 1 (E120 (24) - CSL): I have an API… token in the file, API token.
E120 (24) - CSL: The documentation of the…
Speaker 1 (E120 (24) - CSL): Vicki,
E120 (24) - CSL: API is at…
Speaker 1 (E120 (24) - CSL): at this page, so it's not like I need to have a pre-created plugin or cloud
Speaker 1 (E120 (24) - CSL): to work with this particular wiki environment, but the wiki does need to provide some standard way for a program to talk to it, and Claude will write that program for me. The documentation of the wikis have this and this.
Speaker 1 (E120 (24) - CSL): Prepare a plan for how to…
E120 (24) - CSL: the…
Speaker 1 (E120 (24) - CSL): A script that downloads the entire wiki, and if the wiki is already downloaded, it overwrites all files.
Speaker 1 (E120 (24) - CSL): And I can ask it stuff like, have a flag for this or that, download images, don't download images,
Speaker 1 (E120 (24) - CSL): to have a dry run, keep it in a Git repository so the changes are… can be… can be recorded, and so on. But yeah, that's it.
Speaker 1 (E120 (24) - CSL): It's tinkering, and then it's, doing something else.
Speaker 1 (E120 (24) - CSL): I'm worried that I just gave it the overview of the API. I don't know whether it would be smart enough to read for more of the API. Maybe I should have given it more… oh, no, it figured out the links from the overview to set up characters, campaigns…
Speaker 1 (E120 (24) - CSL): So, looking through this is valuable, it's.
Speaker 1 (E120 (24) - CSL): It lets you know what it might do wrong, that you should stop it at some point.
Speaker 1 (E120 (24) - CSL): And again, different tools will have different, bells and whistles. Planning mode, skills, agent swarms.
Speaker 1 (E120 (24) - CSL): Some of those might get standardized at some point. I would say, if you have fun with this stuff, sure, learn about all the bells and whistles, but
Speaker 1 (E120 (24) - CSL): There'll be other bells and whistles in a few years.
Speaker 1 (E120 (24) - CSL): Oh, also, you're an experimentalist. Don't connect this to your experiment. No.
Speaker 2 (E120 (24) - CSL): No, I know. I don't have computer service.
Speaker 2 (E120 (24) - CSL): Separate than personal computers. I know people.
Speaker 1 (E120 (24) - CSL): that have used this to build the control software for their experiments, and I mean, at the end, something not too bad happened. It just deleted the software.
Speaker 1 (E120 (24) - CSL): But imagine that
Speaker 1 (E120 (24) - CSL): It gave it a voltage a little bit over the threshold of the crystal or something.
E120 (24) - CSL: Yeah. Yeah.
Speaker 1 (E120 (24) - CSL): It might have confabulated some of these locations, given that there are a bunch of, errors that are being reported, but it seems it figured out enough.
Speaker 1 (E120 (24) - CSL): So it's writing this plan, and then are you going to have it use that plan to actually write the song? Yeah, that's yet another context management trick that they're building into it. One context is dedicated to writing the plan.
Speaker 1 (E120 (24) - CSL): Because it took a lot of reading through other things, polluting the context in order to synthesize the plan.
Speaker 1 (E120 (24) - CSL): And now you can use them automatically to use another context.
Speaker 1 (E120 (24) - CSL): to execute the plan, so that it's not polluted with all the minute details of how exactly the documentation happened to be structured. So this type of synthesizing
Speaker 1 (E120 (24) - CSL): the important part of the information. That's why cloud.md, or agents.md exists as a file. And that's why you might want to
Speaker 1 (E120 (24) - CSL): specifically clear your context and restart the conversation now that you have… use it a little bit for exploration, for planning, and then you start with a blank slate context. You put only the important synthesized part of the context in, and you continue. So…
Speaker 1 (E120 (24) - CSL): Keeping the context clean is really the… one of the main skills,
Speaker 1 (E120 (24) - CSL): Well, not even skills. One of the main…
Speaker 1 (E120 (24) - CSL): intuitions to have when using these tools. So you can basically.
Speaker 2 (E120 (24) - CSL): explore, and then once you've, you know down the problem, the context, you can tell it, okay, given all that we've said, right.
Speaker 2 (E120 (24) - CSL): an amifice that summarizes the point that we're making now, after the exploration, and then we start over with a new, like, polished context, basically. Yes, yes, exactly.
Speaker 1 (E120 (24) - CSL): And frequently, there is a command to clean the context. Here, actually, it specifically asks me, do you want to clear the context?
Speaker 1 (E120 (24) - CSL): Occasionally you'll do it manually, or I just close the agent and reopen it.
Speaker 1 (E120 (24) - CSL): Yes, clear context and bypass permissions.
Speaker 1 (E120 (24) - CSL): And… well, no. First, I should have read the plan.
Speaker 1 (E120 (24) - CSL): But, it did it last night, so probably till today, too. Also, probably. These are not… Reducible things.
Speaker 1 (E120 (24) - CSL): So, it made a pretty long plan, plan, Kanko wiki download script. So, you can think of this as a ephemeral, cloud.md file.
E120 (24) - CSL: And it starts writing the script.
Speaker 2 (E120 (24) - CSL): While we're waiting, an example of use case is, let's say I want to use it to, like, let's say I need to
Speaker 2 (E120 (24) - CSL): Build a software to interface an instrument, in my experiment.
Speaker 2 (E120 (24) - CSL): what should I… so, as a contest, I should say, okay, this is the software that I have from the company, but I want to, you know, interface my experiment in a different way, so use…
Speaker 2 (E120 (24) - CSL): this software, or these, like, drivers, and let's start small, let's start by building a software that communicates with the spectrometer, and then I should add on top of that. Yes, exactly. Okay.
Speaker 1 (E120 (24) - CSL): And you should be careful with using Git for it, just because every so often, it will go in a wrong direction, and you would want to go to a previous checkpoint.
Speaker 1 (E120 (24) - CSL): I…
Speaker 2 (E120 (24) - CSL): I don't know how to use it, that's another thing that I have to figure out.
Speaker 1 (E120 (24) - CSL): to teach you best practice about Git, and ask in its cloud.mg file, use best practice about Git. Git, not GitHub. Yes, Git is the low-level tool that you can use on any computer. GitHub just happens to be a host.
Speaker 1 (E120 (24) - CSL): on which you can upload a Git repository. But this tool can help you with both. It can use the GH command to interface to the GitHub hosting service, and the Git command to take care of the
Speaker 1 (E120 (24) - CSL): actual Git repository. And just…
Speaker 1 (E120 (24) - CSL): Ask the tool, what's the best way to ensure checkpoints? These tools are good enough for this type of fairly rote, boring stuff to tell you what best practices are.
Speaker 1 (E120 (24) - CSL): But do remind it, use best practices.
Speaker 1 (E120 (24) - CSL): Also, trade the software that came out of this as if it was built by an undergrad intern.
Speaker 1 (E120 (24) - CSL): you don't know. It might break your hardware. So… do the same type of verifications you would do if it was an undergrad intern that built the software. I might break my hardware.
Speaker 4 (E120 (24) - CSL): Okay, so.
Speaker 2 (E120 (24) - CSL): even more probability of making my heart was better clothes, so… So it's…
Speaker 1 (E120 (24) - CSL): It wrote this file, and it told me to run it with pythonDownloadWiki.pi.
Speaker 1 (E120 (24) - CSL): So, OS… by the way, I'm also specifically showing you VIP coding. I didn't look at the code.
Speaker 1 (E120 (24) - CSL): Because this is a one-off thing. I frequently do one-off things. I have a lot of logs from a simulation, and I want a quick visualization. I will never again use that script. I don't care to read that script, I just want a quick plot
Speaker 1 (E120 (24) - CSL): That plot itself will be thrown away in 5 minutes. I just want to have my introspection loop be faster.
Speaker 1 (E120 (24) - CSL): So, vibe coding is great for that type of stuff that you don't need to exist for more than 5 minutes.
Speaker 1 (E120 (24) - CSL): But if you need something more, don't vibe cold.
Speaker 1 (E120 (24) - CSL): Use the tool, but then very thoroughly interrogate, both reading through the code and asking the tool why something was done the way it was done.
Speaker 1 (E120 (24) - CSL): And use multiple sessions, one for review, one for interrogation, one for preparing a plan, one for actual coding.
E120 (24) - CSL: Okay, so…
Speaker 1 (E120 (24) - CSL): This is the folder. It doesn't have… we have the Blue Skype project export.
Speaker 1 (E120 (24) - CSL): I deleted it in another terminal, and now, if I look at it… The export doesn't exist anymore.
Speaker 1 (E120 (24) - CSL): So, I'll just do Python tree, download wiki.
Speaker 1 (E120 (24) - CSL): And it seems to be working, and it's even having this cute, log.
Speaker 1 (E120 (24) - CSL): Oh, well… No, it downloads some things, it doesn't know how to download the other things, so now I'll need to do some back and forth with it. If I hadn't deleted the folder, it would have had more reference to go by, that would have helped a lot.
Speaker 1 (E120 (24) - CSL): That's how I did it last night, and last night it worked fine. So again, it's not reproducible, it's broke, it downloaded only a few things. I'll need to go to go back to it and to discuss, okay, you're missing this.
Speaker 1 (E120 (24) - CSL): I need to go through the documentation and see, oh, it didn't reach this part… page of the documentation, you need this as well. Or maybe another thing is maybe just downloaded the wrong
Speaker 1 (E120 (24) - CSL): The wrong campaign.
Speaker 1 (E120 (24) - CSL): Yeah, sorry, actually, it might be working. It just downloaded the wrong campaign. I have a test campaign world, Stefan's World.
Speaker 1 (E120 (24) - CSL): So, it just… it's working, just download the wrong thing.
Speaker 1 (E120 (24) - CSL): I…
Speaker 1 (E120 (24) - CSL): don't really want to bother to look what the correcting is. I want to go to the next example, they just scan the workflow.
E120 (24) - CSL: Questions that you hear?
Speaker 1 (E120 (24) - CSL): So let's just do a very quick second example, and that's it. So I'll close this, because the second example will be in another folder.
Speaker 1 (E120 (24) - CSL): So, here, I have a CSV file that, from my… from some of my volunteer work I have, prepared. It's basically,
Speaker 1 (E120 (24) - CSL): File containing a lot of,
Speaker 1 (E120 (24) - CSL): benchmark data for packages in the Julia ecosystem. That's… I've prepared some maintainer that's trying to help with, some systems development in the Julia ecosystem.
Speaker 1 (E120 (24) - CSL): And I want this CSV file to be turned into something that can be analyzed.
Speaker 1 (E120 (24) - CSL): So, let's do float again, and hopefully I actually have.
E120 (24) - CSL: Yeah.
Speaker 1 (E120 (24) - CSL): I already have the commands from last night, I'll just use the same commands.
Speaker 1 (E120 (24) - CSL): In this folder, I have a CSV file with benchmark data for various packages in the Julia ecosystem, read the header of the file, and document its structure.
E120 (24) - CSL: It's Jeter breaking.
Speaker 1 (E120 (24) - CSL): By the way, all of this waiting was not executing commands. It was… I sent that message to Claude, the server was a little bit under load, I guess, sorry, entropic, and I was waiting, so…
Speaker 1 (E120 (24) - CSL): Finally, I actually started doing something. 40 seconds was mostly just waiting for internet connection.
E120 (24) - CSL: Okay.
Speaker 1 (E120 (24) - CSL): It read the file, it read the cloud.md file, it has the columns and the description of each column, and it guessed the description. Now, I really should go back into that cloud.md file and see whether it guessed correctly, because this is the foundational context for which we will start building things.
Speaker 1 (E120 (24) - CSL): gives me a summary of what it did, and it tells me that it was cogitating, not jitter-breaking.
Speaker 1 (E120 (24) - CSL): And let's go there…
Speaker 1 (E120 (24) - CSL): Yeah, it's… it seems correct.
Speaker 1 (E120 (24) - CSL): It gives some examples for how the data is structured.EG is useful.
Speaker 1 (E120 (24) - CSL): how long it took to compile the package, it's really some benchmark database I have created. Doesn't matter. My point is, I want to be able to visualize it.
E120 (24) - CSL: So the cloud.md file looks good.
Speaker 1 (E120 (24) - CSL): Then the next command is…
Speaker 1 (E120 (24) - CSL): I have a preference for how to do it. I want a web page, and I spent some time on the internet learning what are good visualization libraries for JavaScript. D3 seems to be a very well-established one, it's a very universal package. I have learned that from talking to Claude, I've learned it by using Kaggy to search the internet.
Speaker 1 (E120 (24) - CSL): Anyway, I decided that that's how to do it. I have some preferences, and I wanted to fulfill those preferences. I don't want to just make a website, I'm giving it a little bit more detail.
Speaker 1 (E120 (24) - CSL): using the JavaScript library D3, make a website that downloads the CSV file. It can assume it's in the same path. I'm giving some details about how it will be hosted. I happen to know about these details, because I know, I give it those details. If you don't know that.
Speaker 1 (E120 (24) - CSL): Probably it will do it well. If it doesn't, there will be an error, you'll just go back and forth with it about why is there an error.
Speaker 1 (E120 (24) - CSL): process the file, let me choose which package to make a plot about, and then make a scatter plot in which the X axis is the date, and color is the Julia version, and the y-axis is the duration of the benchmark.
Speaker 1 (E120 (24) - CSL): This should be one plot for each of the different types of time measurement, because the dataset has a bunch of different time measurements.
Speaker 1 (E120 (24) - CSL): Wow…
E120 (24) - CSL: That's cloth being broken right now. So let's try again.
Speaker 1 (E120 (24) - CSL): Okay, this was an internal server error. That's because Clot itself is vibe-coded, so this was just a bug in the harness.
Speaker 1 (E120 (24) - CSL): And I'm kind of not seeing that it's behaving a bit weirdly. It's… Slow to respond.
Speaker 1 (E120 (24) - CSL): Yeah, another error. So, this is a bit of a bummer for me, because this was a really nice example that worked yesterday, but I don't know, Tropic are not on their game, so I'll close it.
Speaker 1 (E120 (24) - CSL): I will remove the lot.md and the index.html, and I'll start codex.
Speaker 1 (E120 (24) - CSL): Oh, I don't have Codex installed here. Well, I'll try Cloud again from scratch.
Speaker 4 (E120 (24) - CSL): I think it's really good to see you running into problems with it, actually. I think if everything ran perfectly.
Speaker 4 (E120 (24) - CSL): It would be like, okay, neat, but I think, see, it's helpful for me to watch you run into the kinds of problems we can expect to run into. That's why I also like.
Speaker 1 (E120 (24) - CSL): doing, live demos to normalize the fact that stuff breaks. Okay, let's try again.
Speaker 1 (E120 (24) - CSL): Let's try a different model.
E120 (24) - CSL: model…
Speaker 1 (E120 (24) - CSL): usually it will just tell me that I ran out of tokens, or something like that.
Speaker 1 (E120 (24) - CSL): So let's not use Oppos, which is super large. Let's use, Sonet. Sonet 4.6, supposedly, is also pretty good, just not as advanced. I would never use Sonet for some advanced simulation.
Speaker 1 (E120 (24) - CSL): But really, everything we should… we were doing today, I should really have been using Summit for it.
E120 (24) - CSL: So, let's try again.
Speaker 1 (E120 (24) - CSL): Well, let's install Codex.
E120 (24) - CSL: Yeah.
Speaker 1 (E120 (24) - CSL): Let's do that. So, how do I install codecs?
Speaker 1 (E120 (24) - CSL): pull this OpenAI.
E120 (24) - CSL: Seems, it's this…
Speaker 1 (E120 (24) - CSL): Oops.
E120 (24) - CSL: sudo to install the thing.
Speaker 5 (E120 (24) - CSL): Okay, codex is installed…
Speaker 1 (E120 (24) - CSL): products, YOLO.
E120 (24) - CSL: Bye.
Speaker 1 (E120 (24) - CSL): We'll probably delete this from the recording.
Speaker 1 (E120 (24) - CSL): Okay, I cannot install codex on this computer because NPM is too old of a version.
Speaker 1 (E120 (24) - CSL): So, one last attempt with Claude, and…
Speaker 5 (E120 (24) - CSL): If not.
Speaker 1 (E120 (24) - CSL): Well, too bad that Anthropics had an outage during the…
E120 (24) - CSL: session.
E120 (24) - CSL: So, Claude, dangerous escape permissions… Sonette… And… let's back on.
E120 (24) - CSL: Okay, seems to be working now.
Speaker 1 (E120 (24) - CSL): Okay, it creates a CloudMD file. We kind of already saw the CloudMD file, so let's just continue with the next step.
Speaker 1 (E120 (24) - CSL): using the JavaScript library, so-and-so, make this web page plot. I want it to be a web page, because that's something I can share with others on the internet. If it was for a paper, I would have asked to do it with… in Python, matplotlib, but you shouldn't be using Python, you should be using Julia, in Julia with Mach EA.
Speaker 1 (E120 (24) - CSL): The whole point of Sunet is that it's faster than others. It's less capable, but it's faster.
Speaker 1 (E120 (24) - CSL): So the fact that this is taking this long really makes me feel like,
Speaker 1 (E120 (24) - CSL): load issue. Also, we are at 10.30, just before lunch, so a lot of the Silicon Valley is waking up right now, so that can be part of the story. There are a lot of,
Speaker 1 (E120 (24) - CSL): conspiracy theories on Hacker News about how these tools just become dumber when too many people are using it, because they're switching to smaller models to keep up with the load. That's probably conspiracy theories. It's very easy to just convince yourself of stuff about these feelings on a vibe about how well the tools are working.
Speaker 1 (E120 (24) - CSL): But, yeah, this is not great performance right now.
E120 (24) - CSL: Okay, it generates something…
Speaker 1 (E120 (24) - CSL): And I'm vibecoding right now, I won't read it. This is something I'm throwing out in 5 minutes. If the plot works, great. If not, well…
Speaker 1 (E120 (24) - CSL): Anyway, I need to make the plot, I would just need to do it in 30 minutes, in an hour, instead of 2 minutes.
Speaker 1 (E120 (24) - CSL): Okay.
Speaker 1 (E120 (24) - CSL): So…
Speaker 1 (E120 (24) - CSL): If you don't know anything about serving HTML files, this might be a little bit confusing, but the tool tries to explain you. The page doesn't contain the data. The page needs to be able to download the data, so you actually need an
Speaker 1 (E120 (24) - CSL): web server to run on our computer. With Python, it's pretty easy to make, like, a temporary web server, so I'll just copy this.
Speaker 1 (E120 (24) - CSL): command Python slash m for launch this module, HTTP server. So, in this folder, I basically am running a web server now, a web server that's available only on my computer. And I click on the link.
Speaker 1 (E120 (24) - CSL): And let's…
E120 (24) - CSL: See what it worked well.
E120 (24) - CSL: This is what it generated.
Speaker 1 (E120 (24) - CSL): For the package, Cairo Mackey.
Speaker 1 (E120 (24) - CSL): on all these versions of Julia, it takes longer and longer to compile it.
Speaker 1 (E120 (24) - CSL): But if you zoom in, it takes less and less time for the code to execute, because more stuff is compiled in advance.
Speaker 1 (E120 (24) - CSL): So this is very valuable for the Julia ecosystem to have a visualization of this dataset, because then they know, is the compiler work going well? Like, is the cost of slower completion time when you install the package worth it for the fact that
Speaker 1 (E120 (24) - CSL): Now, when you launch a plot, you get the plot immediately instead of waiting every time for something to get compiled. It's worth it. A lot of compiled languages have completion time. And you can see how, now that people got very frustrated that
Speaker 1 (E120 (24) - CSL): Sure, things are fast when you launch them, but they take way too long to compile.
Speaker 1 (E120 (24) - CSL): This is the… some of the newest versions where there's more parallelism during compilation, and that helps.
Speaker 1 (E120 (24) - CSL): So this is something that, I don't know, I imagine for the temperature of a fridge, it would be cute to have it somewhere, and it would take you 5 minutes to build it now, instead of having an undergrad do 2 months.
Speaker 1 (E120 (24) - CSL): But…
Speaker 1 (E120 (24) - CSL): You also need to think about what will this undergrad do now so they can be onboarded on new types of skills. So, don't destroy entry-level positions by using tools like this.
E120 (24) - CSL: Any questions about this example?
Speaker 1 (E120 (24) - CSL): Well, let's do one last thing with this example. Let's make it available online.
Speaker 1 (E120 (24) - CSL): So, GitHub, besides hosting repositories, provides this Pages service, which is a very convenient way to host websites. So, use Git and the GitHub command to make a repository with this content on my GitHub account.
Speaker 1 (E120 (24) - CSL): the GH command is already authenticated, I don't need to put in new passwords. Then use GH to enable the pages feature, and make the repository available online.
Speaker 1 (E120 (24) - CSL): Not just the repository, but actually the webpage.
Speaker 2 (E120 (24) - CSL): Can you have questions? Or…
Speaker 1 (E120 (24) - CSL): It's a service that GitHub happens to provide. It's only related to the fact that it makes… it provides GitHub rep… Git repositories.
Speaker 3 (E120 (24) - CSL): Yeah. Okay.
Speaker 2 (E120 (24) - CSL): So, for example, I could do that in my lab for the temperatures of my,
Speaker 2 (E120 (24) - CSL): cold head, for example, and then my colleagues could see from the Git account of the lab.
Speaker 1 (E120 (24) - CSL): It won't be live, if we'll be able to restore it.
Speaker 3 (E120 (24) - CSL): Yeah, be fair.
Speaker 1 (E120 (24) - CSL): every day you have a script that updates the data. Yes. So, it's trustano.group.io, And now, notice that… oops…
E120 (24) - CSL: It's a lot of red.
Speaker 3 (E120 (24) - CSL): Yeah, well… Let's pretend it worked.
Speaker 1 (E120 (24) - CSL): It works with Opus, but it doesn't work with Sunet. And probably even with Opus, it probably works only every so often.
Speaker 1 (E120 (24) - CSL): But we switched to Sonet because I had some trouble running Oppos. And that's the type of debugging that will be happening. So, now I'll need a conversation with it, or just start from scratch, or just use, switch to Office, so that I'm not using Sonet.
Speaker 1 (E120 (24) - CSL): Yeah.
Speaker 1 (E120 (24) - CSL): And yeah, that's pretty much all I have for today. This was awesome.
Speaker 1 (E120 (24) - CSL): Anatomy checkout. Yeah.
Speaker 1 (E120 (24) - CSL): Should've checked out before this, so we had extra time to play.
Speaker 1 (E120 (24) - CSL): I don't…
E120 (24) - CSL: I'll bring myself. Hey, Francie.
E120 (24) - CSL: Bye-bye!