Two quick words about myself, my name is Hans-Peter Grazl, I'm based in Graz, Austria. I joined Red Hat about a year ago as a developer advocate. I'm trying next to my day job to be an active open source community member and I have done a bunch of contributions mostly in the ecosystems of Apache Kafka and MongoDB in recent years. But enough about me, let's get this going. Let's start this session and do something that developers do. Let's build an application. At least let's do a quick thought experiment how that would or could look like. When we are building apps, we grab our editors, our code editors, we would decide for a language and framework of our choice and then we would write the code, period. Nice and easy. Well, it's a bit hard to see you, but I can still imagine some question marks above some of your heads in the audience wondering, seriously dude, that can't be all, right? It's not about just writing the code. And of course, the younger ones here might have a hard time to imagine that, but yes, there was a time back in the days where we essentially did just that. We focused on writing on our code primarily as developers and that was it. But fast forward to 2023 and there's of course a plethora of more things that we need to consider when we have cloud native development in mind. We need to do and care about a lot more things. So we need to find a way to create proper container images. We need to decide for a container registry to share those images. Eventually hopefully we want to run containers based on that images in some place. Maybe it's OpenShift or some other flavor of Kubernetes. And so this means we need to think about deployment manifests, YAML, lots of YAML, which has nothing directly to do with the application code we write. And that's not all right, we need to add CI, CD capabilities to it. And then we need a place to store all of that in some repository or maybe distribute it across multiple repositories. And so it won't be long until all of doing all of those activities, and I was barely scratching the surface here, feels a little bit overwhelming. So something like where you even might get frustrated at times when doing that. And I think it's enough to just take a quick glimpse on the CNCF landscape and how it evolved or in fact how it exploded. What you see on the images here is the right image versus the left image shows a period of just three years, namely between 2017 and 2020. So if you would look at the CNCF landscape today three years later, it would even be more packed. But the actual problem, I think, is slightly different. It's not just the sheer amount of technologies out there. It's tech proliferation that happens in companies, uncontrolled tech growth, that is without making sure that you find some way to streamline all of this. This will definitely lead to some kind of lengthy and inconsistent onboarding, especially for new developers that are joining your companies. And this, again, is for the company itself from a business perspective quite costly at the same time it frustrates developers a lot. And so basically this is a loose, loose situation nobody wants to have. So the question here is, is this shifting stuff towards the left attitude still a good thing going forward?  But the problem is that over the years more and more critical activities and tasks have been creeping into the daily lives of developers. And again, this means some burden, and this is overwhelming for many of them. And so let's face it, right? We are simply asking, I think, way too much from developers these days. And of course, if you just take a quick look at this example here, yes, it's probably a little exaggerated, but still you can relate to that somehow probably. And the question is, I think not even in our wildest dreams should we wish for all of that knowledge, all of those skills, coming together in just one single role or let alone one person, right? It's insane. So I think it's time to start to rotate our perspective and stop pushing ever more things to the left and shifting stuff towards the developers themselves. Instead, we should try to think about how we can shift things down. Now, what I mean by that is we should try to establish groups of people within our companies, usually they are called then the platform team. And those members of this team, the platform engineers, if you want to call them like that, their primary task is to pave the way for other dev teams in the companies so that they can be more productive and more efficient in using the actual technology or maybe even multiple different tech stacks that matter within their companies right now. And this notion of shifting things down actually directly brings me to internal developer platforms or IDPs. So the primary objective of an IDP is to enable so-called developer self-service workflows. The IDP itself, so that the internal developer platform is an artifact. It's... You can consider it an internal product that is built by the platform team and the other dev teams are consuming it. They are the customers of this IDP. And again, the idea is that the platform team comes up with a way that gives some guided and supported path for all the other teams to successfully deliver software. One core ingredient here is the concept of a so-called golden path. Golden path templates. There's similar terminology around that idea. Sometimes it's called paved road. The bottom line of this is that a golden path is something like on a very high level a pre-architected and supported way for dev teams to build and deploy particular pieces of software. That's very generic, I know, and so some of you might wonder what is actually contained in such a golden path. And so I think there is no single or simple answer because it depends a lot on what it is that you're actually going to build. Which type of software? What do you want to create? But nevertheless, there are some commonalities in such golden path templates. And I tried to highlight four of those that you really find very, very often when we talk about golden path templates for cloud-native development today. It all starts so the fundamental underpinning is something like a templated repository. And this templated repository in the end will result in an automatically scaffolded initial code base. So that initial code base from an application perspective can be as simple as a Hello World app in a specific technology stack. Can be an empty starter kit, yet it contains everything from a configuration perspective that any developer needs to get quickly started with a particular project using a specific text stack. The second key element in a golden path is a set of deployment manifests so that we can provision the application and also the necessary resources that we might need in a cluster setup in order to run the application. And again, there is no single way of doing that. Maybe you want to work with Helm charts in that regard. That's perfectly fine. Maybe you say no. We want to use customize and use overlay-specific configurations. That's also perfectly fine. The third key ingredient here for a golden path is an automatically configured CI-CD pipeline. Yes, ideally it should be customizable if some dev teams have their specific needs, but you still should have some kind of common ground how you approach CI-CD in your company. And finally, a very important topic, observability, again, a foundational capability, I guess, for cloud-native development these days. We should back that into such a golden path template as well with at least some reasonable default settings regarding observability that forms something like the baseline for a new project. The most important thing here is that you keep in mind everything is technology-agnostic. You decide, you, your platform team, together with the dev teams, they decide how they want to do that and how such golden path templates look like. Again, if you prefer to do your GitOps with Argo-CD, that's perfect. If, however you say, we want to use flux, well, let it be flux. I guess you get the idea. You decide, basically, like with an other card menu, how you want to actually build and which types of technologies you want to use. Very quickly, the main benefits that we get from that is that different complex text-texts become way more approachable, also easier to maintain in a consistent and systematic way. That basically just two different perspectives, it helps new developers become more productive in much shorter periods of time when they can use the IDP together with these golden paths, but also like seasoned, existing engineers that know quite well what they are doing are very productive. They will have considerably less cognitive load when they need to switch teams internally, and these new teams might work with a different text-text than what they are used to. Also, our industry is moving at a faster pace every year, basically, and so that they will certainly come where you need to evolve your text-text that you build upon. Today, it might look like different in one or two years, and that's okay. And again, IDPs and golden paths pay dividends because they help you to evolve your text-text again in a streamlined and systematic way. It's helpful and removes friction not only for developers, but also basically other essential project-related roles. Let me switch directly and introduce you to some concrete technology now that we can use to build such things, and this is Red Hat Developer Hub. Again, we have quickly seen it in the keynote today in the morning here on this stage, and I want to explain it to you with the different example scenarios that we are going to deploy. So first, what is Red Hat Developer Hub? It's an open developer platform built on the upstream open-source project called Backstage, and you can use it in enterprise context. This is what it is designed for to build your own internal developer portals. I just want to highlight three of its major capabilities here because we don't have the time in such a short session. I also want to show you a demo, but still the key ingredient is first at the center, at the hard lies a software catalog. That software catalog is supposed to store everything, literally everything that matters for doing your software projects. It stores links to repositories, it stores, it registers components, it knows how these components relate together, it knows ownership information, it can be your single pane of glass for everything, including technical documentation and whatnot. The second important thing are those golden paths, and those golden paths, they are encoded as templates. We are going to look at one of these very soon, and the templates themselves are registered in the catalog, which means if a new dev team tries to get started on a project, they go to the central software catalog, they look if there is a template available for the application and the tech stack they want to use, and they start and take it from there. And the third important aspect are a set of plugins that allow us to integrate with various different technologies and tools, basically across the whole application and software lifecycle. Some include, for instance, a Tecton plugin to do CI, or an Argo CD plugin for doing GitOps, a Key Cloud plugin for authorization and authentication and things like that, some of which we are going to see in the demo. Talking about the demo, I want to show you now Rated Developer Hub in action, and we are going to use such golden paths to deploy a simple demo scenario. It's an end-to-end demo scenario, and it consists of three applications. The first application, the front end, will be an Angular application, a single-page application. It will show different points of interest on a world map. The Angular app talks to the API of a gateway app, which acts as an intermediary towards the actual backend application that is supposed to serve the data points that the Angular app wants to show on that map. And again, those two backend apps, they are written with Java and Quarkus in this case, but these, again, are just technology examples. So let me switch directly to the Red Hat Developer Hub right here, and here I'm in the software catalog. I think that should hopefully be big enough to see also from the back. And this, we are now filtering for templates. You see that right here? And so we have those three templates, one reflecting each of the three components that I just briefly mentioned. So all templates are, in this case, very similar in structure. They are more or less doing the whole CICD thing in a similar fashion, but they are, of course, for different technologies. So one basically for front-end and Angular and the others for doing the backend stuff. So let me start by applying the first template. And we're gonna start with the front-end here, and just providing some parameters that you can define freely in your template, what your users, in this case, the developers should be able to customize. And it's very little to do in this case. It's a simple template. It does a lot of assumptions in the background, but everything you can imagine can be configured using these form results. It's a pre-filled cluster. I'm just going to choose a namespace or call it like this that will be used for my cluster. I will use my user as the owner, and we provide some image coordinates for the container image. Then we get some overview and I create that. And what happens now is that a number of activities are sequentially processed. The first thing is the templating engine takes the app skeleton for this Angular app, and usually it's just a skeleton. Here it's a full application that we have something to look at afterwards, and it replaces parameters if needed. It does some templating to it. Then it publishes this source code repository to the GitHub work that I could choose in the wizard. It can be GitLab, can be any other version control system that has a plug-in for backstage right now. Then we are doing the same thing, basically, but instead of the app source, it's scaffolding the deployment manifest, meaning we have, in this case, Helm charts in the background to do both things, to deploy everything that our CI pipeline needs, based on Tecton. And we also use Helm charts to deploy the actual application itself. And you see also some Argo CD-related output here in the logs of the templating engine, which means that also we are scaffolding Argo CD-related manifests in that regard. Then we publish that second repository, the GitOps-related repository. And finally, we register the source component, basically reflecting the application itself, in this case the Angular app, into the software catalog of backstage. Finally, we instruct Argo CD to take action based on the GitOps repository that was just created as well. We're going to look at now what this component looks like in the catalog, but before taking a closer look, let me just do the same thing with applying the other two templates, because then we don't have to wait later for the CI CD to finish off the other two components of the whole application. So I just do quickly the same thing now for the backend, for the gateway and the backend app. It's the same thing. What did I choose? Good question. Let me verify, because it should be the same namespace, of course. I forgot what I chose, what I called it. What did I call this namespace? Does anyone remember? What did I use here? Happy, but live. This is my namespace that I just used, and I should, of course, in this case, use the same namespace here again. And then I go here, do the same thing, and I will do one more for the, again, the scaffolding and the templating and everything similar to what we have seen before now for a backend microservice, if you want. And finally, the third one, doing it as well, so that at the end we have the full application working. Quarkus backend, some description, that's fine. Again, we are the live, this is it. And then I will walk you through the, go back to the front-end component that we deployed at the beginning to understand how beneficial it is to have the software catalog also with all the registered components there. So let me go to the catalog here, and we see these three components that we just deployed. The app itself, I will open it right away. You see a links section here. We can, you can provide any regenerated links when you're registering your component to the catalog, and this directly opens. And if the CI CD, let me see, is finished, yes, the front-end was, the container image was built. And also, if we look down at Argo CD, it's synced and healthy. So yes, it should be up and running. And opening that link indeed shows me a points of interest map. The map right now is still empty, and that's okay because we don't have a backend at that time. So once the gateway will come up, we see at least two data points, a hard-coded into the gateway itself that will show up here as an additional map layer. We are not seeing that right now because let's check the other two components quickly. They are still doing the CI part. This is still creating the container image and pushing the image to the internal container registry on the OpenShift cluster behind the scenes. And once that is done, we will see some data points appearing there as well. But let me go to some of the interesting things here. We of course have, like I said, couple of links here that help us with working with this particular component. We have links to the respective source code repositories. In this case, the GitHub repo that was just scaffolded two minutes ago. We can get insights into the topology so we can see that I have successfully deployed deployment on Kubernetes containing just one port which is up and running. So basically, if you have seen OpenShift before, this should look familiar. You can get these graphical insights into your deployment and whether they are healthy and stuff like that. And then we would have, of course, also like the integration with version control, meaning we have another two tabs here. In this case, we are using the GitHub integration showing us issues or showing us the status of pull and merge requests. There is of course nothing there yet because it's a freshly scaffolded code base. We also have a non-graphical way to explore what our Kubernetes related resources are looking like for this particular component, everything right from within Red Hat Developer Hub, which means as a developer, you don't even need to go into the actual Kubernetes cluster and check those things. You can do that, but you don't have to. You get the most important insights right here from the UI. Then another cool thing, we can inspect what APIs are provided by which component that are registered in the catalog. And here, remember we have seen the Gateway app being this intermediary between the Angular frontend and the actual backhand. And so it means the Gateway provides an API for the frontend but also the Gateway consumes an API from the backhand, which is what we are seeing right here. The whole system is also something that we can easily understand, which is go to the system view and we see the diagram here and we see how all of the parts, the components, the applications that is are working together in this single logical kind of system that is called workshop system and my namespace is a suffix here. We have the three components here. We see which component consumes and provides which of the APIs. And so it's all there, right? Of course, talking about APIs, we can do one more thing. We can be here and also go of course to the APIs back. So this brings the open APIs back for this Gateway API here, directly linked from the actual source code repository behind the scenes. We can also directly interact with the Swagger UI and we could play around with that API right here. Everything, again, we can find and explore directly without going out of the Red Hat developer hub. So we can see, for instance, now that the Gateway, if we try out this API request, we see that we are currently having two map layers available for the frontend. The demo backhand served by the Gateway itself and the actual map layer, the national parks layer served by the backhand app. If we go back to the app, I haven't even refreshed it. We see now those two layers here for the two backhands that were registered here in the frontend and we see some data points were coming up on this frontend application. Another cool thing is that you can of course do interesting things related to code changes. Then I will come to that in a second, but let me just briefly give you some other kind of view. You can also like, I opened the Swagger UI now directly from the links section and you could say, well, you go out of Red Hat developer hub, that's not ideal, you can do it directly here as well. So you can switch just to the definition tab and it also loads within Red Hat developer hub the Swagger UI, which is also quite nice because it means you can stay without really leaving this central internal developer portal, right? You can also see, I mentioned ownership, so very often it's hard to understand who owns which component, the larger your systems and your landscape will grow, you also have that and you see that I am owning six services for APIs to systems and in fact, it's three, two and one, it's just double for each because I pre-provisioned the whole thing as a fallback scenario in case something would have failed. So you see basically that I have six services because I have the whole scenario running twice now under my user, that's the reason why you see more. But again, you can nicely navigate and filter and find things which sometimes is very, very hard in particular when you are not just talking about one dev team of five people, you meet probably every day and everyone knows who is doing what, but in a larger organization, it becomes very, very quickly a mess and you have a hard time to understand who is the owner of what, who is maintaining which of the APIs and so on and so forth. So also that is quite, quite handy to have right here in that catalog. Let me do one more thing and show you how we can make code changes. Now, what if you want to provide a new feature and again, referencing to the keynote earlier, we have briefly seen that as well, but those of you who haven't been here, they find that probably also right interesting. So I'm going to show that for one of the components that I have right here. Let me go to the catalog and go to my component and choose the gateway app. Let me do one thing. Just see that the gateway app just provides two hard coded data points in the US and it would be nice if we could add new data points to that specific map layer on the backhand side of things and so we can go to the gateway component, open the OpenShift Dev Spaces. Let's give it a few moments to load and this again, based on Eclipse K, will, yeah, I had one running, I will close that quickly. It will restart that workspace for that particular source code repository backing this component, the gateway component. And so it will spin up, in this case, a Visual Studio Code instance, host it for me so that I don't have to set anything up on my local machine when I want to contribute to that code base. It should be up and running pretty soon, I hope. We are there already. Yes, I trust myself in particular when I'm on a stage, so I will accept that. And so here we have this code base in Java using Quarkus and what we wanna do here is we wanna add a data point real quick but in order to do that, we see these are the two hard coded data points, just an in-memory list that is provided by this gateway component here and I wanna do the code is already there because in the interest of time, we are faster. I wanna just add this end point here real quick so that we can send a post request to the API and add a new data point. Let me now do one thing which you should never do, of course, maybe if you are at home and nobody's looking but I'm going to directly commit and push that into the main branch, right? We should run or build the application, we should have tests in place, all of that can be done right here from the hosted Visual Studio Code instance as well. I'm good and I'm just keeping that part and I'm just committing directly at post endpoint but you get the idea, you would commit to another branch and you would have your pull request and code review and everything as usual, right? There is no change and I'm going to sync that directly into the repo and once I have done that and this succeeded, we should be able to immediately see here that a new CI CD cycle is triggered, right? So the webhook, using a webhook, we were able to trigger the pipeline again. Now the pipeline is building that code change of the gateway app again and we'll redeploy it once it is done. And so in order that we don't have to wait for this right now, I will just do that part in the already provision thing or we can also come back at the end. Let me just do one thing and go to the slides one more and then we could add a data point here. But I'm about to wrap up anyway. So this illustration here basically now shows what we have just experienced together. It's a recap slide if you want to and it shows how all the components are working around Red Hat Developer Hub to give you the experience that we have just seen together. If again, very important to understand this is one opinionated way of doing things, you may or may not like it in exactly that way and if you don't, that's totally fine. You can swap out more or less anything for any other component, right? You would have Red Hat Developer Hub and you could say, no, we are, don't do GitHub, we do GitLab. No, we use Flux and we don't do Argo CD. Maybe you don't use Tecton but something else that's also fine. So you can again in an ala card sense put together what you want. If you don't want to use OpenShift Dev Spaces with VS Code but with IntelliJ, perfectly fine, just configure it differently and you are good to go. You don't have to use the OpenShift internal image registry, you can use anything else. That's important to keep in mind. So you can use it with whatever works for your company's current situation and needs. To summarize that, I hope the demo and the talk gave you an idea how an IDP with golden path templates can make you more productive. Can be that how Red Hat Developer Hub based on backstage can be that single pane of glass that you want to have the central place where you find everything, where you can explore, discover everything without worrying and searching for hours until you find, oh, is there an API for this? Who is the owner of the API and stuff like that? You can find everything in one place. We have also seen that we can provide and this is what the platform team again is doing, these self-service workflows with guardrails. You don't want to have uncontrolled tech growth. You don't want to have scripts flying around everywhere in a custom fashion. Nobody wants to maintain after a while. We also have seen how we can integrate with automation best practices for doing CI CD and we have at least seen a few of the things that we have in Red Hat Developer Hub to understand the health and maybe also some security things doing, for instance, container image scanning and integrating with Quay.io. There's a Quay plugin we haven't seen that but that's also possible. If you want to try it out, well, you can do that. This is in Dev Preview, a private Dev Preview, which means you can go to that QR code and then you can basically send an email that you are interested in trying out the Dev Preview and we try to get you going. You can get some support in a Slack channel once you are registered for this Dev Preview and you can then try it out from the convenience of your home and you can try to understand how you can benefit from this thing Cord Red Hat Developer Hub. With that, I am basically done. I thank you very much for joining. I hope it was interesting. I hope you learned something about it and thanks for having me. Thanks for taking the time and coming and joy the rest of the conference. It was great to be here. Thank you. We have one question from Marvin. The question here is how is your experience with Decton from a usability perspective? It seems very low level compared to, for instance, GitLab CI. So here, well, I would say from an experience idea, you are probably right, but the question now is, does the question come from a developer or does it come from a platform engineer? Because the developer shouldn't need to care about. As a developer, you shouldn't necessarily even know at least you shouldn't have to know if your pipeline is using Decton or something else. So this is again something that a very specific dedicated group of people is caring about. And so they are providing a way how to do CI with Decton and the dev teams are just a consumer of that. You don't need to know all the details about how to get going with Decton. That's the whole point of having and doing it once and then being able to consume it across all of your dev teams. And maybe you have one or two people that are really, really familiar and know all the gory details about Decton and all its peculiarities. And the artists don't need to care. At the end of the day, what you want to have is a working CI pipeline. As a developer, I don't care. Is it Decton? Is it Jenkins? Is it GitLab CI? Is it GitHub action-based? Well, whatever, I don't care. I want at the end that my app is built as a container and I can deploy it somewhere. And again, I don't want to take care about the deployment. We have seen that with everything set up based on Argo or Flux, this again happens more or less transparently. For me, I don't need to care about that. I hope that answers the question. There's a question that says, does platform support serverless same as AWS? I'm trying to make sense of that question. I'm not 100% sure what this meant with that. Maybe you can just elaborate a bit. But if the question is, can you use serverless concepts with Red Hat Developer Hub? I assume that was somehow the question. Yes, of course you can. And you can do that in a cloud-agnostic way and a Kubernetes native way using and integrating with Knative and doing serverless with that. Or you can say, well, you want to integrate with vendor-specific cloud serverless technologies such as AWS Lambda. Of course, you can do that. You can think of having a Terraform plug-in that allows you to talk and provision things in public clouds. I hope that answers the question. Okay, and with that, there is one more final question about if there will be recording a bi-level of talk. Yes, I think so. I think everything here is recorded. That's what these guys are here for. I guess you will have a recording at one point, but I'm not 100% sure. Again, thank you so much and enjoy the rest of the day.


