SPEAKER 1: Yeah, hi. So I'm from India. And the question that I wanted to ask is-- for example, just yesterday, I was doing Week 3 [INAUDIBLE], and it took me three or four hours just to set it up properly. And when I told the problem to a senior of mine, what he told me is that you should go for a dockerized environment. You should containerize your app so that you're able to eliminate the force that you have to do to set up environment variables and things like that. So is Docker the way forward? And are we going to see it and [INAUDIBLE] course in the future? SPEAKER 2: Good question. Kareem, do you want to take the first part? KAREEM: Yes, sounds great. So Docker is obviously one of the most popular tools or technologies that have become very useful in the recent years. In fact, pretty much all of our CSF feeds, what applications, are backed by Docker. And the [INAUDIBLE] idea itself is backed by Docker. And it definitely makes a lot about the process of developing an application or distributing an application easier in that it allows you to what they call containerize their application or sort of package it with all its dependencies all the version that you need. So you don't have to worry about, would it work on this system, would it work on this machine, what's installed here, are there conflicting versions of packages that are maybe required by other applications. All of that stuff goes away. That, of course, in addition to what your friend alluded to, the Docker Hub, or the repository registry of Docker images that exist online, from what you can pull any number of looks sort of premade Docker images for you. Among them is obviously Postgres, MySQL, different Python versions, different versions of other tools and packages. I personally use that. I think it's definitely worth it to learn more about Docker and start using it. I think Brian, in his web class, if I recall correctly, had one of the lecturers that introduced maybe Docker and Docker Compose. Is that true, Brian? BRIAN: Yeah, we do. We try Docker. SPEAKER 2: Sorry. Brian? KAREEM: Yeah. BRIAN: Yes, we do introduce a little bit of Docker and Docker Compose in the web programming class. KAREEM: Yeah, so I would definitely take a look at that, for a start. Docker also-- I think the documentation, the official documentation is great. And I'm sure there's a numerous number of online tutorials that you can look at and sort of get a sense of how Docker works or how to get started using it. SPEAKER 2: Indeed, and I know if you'd like to make it easier to get started, I've just pasted into the chat window a tool that we use here in CS50's team called CLI 50 for command line interface 50. This essentially gives you what's called a headless environment. So, no GUI. It's just the black and white terminal window that connects to your own macro PC so that you can run tools like you're trying to on your own macro PC without setting everything up manually yourself, like SQL light. And this is actually a subset of what CS50 IDE is. So Kareem has built a Docker image on top of this command line interface image that adds more GUI features and other ITE-specific software. So as Kareen notes, we use Docker for everything. Whether it makes it into CS50 I think itself will depend on just how user friendly it gets. I think the reality is the Docker is pretty easy to get up and running on Macs, at least newer Macs nowadays. It's a little more of a headache on certain PCs. And so that's not ideal, I think, for some students to set up their own machines if they run into technical support difficulties at the beginning of the class. But it's on our radar. And I would hope to answer one of our earlier questions, too, at the same time-- that this is one of the kinds of technologies that will get better and better over time and make it even easier for students to use on their own machine.