Είναι αφιτή, ότι βρίσκουμε σκέψη, καλύτερα, καλύτερα, καλύτερα, καλύτερα, και καλύτερα, σε άλλη σημερινή σημερινή του Σάσ-Ασ-Αξ-Αξ-Βυζιοντή. Είναι όλος πάνω, καλύτερα, μέχρι την Ευρώ-Ονινισιατική Εννιστία. Είμαι ο Γιώργος Καφετζί, ένας οικογένιδης της Μαστρίας, από το Μασσόλιας Ρευκότητας, και παραδείγματος στον Ομβάντεν. Στον σας αμπιστήρες για φορές, θα ήθελα να πηγαίνουμε πριν να εγγραφήσουμε Τίμ Βόγκες και Πανός Μποζέλος για να μιλάμε το προσπαθόνι αυτό το προσπαθόνι, το πιο αντιμετωπικό, και το πιο συμβόλιο, το σημερινό μέρος. Από την τέτοια, δε θα πάμε το δίκαιο για τη reason που βρίσκομα είμαστε σκέψεις. Και θα παραδείγουμε το σκέψι μας, από η Νορθότητα Βεπανήτου, Προφέσσο Γραίκ Σουάρς. Μετά από τον Δουαλ-Αμπατσελό της Δημιουργίας, Δημιουργία Κομπιούτας και Δημιουργίας, και δημιουργία Σεμμαστερ της Δημιουργίας στο Μπραγματικό Δημιουργία, Γραίκ σημαίνει Πρινστον και το Λαμβό Μαϊκλ Βέρη, για τον ΤΟΡΙΑΤΑΡΙΑΤΑΤΑ, σημαίνει το Ρετναλ-Γαγγλίων Σελς, και δημιουργεί, πώς αντιμετωπίζουν σημαίνει κάποιες παράδειγες και πώς αντιμετωπίζουν τα βιολασία τους. Σε 2009, σημαίνει το Λαμβό Μαϊκλ Βέρη, το Λαμβό Μαϊκλ Βέρη, στο Λαμβό Μπραγματικό Δημιουργία, όπου δημιουργεί τον Ρετναλ-Γαγγλίων, μεκανίσεις και κόμπιδες της Λαμβό Μαϊκλ Βέρη, και την καρακτηρισμή της Ρετναλ-Γαγγλίων. Σε 2013, σημαίνει το Λαμβό Μπραγματικό Δημιουργείο, και έχει δημιουργεί κάποιες παράδειγες, σημαίνει σημαίνει το Λαμβό Μαϊκλ Βέρη, στο Λαμβό Μπραγματικό Δημιουργείο. Στο Λαμβό Μπραγματικό Δημιουργείο, πρέπει να καταλαβαίνει τα Ρετναλ-Γαγγλίων, χρησιμοποιηθούντας ως ένα μοδελ. Έχουν δημιουργεί ένα εξοδελματικό ρεπποζητορί για τα Ρετναλ-Γαγγλίων, στους ΡγC τύπες, που συμφωνούνται σε μορφολογικό, εξοδελματικό και γέν-εξπρασία, εξοδελματικό για ένα τύπο, και τελικά, όχι, δεν είναι η λίση. Γραγς έχει δημιουργεί έναν φανταστικό αγγλί, η Ρετναλ-Κομπιουτασία. Δεν βλέπουμε εδώ, Ε because my window is blurry, but you see it right behind Greg, so today we will be hearing about the latest and some very exciting findings in his topic entitled functional divergence at the mouse bipolar cell terminal. So without any further ado from my side, please all welcome Professor Schwartz, Greg, the stage is officially all yours. Thank you so much, George. That was a wonderful introduction. Λοιπόν, βλέπουμε ότι αυτό το σχεδιά... Βράδυ σκοτή, είναι δίδι. Ναι! Οπότε, λοιπόν, πως μπορεί να σχεδιάσω τη δίκης. Ευχαριστούμε για όλα. Περαστά, να σχεδιάσω τη δίκης... Είμαι ανοιχείς, να είμαι εδώ πριν. Είμαι σαν ένας από αυτές οι World Wide Neuro's ξέπrogenα one of these talking back near the beginning of the pandemic in 2020, and at that time it was a new thing and we were starting this up and since then all the organizers have done such an incredible job at having so many amazing vision science speakers. Έχω δημιουργήσει πολλές τους, υπάρχει πράγματα που πρέπει να παρακολουθήσω στο YouTube, αλλά έχετε κάνει ένα καλύτερο καλύτερο δημιουργή και είναι ένα καλύτερο τρόπο να συνεχθεί σε αυτήν την κοινότητα. Λοιπόν, δεν είμαστε καλύτερες να δούμε κάτω σε ανθρώπωση. Επίσης, είμαι πολύ εξηγημένοι να δούμε κάτι με εγώ σε ανθρώπωση. Λοιπόν, αυτό θα είναι πολύ εξηγημένοι. Αρβόντας έρχεται σε 3-4 βοήκες. Έχω δεξεξεψει κάποιο να φέρουν και μετά να δούμε some of you in Denver, hopefully, and then hopefully I'll see more of you in Fascive as well in the summer. Λounge θα δούμε, πια επειδή και είχουμε βλέπει ένα άλλο να πούμε. Θα είμαι... Εκεί είχα εγώ πράγματα εύσταρες που έδωσα στην οχή και ετάξει η τίπα. Φέρεπε να σας Sunny, με θέση που να δούμε την αυτονοκλησία σε μάτια ενδιαλώσης με το σημανό πόλο εργασίας. Και αυτό είναι κάτι που είχαμε δουλεύσει για πολλές χρόνια τώρα και είναι η συνεργασία με Ρέτου Ράγγ. Και είναι really part of the reason we've been working on it for so many years is because we arrived at some very uncomfortable conclusions. So I'm going to hopefully share that discomfort with you as we get there together. But first, just to introduce myself and my lab briefly for those of you who don't know, we're kind of ever expanding in the number of things we do because I don't know how to say no to any new interesting idea. So we're not just a retinal lab anymore. We are a lab that works on neurobiology and computation in the early visual system. And that involves levels from neuronal biophysics, which I'm not going to talk about today, but we're working on sodium channels and dendrites and stuff like that to retinal circuits, to retinal ganglion cell types, which is kind of our bread and butter. As George was mentioning, we put out that website for the types in the mouse. But now our lab is also working on brain projections of each of those types, to the many different targets in the brain and social behavior in mice actually. So here's our setup of mice walking around and interacting with each other with vision only. So today's story is going to kind of move backwards down this tree. Start at retinal ganglion cell types, move backward into the circuits that serve them, and we're going to end with some questions about biophysics in bipolar cells. So broadly, outside the retina now, in my view, there's two related really ubiquitous questions in systems neuroscience that you can ask in almost any circuit you might study. Where in a neural circuit does a computation take place? Can you put your finger on the spot? And what's the relevant computational unit? The cell? Is it the dendrite? Is it the synapsis? Is it the ion channel? What is the computational unit that's doing the math that's happening in this circuit? The vertebrate retina has been a fantastic model system for this. This is something preaching to the choir for those of you who are retinal neuroscientists. You know that it's such an exciting system because we can answer these questions in great detail in this circuit. So a few examples are, of course, well-known direction selectivity. One of the best understood circuits in systems neuroscience. The circuit location at which that happens is inhibitory currents from starburst amocrine cells to the DSGCs. And the computational unit is not the starburst amocrine cell. It is the neurites of it because different neurites on different sides of the starburst amocrine cell compute different directions. Orientation selectivity is another computation that we worked on in my lab actually. For the off OSRGCs, the circuit location turns out surprisingly to be an electrical synapse with RGCs, a gap junction. And the computational unit is the neurites of this common amocrine cell that we rediscovered in mouse. Motion anticipation is another famous computation. Feed forward inhibition onto RGC dendrites can do that. Therefore, the computation takes place in the RGC dendritic tree or parts of it. A lot of people have worked on this. Michael Berry has a famous old paper on this. Leon Lagnato's lab had an excellent paper in 2015 that showed the ubiquity of this circuit in different places. So these are just a few examples. There's many more. But one of, turns out, one of the most familiar, most famous random computations at all is surround suppression. And we don't actually know the circuit location of that, necessarily. Where is surround suppression computed for a particular ganglion cell type in the mouse, right? You may read the textbooks and you may say it's horizontal cells to surround suppression. They do some, depends on the species. And if it was really true that horizontal cells were just creating surround suppression for the whole retina, wouldn't ganglion cells have the same amount of surround suppression at all, because the feedback is onto the cones themselves? But that's not the case. So I'm going to answer these questions. Where is surround suppression computed for a particular ganglion cell type and two types, actually, in the mouse retina? And what is the computational new? So first, let me just introduce the team. This project has been entirely led and excellently performed by David Swigard in my lab, who's a senior PhD student who's done an incredible array of different techniques here. So you'll see lots of different kinds of recordings and analysis. And that's all David, really. And then our collaborators at UDUB, Wancheng and Rachel have worked on some kind of amazing EM reconstructions that I'll show you. Just so we're on the same page, most of you know this, I'll speed through this slide, but we use mouse, we dark adapt the mice overnight, we dissect them in darkness using night vision goggles, and then we present visual stimuli with the digital light projector. And we perform electrophysiology, both cell attached and whole cell, where we can do voltage clamp, current clamp and dynamic clamp, which I'm going to show you some dynamic clamp recordings today. And for imaging, post recording the cells, we can do light microscopy, either to photon or confocal. And today I'm also going to show you some EM that we've done with Rachel. Okay, so first let me introduce the players in this drama today, which are the pixon and the on alpha RGC. So these cells are definitely functionally and molecularly distinct types, I'm not going to go through all the proof of that, but it's definitely true that these are different cell types, but they're anatomically similar in ways that I'm going to show you in a moment. On alphas are of course very well studied cells, they're known to project the DLGN, where they participate in contrast sensitivity, they also have melanopsins, so they participate in absolute light detection. Pixon RGCs are not as well known, were discovered more recently in 2018 by Daniel Kerschenstein's lab. And their role in behavior remains unclear, although they are overrepresented in the ipsilateral projecting part, where they may have something to do with prey capture from another one of Daniel's more recent papers. So as you can see functionally, the responses of these two cells to a 200 micron spot are shown, and they're both on sustained cells. You might see some slight differences in their spike amplitudes, but basically that's a pretty similar pattern of activity to the 200 micron spot shown right there. But now what happens when we have a 1200 micron spot? Now there's a major difference. The on alpha still fires at a very high rate in the pixon this time. So quantifying this, if we look at spike count as a function of spot diameter, you can see pixon RGCs have what we would call very high surround suppression and on alpha RGCs have very low surround suppression. So the rest of this talk is going to be figuring out where that happens. So this is kind of the diagram we're going to use throughout. We've got our two RGCs at the bottom and we want to know where in this circuit do we see this difference in surround suppression. So let's start at the bottom. We're going to work our way backwards up and we're just going to test different hypotheses along the way. So what if the suppression difference is from the synaptic conductances or what if it's from the intrinsic properties of the ganglion cells? So neural computation is controlled both by the inputs to the cell and by the cell's own ion channels and intrinsic properties. So how can we dissociate those two? So either excitation and inhibition are critical for this or the excitability of the cells themselves and their voltage gated channels are important or some above. These aren't mutually exclusive of course. So let's measure those things. So again here's the spike suppression in a population of fixons and on-alphas. Oh and by the way I'll keep this color scheme throughout. The fixons will be purple and the on-alphas will be orange throughout the talk. And again here's the surround suppression and their spiking activity but now let's look at it in excitation and inhibition. So instead of showing this whole curve every time I'm going to summarize it by this suppression index which is the peak response minus the full field response over their sum and the suppression index like I said very high for fixons very low for on-alphas. So there's the spiking data population data. Here's the excitation data. So now when we record excitatory currents in these cells flipped over as conductances here we see a very similar pattern to the spiking activity. Fixon RGCs have a lot of surround suppression in their excitation. On-alphas have very little in their excitation. What about inhibition? We see an interesting very different pattern here. And this is kind of a replication of a lot of the stuff that was in Daniel's paper as well which is that on-alphas have some surround suppression of their inhibition but fixons just have inhibition that gets larger and larger as the spot size gets larger. So while that the way we defined it in suppression index that's a negative suppression index however it's inhibition so you can kind of flip the side right both larger inhibition and smaller excitation for large spots would support fewer spikes. So both the excitatory and inhibitory conductances in fixons at least qualitatively appear to be in the direction where they would support surround suppression but that's not a quantitative answer to whether the conductances or the the conductances that the cells are receiving or their ion channels are critical in causing this computation. So to actually dissociate those two things we can use dynamic clamp. So we use these conductances that we recorded and we feed them back into the cells and the trick there is that we can swap the cells right we can record the conductances from a fixon and play them into a fixon and we should get about the same spiking output but we can also play them into an on-elf and vice versa. So before I show you the data actually sorry I skipped ahead let's just go over what the predictions would be. If the surround suppression was controlled by the ion channels and the cells themselves the identity of the cell should control surround suppression right whereas if it's controlled by the conductances the identity of the conductances should control surround suppression. The answer is very clear surround suppression is controlled by the identity of the conductances not the identity of the cells. So on the x-axis here we're looking at conductances from a fixon versus conductances from an on-α and the different colored points are injected conductances into a fixon versus an on-α. So in other words when you inject fixon conductances you get surround suppression regardless of which cell type you're injecting them into and when you inject on-α conductances you don't regardless of which cell you're injecting them into. So we can put our first x on the board surround suppression follows the identity of the synaptic conductances rather than the identity of the RGC itself. Okay and both excitation and inhibition have the qualitative properties to support surround suppression in fixons more than an on-α. So it's inhibition or excitation but how do we know which one it is and which one's more important? Is excitation or inhibition more important in driving? We can play the same game with dynamic land because remember we can record the excitatory conductances and the inhibitory conductances but now we can flip them individually. So what if we so this is all in fixon now because we know that the fixon conductances are the ones that drive surround suppression but what if we show what if we inject excitation from a small spot and inhibition from a large spot or excitation from a large spot and inhibition from a small spot like which one is going to control the surround suppression? So here's the answer to that. So in this case we're keeping inhibition constant and varying excitation in the dark trace from 200 μ-spot and in the lighter trace from a 1200 μ-spot and you can see the spiking goes down enormously when we vary excitation. What happens when we vary inhibition? Very small effect. So you put that more inhibition in and it definitely gets more inhibition for large spots but that turns out to be a much smaller effect than the excitatory effect. That's quantified here. When we vary excitation we have a huge surround suppression. When we vary inhibition we have a small amount about 30% throughout suppression. So decreases in excitation for large spots drives surround suppression increases in inhibition have a much smaller effect. Now just to be clear that does not mean that inhibition is not important in this cell. It has a very interesting inhibition pattern. Daniel's paper was about that. It just is probably not so much for this in these conditions. The inhibition may have a lot to do with motion and may have to do with lots of stimuli we didn't check but for this particular computation and these conditions surround suppression seems to be mostly run by excitation. Okay so now we can mostly cross off inhibition and focus on excitation but now we get to another critical ubiquitous question in neuroscience presynaptic or postynaptic. Let me flesh that out a little more. It could be the case that the bipolar cells are releasing approximately the same pattern of glutamate onto pyxons and on alphas but the difference is in their glutamate receptors. While the pyxon has one type on alpha has a different type. They could saturate at different points. They could have different kinetics. There could be a lot of differences in their actual glutamate receptors. How could that lead to surround suppression? Let me take you through a thought experiment. This is not data. This is a thought experiment about how that could impact surround suppression. Let's imagine for a moment that bipolar cell glutamate release which is shown in the black trace has surround suppression. Okay so it has very large glutamate. The bipolar has released a lot of glutamate for a 200 micron spot and much less for a 1200 micron spot so that's the black trace. If you've got high saturation or desensitization thresholds in your glutamate receptors then your excitatory input is going to pretty much follow the bipolar cell glutamate release. You have a blue curve that basically follows the black curve but now on the right imagine that you have low saturation or desensitization thresholds and you are just saturated at 30 or 40% of the glutamate release from the bipolar cell. Now you get a squashed flatten curve that's shown on the right. In that situation your ganglion cell excitatory response would have very little surround suppression even though the glutamate input onto it does have surround suppression. Okay so this would be a case where the receptors themselves cause it to not have surround suppression even though the release of the bipolar cell did. So if that were the case we should see that in the on-alpha right that the situation that I'm drawing on the right here is the on-alpha situation right. So let's test that. This this first of all all credit to Steve DeVries on this experiment he suggested this which I thought was a brilliant idea which how could we test that we can actually do it with low dose glutamate receptor antagonists and on-alphas. So if you put ampereceptor blockers like nbqx or kinuronate onto a ganglion cell of course if you put them at high enough concentrations you lose all excitatory responses but what if you put it a low dose either competitive or non-competitive antagonists you should raise that desensitization threshold right you should reveal surround suppression if it was absent because of this desensitization or or saturation. So that's the experiment we did we put these drugs on and as you can see of course our excitatory responses got smaller but did we reveal surround suppression we didn't at all right now so the best spot size and the largest spot size still have almost identical responses even after adding this glutamate receptor antagonist that's quantified here if anything the suppression goes in the opposite direction so we don't gain surround suppression we lose surround suppression by putting either of these drugs on. So we can conclude then that the differences in surround suppression with these synapses appear to be a presynaptic effect. So receptor saturation and desensitization is not at play. So we can put our next X on the board which means now we're at this situation where we have the same receptors but we have different glutamate release onto the two ganglion cells that's fine because we know there's different bipolar cells in the retina right the easiest way to explain this is to is that these ganglion cells get different bipolar cell inputs so these are the on bipolar cells of the mouse retina this is one of the beautiful things about working in the retina we actually know all the bipolar cell types so this is a solved problem there's eight of them there's eight on bipolar cells and because of the stratification profiles where the dendrites of these two cells are we know that the only options really are six seven eight and nine so this is a diagram of the IPL and this is the stratification pattern of the pyxons and the on-alpha shown in the two different colors and first of all you can see they're basically identical and they're down below the on-chat band which means that they can't contact the fives but they can contact the six sevens eights and nines. All right so how can we know so we've we've at least solved the problem to some degree we've knocked out half of them but what set of six sevens eights and nines contacts both of these cell types so we worked on this problem for a while we did a bunch of immunohistochemistry like i have in previous paper stands with this problem but i'm going to skip all that and take you to the most definitive way you can answer it which is with a physiologically registered EM experiment so let me take you through how this works this is you fill functionally identified pyxons and on-alpha so this is all credit to David for pulling off this pretty amazing experiment so you have to find a pyxon and an on-alpha right next to each other with no transgenic labeling just because of how they're responded so he searches around he finds an on-alpha and then picks on and close proximity to each other then he fills them both with alexa 488 that's shown inside here we do this in a line in which type six bipolar cells which i've shown previously are the dominant inputs on alphas are labeled this is a cck cre line and they're labeled purple in this image and then what he does is burns a square with the two photon laser for e-maline this is called nirving nearing for red branding um and that's shown in white and then he takes a high resolution kind of focal image of this region where the dendrites overlap which is shown in the dotted box here and then we fix the tissue and send it to rachel for serial blockface em 3d reconstruction so we can know which dendrites belong to which cell and find all the bipolar cells this is what this looks like once you've done it so here's the picture of the two cells in white is the region that was reconstructed in the 3d em and that's the same cells in the em so it's even though they're the same color and there's no color contrast in the em it's totally obvious which dendrites belong to each ganglion cell because you can trace them back and compare them to the confocal image so we can pseudo color the dendrites orange and purple and now we can trace every bipolar cell input to both of the cell types by morphology you can identify type 6 7 8 9 bipolar's and this is what one shing and rachel's lab did and the answer is on the right here's the distribution of synapses from the four bipolar cell types onto the on alpha and the picks on and they're remarkably similar right very slight differences and you can run through the map math i mean if type 6 and type 7 vary as much as they possibly could in surround suppression that amount of difference that like 5% difference there it doesn't have any chance at uh to explaining the amount of surround suppression difference we saw in excitation so they get approximately the same distribution of bipolar cell types and if you look closer they actually get inputs from the very same bipolar cells so this is a by this is a type 6 bipolar cell in gray here and these are these incredible em images where i hope i can convince you you can actually see the ribbon and all the vesicles there's no question these are synapses not just contacts and this is the same type 6 bipolar cell making synapse 1 onto uh picks on and synapse 2 onto an on alpha or vice versa so individual bipolar cells definitely synapse onto both getting themselves types okay so now we're at the uncomfortable part we take you through the evidence here where we look for the source of differences in surround suppression between picks ons and on alphas we showed that's not intrinsic properties right dynamic clamp showed that suppression follows the synaptic inputs not the cell identity then i showed you that inhibition is not all that important surround suppression comes mostly from excitation but regardless the excitation is different to the two cells whether you believe it's functionally important or not there's clearly different excitation to the two cells but different glutamate receptors don't explain the difference in surround suppression because weak antagonists didn't increase surround suppression on alphas so saturation and desensitization are not at play so that means these cells get different glutamate input from bipolar cells but it's not different bipolar cells so the bipolar cell input distribution is nearly identical and individual bipolar cells synapse onto both ganglion cell types so what are we left with could the same bipolar cell release glutamate differently from two different synapses so this is what this would look like this is a bipolar cell it's synapsing onto an on alpha and it picks on but as many as the experts in the audience will know the synapse is complex it's not just like this there's another player involved these are dyad synapses which nine times out of ten have an amocrine cell sitting here as well right in proximity so maybe there's different amocrine cells that are present at these synapses with pyxons versus on alphas so again we turn to the eam and we looked granted this this is very incomplete but let me just show you what we were able to see so again since they're physiologically identified we have a unique opportunity to say what's a type 6 to pyxon synapse and what's a type 6 to on alpha synapse so we can separate our synapses into those two different categories and then look at who else is at the dyad and start tracing that amocrine cell process back so that's what's shown in cyan here is a piece of a wide field amocrine cell at one of these pyxon type 6 to pyxon synapses and if you group them into the ones that are the type 6 to on alpha versus the type 6 to pyxon synapses you get colorful spaghetti but the colorful spaghetti doesn't look all that different between the two types as far as we can tell it seems that most of the amocrine cells are wide field granted you can't trace an entire amocrine cell in this volume right it's just a piece of an amocrine cell so I am not claiming that these are the same amocrine cells but we don't have enough evidence to reject the null hypothesis that they are there's not clear morphological differences between the amocrine cells at least and we looked at a lot of other things that I don't have time to show you the size of the number of vesicles the volume of the synapse the distance of the synapse from the branch point we looked at a lot of things and didn't find statistically significant differences morphologically between these synapses except for this one which is a kind of weird one but let me just tell you what it is if you look at the ribbon so the synapse from the bipolar cell onto the ganglion cell and then you look at the nearest inhibitory synapse so how close is the nearest inhibitory synapse it is closer in pyxons than it is in all alphas very statistically significantly so π is 10 to the minus 4 so they're definitely closer but look at the scale in the y-axis we're talking about 700 nanometers versus one micron so they're different but they're different at a very very small spatial scale don't know what that means we'll get back to it in the last slide but that's what that's what we saw so all amicron cells that could be identified at each dyad were either wide field or medium fields a few medium field ones in here but we weren't able to really tell the differences but what about pharmacology so we can also block them with different drugs and so now we're in pyxons again we're measuring the excitatory conductances remember excitatory conductances are the ones that matter but then we can put on inhibitory receptor antagonists to knock out the potential effects of some of those amicron cells so if we do that with all of our favorite drugs gabba c got a a gabba b glycine receptors um and voltage gated sodium channel antagonists this is the result which is that you can see a change in surround suppression when you black gabba c receptors or voltage gated sodium channels with ttx but there's no effect of gabba a receptors gabba b receptors or glycine receptors so this isn't super conclusive but it is saying that the circuit that is involved in surround suppression likely involves gabba c receptors and spiking amicron cells so some of those wide field spiking amicron cells that were present at all those dyads likely have something to do with this circuit that's causing surround suppression okay but the fundamental question here is whether bipolar cell synapses can be the independent computational units i said that what is the computational unit of the computation what is the single unit of the computation is one of these core questions so that's what i'm going to turn to now it's not surprising for those of you who study other systems that neurons can have distinct computational units in different compartments it's well known that there's different signals in the basal and apical dendrites of a pyramidal cell that's part of the computational structure of these cells but for scale there's a retinal bipolar cell right the apical is the same animal right a mouse pyramidal neuron the apical and basal dendrites of a pyramidal cell are hundreds of microns apart a retinal bipolar cell is one of the very smallest neurons in the entire central nervous system so let's think about how this could happen whether ribbons can experience different voltages depends on the electrotonic length constant how far voltage spreads within the neuron and the equation for that is quite simple in a passive case the length constant lambda is the square root of rm over ri rm is the membrane resistance and ri is the internal resistance you can measure membrane resistance with passion plant recordings of bipolar cells esponhardt fight has done some beautiful work on that and given us some excellent numbers and ri is assumed to be basically a constant it's the it's the internal resistance of cytoplasm inside a neuron granted we can mess around with that value a little bit and i'll show you what we have but if you take the standard value for ri lambda is 780 microns look at our scale again how could if lambda 780 microns there's no way that that ribbons that are 5 10 20 microns apart from each other could have substantially different voltages so david worked on this a lot and built an entire neuron mouse so we were like okay but but bipolar cell is not passive it's got lots of active conductances and it's not just the tube let's be a lot more real about this so we took our em reconstructions from rachel this is one in which she's annotated every watching has annotated every ribbon output and every inhibitory input onto the terminal so just for reference i mean look at the scale bar here this thing is about 15 microns across and within that 15 microns it has 91 ribbon outputs and 120 inhibitory inputs so this is a complex little machine and david made a reconstruction of the entire thing put in as many active conductances as you could find with parameters in the literature did a full robustness test to varying all those parameters messed with ri by a factor of 10 or 20 and bottom line so this is what this simulation kind of looks like you you start the bipolar cell at its resting membrane potential which is about minus 42 you put in excitation from the dendrites from the cones where the bipolar gets the input that depolarizes the cell and then you inhibit a single one of those 120 sites okay you put very strong inhibition at a single place shown by the red arrow and then you measure for every ribbon how much does that inhibition impact the voltage okay so you look at the decay of that inhibition as a function of distance to the different ribbons so david did this and here's the result in a passive model this is now using the real neuron but not using active conductances you get very close to the number we got that from espin in a rat rod bipolar cell so you know the slight differences because of the morphology and it's being accurate but basically the length constant is 600 microns and at a small spatial scale there's no possible way to ribbons can have a different voltage this by the way is the distribution of the distances between the ribbons and it peaks at 25 microns so on the same scale there you see the difference is you know 99% of the voltage at one ribbon to the next one what about an active model so this is what i was hoping was going to be the answer david added as many active conductances as it could really kind of pushed it to the limits still 117 microns so it's really you know i wanted this to work i wanted it to be that there was some kind of voltage explanation there was going to be some really cool trick with the active conductances that caused this to work but i just don't think it's possible and i was thinking for a while maybe what we need to do is just increase our i a lot maybe there's a lot of gunk down there there's a lot of endopolismic reticulum there's a lot of vesicles maybe ions just don't flow very well at this terminal but first of all i mean look at the equation it's in the denominator with a square root i mean if you're going to change the length constant by a factor of 10 you need to change our i by a factor of 100 and second of all if it was really that high not signals would never make it down from the dendrites right it's like saying you've gunked up your whole bipolar cell terminal such that ions can't flow you'd never get any reasonable conductance down from the dendrites to the ribbons in the first place if our i was really 100 times higher than it is then we estimated it to be so in conclusion i don't think there's a voltage gradient so while we were working on this actually um kaisuke hara's lab had this this really beautiful paper where they claimed that there's different direction tuning in glutamate release from nearby butans in the same type seven bipolar stuff so this was with glutamate imaging with i glue sniffer and you can see a similar scale they segment in panel h there they're different type seven bipolar cell terminals and they claim that there's different preferred direction responses to three microns apart from each other and just like us they saw that the path length between the outputs of these bipolar cells peaks of 25 microns so the distance between these ribbon outputs is about 25 microns and a reasonably tight distribution but they also calculated a path length from that same equation of 780 microns so their conclusion was that we don't know how this works either but we see some evidence that it does so i wish i had a better answer for you than this i wish i could tell you how it works we're gonna hopefully talk about that and speculate about that together but let me just take a step back to the bigger picture here i tried to answer the question is the computational unit of excitation in the retina the bipolar cell or the bipolar cell synapse there's 15 bipolar cell types in the mouse you know i was just saying to tom before this that i was hoping that this was the kind of problem that we could solve with some math if there's 15 flavors of excitation in the retina and 42 ganglion cells we can measure the excitatory currents to each of the 42 ganglion cells do a linear combination model or non-linear combination model of each of the bipolar cell types that could input it and we could actually have a really great description of the excitatory currents to every ganglion cell a lot of recordings but it's theoretically solvable but i don't think that's the case anymore i think there's not 15 flavors of excitation in the retina i think there's hundreds because there's 40 to 80 amicron cell types and if they're modifying the bipolar cells locally we get a picture much more like what was diagrammed in this paper in 2012 so where do we go from here many efficient audios and audience would ask of course the first question kaisuke did this with with iglucinifer why aren't you doing that oh boy did we try getting good iglucinifer expression in bipolar cells is very hard we fought with viruses for a couple years and we haven't really gotten very good signals yet but at the end of the day i don't know that i even believe it anyway i mean we we could we would i'm not saying i wouldn't like to have that data but if you're expressing glucinifer ubiquitously on the whole terminal of a bipolar cell remember how dense these things are how do you know that signals close by aren't actually from glutamate released from different bipolar cells anyway so you don't necessarily know that the glutamate you're measuring is actually released by the bipolar cell in which it's expressed so there's that um calcium could help right calcium imaging you don't have that problem the calcium you're imaging the calcium inside the bipolar cell so you could see if there's a calcium gradient from one part of a bipolar cell to another part of the same bipolar cell and we're doing exactly those experiments i don't feel confident enough in the results to show you much yet but that could go either way first of all right we actually don't know how that is how that could end up but we see some very preliminary evidence that there might be a gradient of the calcium in different parts of the same bipolar cell but if it's not voltage then how can nearby ribbons on the same bipolar cell actually have different glutamate release now i'm just speculating different calcium channel types or subunits or accessory proteins could exist to different ribbons and these don't turn over very often actually some of the presynaptic proteins are some of the longest lived in their nervous system so maybe this is set up during development and stays like this alternatively or in combination with that there could be different release machinery post calcium input there could be different ribbon adjacent proteins different snares different synaptic tagmans but the hypothesis i actually prefer again not not not necessarily independent of these other two is that this local chemical modulation of release by amicron cells that's not dependent on voltage remember amicron cells release more than just GABA so GABA affects iototropic chloride receptors that can affect the voltage and metabotropic chloride receptors but those are GABA B and i showed you with the pharmacology the GABA B is not the answer so maybe the amicron cells of these various different types are also released in different neuromodulators that affect things on a very local scale and i'm arguing for a kind of a paradigm shift in how we think about neuromodulation of the retina the way neuromodulation is talked about is often very wide scale right these cells release dopamine it does something to whole circuits and changes at a slow scale the whole state of light adaptation or something i'm not saying it doesn't do that but what if it also modifies locally the release properties of individual release sites at dyads so in conclusion i asked the question where surround suppression computed in this particular ganglian cell type in the mouse retina and the answer is that in pixon rgcs it's the bipolar cell outputs that are the key place where surround suppression happens and what's the computational unit not the behold bipolar cell but the individual release sites or subsections of an individual bipolar cell so the conclusion is that subcellular neural computation may actually be a lot more widespread than we thought it doesn't just exist in these huge neurons it may exist in the very smallest ones as well thank you for your attention thank everybody thank david most of all who did an incredible amount of excellent work on this project and all of our funding and all of our collaborators of course rachel who did amazing e-m work and one check and i'd love to take some questions thank you very much greg for these fantastic uh and meticulous attempts to trace it back to the source like the observed difference between these two quite similar cell types uh i already posted the zoom room link in the chat so people can start joining us and the first question is from gautam avatramani uh he he thanks you of course for your talk and you already touched on it briefly towards the end but maybe you want to speculate like for his first question a little bit further uh the question is can we have different calcium channel types to drive different patterns of glutamate release from different branches with the same input voltage signal yeah yeah absolutely so um and so how could we do that experiment super resolution microscopy maybe or immuno e-m where we label different types of calcium channels perhaps so i'm you know stepping pretty far out of my expertise level at this point so calcium channel experts please correct me but from my reading of the literature as far as we know at this point it's mostly cav 1.3 l-type calcium channels at these bipolar cells there's not a lot of evidence of diversity of types between bipolar cells let alone within a bipolar cell but i don't know that people have really done immuno e-m and looked at a single terminal and tried to see differences but as far as that there's i don't know that there's a lot of evidence against it but i don't think there's any evidence for it so far but that's just you know the identity of the subunits is not the only thing that controls the calcium channel there's accessory proteins and all sorts of other stuff that could modify it and i don't even know how you get at that now we're talking more fine-scale molecular biology than i know how to do but yeah perhaps different phosphorylation states of the calcium channels or all sorts of stuff like that yeah and definitely the more you look and the deeper you go the more elaborate the mechanism will have to be uh so the second one is a kind of a comment it's uh the following calcium imaging provides global signals uh release is driven by micro domain calcium so not entirely sure how useful imaging totally agree i know i know that's totally true was that jeff diamond or someone like that who's worked on those things yeah so i know we're trying we're trying to do it at very small scale david's been really meticulous about measuring the point spread function of our laser um thinking about the calcium buffers but i agree this is one of those things if we see an obvious difference in different branches that i think mean something but i don't think the negative result means so much of anything there's so many ways you can get a negative result there and then remember at the end of the day what if the biology is the negative result what if the biology is you get the same calcium entry but it's the next non-linearity it's the synaptotagment and the release machinery it's different i think that's also as possible so we're trying we're doing this very hard experiment but yeah i want to get people's opinion at the end of the day about whether there is more evidence that you would like for this conclusion or whether this is the best we can do right and people are already joining us uh in the room so i would like to remind to our audience that sooner or later i will be terminating the broadcast so in case you want to participate or at least monitor the conversation that will go on in the zoom room please make sure you follow the zoom room link that i posted the second question and at this point greg i should like to i would like to let you know that there are both greetings at the beginning and a lot of great talk messages at the end you cannot see it right now but i'm sure you will have the chance later on so the second question that appears is from anguiera and i'm sorry if i'm mispronouncing the name and it's the following i can think of another retinal ribon sign ups that is modulated quite locally by local interneuron can this be a phaptic signaling by wide field amacrine cells oh what a cool question Juan and gara one of my good friends um yeah so his thing is talking about photoreceptor synapses which are ribon synapse which yes they can be locally modulated and certainly a phaptic signaling is one of the ideas there that you can actually change incredibly local gradients and it's one that i hadn't really thought about i'm going to have to think about that some more ultimately the a phaptic signaling effect as i understand it its end result is still a voltage though so if you're trying to change a voltage my argument about the length constant of the cell is that if you do that at one place you're effectively doing that at the whole terminal even if it originates locally then it's going to spread to the whole terminal but i'm not sure i'm totally right about that i mean that's that's under the assumption that voltage is the end game there but maybe it's not if i think more deeply about that there may be places in which there the effect it's signaling's end result is something else that's not exactly just the voltage but yeah that's something maybe one can join us afterwards and can talk more about that idea right so the last one question appearing in the chat is from tomas euler and given that he's in the zoom room while i say these lines i'm giving him the chance to unmute himself and maybe ask it directly but given that he's not doing that the question is the following maybe i missed it but what about the pharmacology of the inhibitory receptors on the bipolar cell contacts presynaptic to the on alpha cells right okay so we only yeah no that's okay we actually we did a little bit of that experiment i didn't show any of that data we focused on the picks on because that's the one where we see surround suppression so the idea is the pharmacology there is what must be suppressing the glutamate release so testing the pharmacology of the presynaptic inhibition in the on alphas seemed less important to us because there is no surround suppression basically it just responds just as well to very large spots as it does to small spots so we didn't focus a lot on that but yeah if maybe tomas has an idea in which that that would be an important thing to think about so right now i'm multitasking in a terrible degree so there are more questions appearing in the chat as we go i would like to ask the people to join us here so we can continue the last one i will ask that appears in the chat is the one posed by henrique von gerstdorf and it's the following maybe a given bipolar cell terminal has a different glutamate release profile at one ribbon signups than from another ribbon signups so they appear to be heterogeneous what do you think right yeah i mean that's that's exactly what i'm suggesting that they have a different release profile but what what do you mean by different release profile voltage dependence of release right and he just clarified that heterogeneous in the sense of vesicle pool size oh vesicle pool size yeah so vesicle pool size is an interesting we hoped we would see that perhaps in an obvious way in the em and we didn't but that again the ribbon experts like like henrique can help me here would we necessarily expect to see that by counting vesicles near each ribbon maybe that would be my thought that you would be able to see an obvious difference there if there was one but we didn't see that right so at this point i would like you i would like to thank you greg once again for this fantastic talk and for honoring us and then agreeing to give a talk in our series and i would like to thank the audience as well for attending and this lovely first round of discussion as we will be continuing with people that joined in the zoom room uh so yeah i will be stopping the broadcast now and i will be waving my moderator rights so we can continue in a more informal fashion thank you so much george that was wonderful he's a great job moderating everything thank you and we are off