Django Chat

Jazzband - Matthias Kestenholz

Episode Summary

Matthias is a longtime Django contributor and member of Jazzband, which manages many 3rd party packages including django-debug-toolbar. He’s also the creator of feincms and founder of the company Feinheit.

Episode Notes

Support the Show

This podcast is a labor of love and does not have any ads or sponsors. To support the show, consider purchasing or recommending a book from LearnDjango.com or signing up for the free weekly Django News newsletter.

Episode Transcription

Carlton Gibson 0:06
Hi, and welcome to another episode of Django Chat, a weekly or fortnightly podcast on the Django web framework. I'm Carlton Gibson joined by Will Vincent Oh, they will.

Will Vincent 0:14
Hi, Carlton. How you doing? Good. I'm good. Yes, I've got a new microphones. So it'll eventually be better. It might be a little less audio quality than the past ones, but we'll see. Okay,

Carlton Gibson 0:24
you'll have to give us feedback, folks. Today. Today, we've got a special guest, Matthias Kestenholz, with us. Hello, Matthias. How you doing?

Matthias Kestenholz 0:32
Hi, everyone. I'm doing very well. And I'm a little bit nervous. But I'm looking forward very much to this chat.

Carlton Gibson 0:39
That's good. Thanks for coming on show. You're nervous. I'm a bit nervous because you too, are all wearing Django t shirts, and Django hoodies and I'm, and I forgot to dress for the show today. So

Will Vincent 0:49
yes, we have a link to the official Django merchandise in the show notes. But you're wearing the the Django con Europe hoodie. Mateus, right?

Matthias Kestenholz 0:56
Yes. Yeah,

Will Vincent 0:58
yeah. So all the virtual conferences, I think all their stuff is on there now as well as the default Django. So

Carlton Gibson 1:04
check it out. They were a bit janky this work. So Mathias. Tell us about yourself. What's your backstory? How did it How did you come to be on the podcast.

Matthias Kestenholz 1:13
So I have started working with chango over 12 years ago. Now. I've worked with PHP previously. But I just enjoy working with Titan and chango so much more. And the community of chango was also an important just pull factor for for me to decide to start working with chango. It's just a framework I really like and it's a community, which taught me things which I probably wouldn't have learned otherwise. So that's great for me, once Once bitten, never, never go back. No.

Will Vincent 1:54
Yes. Well, so then, how did you get into PHP and just programming in general. Before that,

Matthias Kestenholz 2:00
so I, I was always fascinated with handheld calculators, and I sold all my stuff as a kid, when I was in seventh or sixth grade, I think to buy myself a graphical calculator, an HP at 48. And I learned all about it. Back then the programming and the mathematics and did I just enjoyed it so much to tinker around with this stuff. Later, I didn't want to stay in programming too much because I wanted to become an environmental scientist. And things got out of hand a bit because I got to know a few people and founded a political party with them. And then we also founded a company, which I'm still working at now. And I just thought it's it's more important to go into marketing and work for the good people than just go into and into climate science and find out once again, that we should really change something, change how we how we leave a bit maybe. And so the programming was just a thing, which I always enjoy it. But the mixture of programming and working for a good cause is at the end what what brought me into web development. And I'm still here 15 years later,

Carlton Gibson 3:38
tell us about the company and the causes and the kind of projects you work on. Because that sounds really interesting.

Matthias Kestenholz 3:43
The company is fine height. And it is a company I founded with five, four or five friends 14 years ago now. And we did what we did and do work for four different companies. Not only but the things which motivated me most back then was just to go into campaigning and program campaigning pages. We did some work for for WWF and Greenpeace, maybe for the greens and mainly for left leaning political parties. Or just for grassroots movements and CEOs and so on. We're also doing work for other companies. But we have so to say a denialist of companies who we don't want to work for. We don't always Yes. So that's that's quite important. And that stayed with us over the years while people changed and the things we do did change changed.

Carlton Gibson 4:53
That's really cool. Because you so you're kind of like the web agency for social justice. We

Matthias Kestenholz 4:57
try to do

Will Vincent 4:58
that. Yes, well Xbox also has a nonprofit focus as well to do wagtail. So

Matthias Kestenholz 5:05
I think it doesn't surprise me too much. Because maybe chango also as a framework, or as a community has certain pool for people who want to do the right thing, because chango was one of the early mover with the Code of Conduct chango was an early mover with chango girls with all these initiatives to improve diversity and so on. I think that was that that's probably a thing, which possibly also puts off the bat guys, maybe from working with chango, at least one could think so. But it's certainly a thing which, which keeps me here and doesn't, I'm not motivated to find other technology or a new stuff, I'd rather stay with chango, which is really stable, and maybe a bit boring. But for us, that's that's a good thing.

Carlton Gibson 6:09
Now I'm going to fight you when you call it boring, I'm going to say it's super exciting, because it's exactly because it's stable. And we can have the latest JSON fields and all the rest, and we can update the first the day it's released. And no, it's not going to break it. And I think you know,

Matthias Kestenholz 6:22
let's not fight over that. Let's rather

boring. Make and be really exciting.

Carlton Gibson 6:29
Yeah, no, totally. This before we move on to things I want to say. But one was exactly that. That feeling about the Django community I for years, I was using Django I never really got involved. I never went to Django cons never went to conferences, and then I went to Django con European Florence. And, you know, a the diversity mix. I've been to other tech events where it's like, you know, one female, and the Django con isn't like that at all. And the other was that the range of topics where they're talking about, you know, diversity, hiring and inclusion, and you know, by cognitive biases, and all these topics, which I can hadn't really even thought about, but uh, wow, what I've been missing so much. So that's, that was the one thing the other was fine height. In the notes here, you've got organized using holacracy? What's that? I didn't

Will Vincent 7:17
Oh, that's the that's the Zappos thing.

Matthias Kestenholz 7:19
Yes, exactly. So

Will Vincent 7:20
sorry, to put an American spin on it.

Matthias Kestenholz 7:23
Now, I mean, the holacracy is an American thing. It was invented, I think, by Brian Robertson with who is an American entrepreneur. holacracy is an organization is so an operating system for a company, it specifies a set of rules how companies should, should work. And one of the important things about it is there are or there should be no implicit expectation towards other employees, you try to make everything explicit. And you try to write all expectations down into in roles. And then you can just energize these roles, or you can just give them away freely. So it is a way just, it's not a completely flat structure. But it is, in a way a flat structure, where people have a little bit where power and responsibility is at the same level. So if if you want more power, you have to take more responsibility. And if you can, you can't have power without responsibility. And also you can't have responsibility without power, which are maybe the two things which are most problematic if you work in such an environment. I don't know whether you have worked at such a place any time. I have, and it's really annoying. holacracy sort of is one one possible way of reinventing the organization's structure, and it works really well for us. And I think people should have a close look at it. There are other other ways to structure companies and holacracy isn't definitely isn't without fault. But for us, it's working well. Interesting.

Will Vincent 9:26
I think there's quite a bit of self selection and hypocrisy is or at least in my experience, even in startups in San Francisco. One thing I was surprised about is that I'm I'm a self starter. The founders of companies are self starters. But not everyone who's smart and hardworking is a self starter or wants that responsibility. Like we had one very early employee in particular who the founder and I kept trying to give her a try trying to give her room to take on responsibility and not be told what to do and ultimately she ended up going to Twitter. She just wanted to be told Which is interesting, because I think before I assume that if you are hardworking and intelligent, you would want more autonomy, but her mind, and I think quite a few people's mind, don't fit into that. So that's sort of the culture of startups. One thing I learned after that is to really try to ask questions that get around, are you the type of person that does well, and in an unstructured environment, which I think overlaps a little bit with holacracy, where you take the initiative, but also you take the responsibility. It's not, it's not for everyone.

Matthias Kestenholz 10:30
I think just one one important difference for me is, I was very surprised that our first employee didn't want to join our ranks as well, so that he didn't want to buy shares, I couldn't believe it back, then. These days, I understand it very well, especially when looking back to the type of company we were back then. But holacracy still allows you to not have many responsibilities, but then you don't have much power either. And that may be fine for you. And also all these implicit expectations, where other people, it's, it's not in place, it shouldn't be in place it It should be very explicit. Because if if your former boss comes to you and expects a thing of you, you can't just say, Well, I don't see this accountability anywhere in my roles, then you can go into a governance meeting, which has quite rigid structure as well. And then you can process this, this just this tension, how it's called in holacracy. And there Derek, there is just a way for everyone to if you know for yourself what you need, then you can more or less get it or that's at least that's the idea. But of course, well, not everyone is the type who knows what they want. And that will be hard for them anyway. And yes, so we have a few problems, but maybe that's Tongan chill now. I don't know, I have to think about that. Especially when, when speaking English what I should what I want to say I don't know.

Carlton Gibson 12:17
But these these sound like difficult problems in any organization. Right. So it sounds like it gives you a good framework, or a framework for addressing the human interaction and the role interaction problems that come up in any organization

Will Vincent 12:31
to switch to tech, I want to note so your first contribution was 2008. I believe you put in the in the docs, which is 12 years ago.

Matthias Kestenholz 12:42
Could you talk what surprised myself?

Will Vincent 12:44
Could you talk about just I mean, I know it's 12 years ago, but you know, what, what was that process of you know, you were using Django, something came up and you, you know, because Carlton, I spent a lot of time trying to encourage people to contribute to Django and make it less intimidating. But you just was it, I guess was a work problem you had or what was the if you recall the specific issues, you say in the notes it was to do with your master's thesis?

Matthias Kestenholz 13:09
Yes. So I did a master's thesis on GIS based regionalization of life cycle assessments. And we had, or I think we were using generic foreign keys quite a bit or so. Or maybe it was standard foreign keys, I don't remember exactly. And it was just if you have to have several foreign keys pointing to the same model that query, the SQL query engine got confused. And it was just an edge case I hit and I think I just contributed more or less detailed report. And the problem itself was fixed by someone else. The first problem I think I've where I've really tried contributing a fix was the the was a problem I encountered with the template language. And since I had been working maybe as a programmer for several years, and maybe changa was a little bit younger, or even pre one zero or 1.0. Maybe it was less intimidating back then. And I just went into the ticket tracker and proposed a patch. It wasn't the first open source contribution either either, either because I already contributed a few patches maybe to to get to other projects. So it wasn't the first time I interacted with an open source project. But later on, I got maybe confused a bit myself with the changle contribution process and just the the standard for the stability which is be expected Then which I also understand and like in the Django project, sometimes dates make it hard to get the change merged, especially before the fellows project. I mean, the fellows project that helped very much,

Carlton Gibson 15:15
a lot of what the fellows do is exactly this, taking a patch reviewing it, saying, Hey, we need to change this, this will break backwards compatibility. We need test coverage here. But it is it can be a long process, you know, it's like two or three reviews to, you know, dot every I and cross every t on your patch to to get it merged, which I understand could be frustrating. But I guess I always say to people, well, what's the other side is Django good. You know, when you download Django and you use it, do you trust that it's going to be of a high caliber? So?

Matthias Kestenholz 15:47
Yeah, I think the problem is, is less that I mean, of course, there is the issue of code formatting, or maybe a really minor, so called minded problems, which are pretty frustrating if there's a back and forth of them. But the problem a few years back was more one of you didn't even get an interview review. And for, for example, Jacob, one of the original authors of chango. I think they instituted this program where you could review five patches, and then you had a guaranteed review of your own patch. But that didn't work really well, either, for obvious reasons, but I mean, it was just a good. Maybe a good try to fix this problem of the patch queue.

Carlton Gibson 16:41
Yeah. No, I mean, it's still difficult. Like, you know, Maurice and I are working, you know, maurices full time, I'm part part time, and we've still all the time got 2020 plus patches on the list, plus, you know, 150, prs that are at some stage of ready not ready, you know, sometimes what is really helpful, you know, people come along, and they take 510 minutes out, and they look at a pack a PR, and they say, hang on, this is not too bad, or this is okay, or this needs, and it just bumps it forward, and it enables it to pop over the, out the sea of pull requests. And it enables Marisol to grab hold of it and say, okay, that one's that one, we can move forward. Sometimes the pull requests feel like a bit like a denial of service attack.

Matthias Kestenholz 17:25
I tried doing that a few weeks ago. And then I noticed again and again that there are just so many issues which which I don't see, because I haven't been working on this project as much as you have, for example. And that's just sometimes, I'm not sure but but there are times when I feel bad for accepting an issue or just reviewing a pull request or maybe leaving a positive message and then you have to come and fix everything.

Carlton Gibson 17:58
No, it's really well, from what from my perspective, I think believe Maris agrees he'll, you know, text Twitter, and if we've spoken wrongly for him, but it's really helpful to the fellows, for other contributors to do reviews or to triage a ticket. It just helps you know, and if there's something that, you know, if you've got a PR, and you think it's nearly ready, and you mark it ready for check in marrison, I know that we can go and give it a review. And if it's not, we'll just bump it back. But if it really helps, you know, it really takes because the difficulty is that there are so many tickets, so many pull requests is identifying the ones which you can make progress on quickly. So that does help. Two things I wanted to talk about the two things you're known for, right? One is that you're part of jazz band, and the other is find CMS. Which which you want to talk about first.

Matthias Kestenholz 18:46
Maybe let's talk about find CMS first, because that was just chronologically it comes so much earlier than my contributions to jazz band. Okay.

Carlton Gibson 18:58
So tell us what is fine CMS what, what's the what's the elevator pitch.

Matthias Kestenholz 19:04
The fine CMS is really small module on top of chango and the chango administration interface, which allows you to

mix and match different

blocks content blocks, instead of having only the chango inline mechanism. For example, you can if you want to have a page or an blog entry, you can add a rich text content block and then you can add an image block content, you can add Rich Text Block again and so on and so on. And these content blocks are reusable plugins. And, I mean, the the interesting thing for me is just that there is that that all of this should be reusable not just for pages, but also for blog entries for for shop items. And it is more of a content management framework maybe than a content management system.

Carlton Gibson 20:12
That's an important distinction. What would you say? Describe the content. So content management system, we kind of can use to make pages we could use to make blog posts. What's a content management framework? What would you mean when you say that if you

Matthias Kestenholz 20:25
work with WordPress, for example, you just have pages and blog posts, and you have nothing else. And if you work with Django, you have this possibility of creating a model for for each maybe real world entity that you're working with, you can create a model for a person, you can create a model, just for a project. And then you can create a model for for just for some painting date. And then you can create all these relations, which connect these entities with each other as if that that's what a really relational database is all about for me. And if you've got to know that, that the power that you get when you structure your content well, and all the optimizations you can make, you don't want to go back to structure your page content in the same in the old way, again, where you just have one big blob of, of rich text content, maybe. But you want to reuse this structured content and pull it into this CMS, and Manny, maybe other chango based many CMS systems, they just offer you this list of features. And then when you want an additional feature, you're on your own and find CMS offers you these tools and building blocks to build a customized CMS yourself for for every site, which doesn't have all these fields and checkboxes which you don't need at all.

Carlton Gibson 22:04
One thing I like about it is it's very close to Django, if it always feels like you know, it. Just Django.

Matthias Kestenholz 22:11
Yeah, that was that that was important for for for us. Because at the beginning, which is maintain this ourselves, and we just wanted a really thin layer, which reused almost all of Django because we had so much so much success with the built in or the bundled administration interface. We didn't need to educate people how to use it. And we didn't want to build our own just our own administration interface. And then we, because if we did that, maybe it would be better for a moment, it probably wouldn't, but maybe it would be. And then we'd have to maintain this or down the road. And we already did this a few years ago, when when still working with PHP, we had our own framework, we had our own CMS, and it was just so much work or this maintenance, that we didn't have the time to do customer projects, and because

Carlton Gibson 23:14
he is so busy maintaining the CMS that you're not getting any actual work done.

Matthias Kestenholz 23:19
Yes, exactly. And I mean, if that's just a toy project, then that works. Well. But but once you once you start using it just on dozens of sites, you don't want to have all this maintenance burden.

Carlton Gibson 23:34
Okay. So what are the big ideas would find CMS? What's the How would you interact, you've got the things that jumped out for me, the content editor and the you handle tree, the tree structure of the site very well as one thing I wanted to talk to you about today is type of tree structure. Tree queries in SQL databases don't tend to go too well together, right?

Matthias Kestenholz 23:56
Yes, they don't. And when, when I, when we started find CMS in 2009, or I think it was 2009. I started searching for, for a management solution. And I found chango and PTT, the modified preorder three traversal. Or in the literature, I think it's also called nested set. And it's just a way to, to add additional attributes to a model, which should make querying a tree faster or better. You don't have to, you have to, you have to root node, and then you have to fetch all the trails learn and then you have to fetch all the children of all the children, and that's really inefficient, or it was really an inefficient back then and you don't want to do all this back and forth from Peyton to the database and to Peyton again.

Carlton Gibson 24:53
So what's the what's the solution? Why because I've always tried to so I've got to the stage in my old age where Just save everything as a flat, you know, flat items without the tree structure. And then I'll serialize the tree structure separately, and just do an inquiry to fetch all the items and rearrange them because I don't like going back to the database and fetching all the children of the children of the children. So what's what's, how should I be doing that efficiently,

Matthias Kestenholz 25:18
you should add these days if the three isn't too big. And if you don't know that, you really need a different way to do it, you should just add one parent foreign key to each model. And then you should use recursive common three expressions to fetch this data from the from the database, that's just a way to move the recursion which you need to build a tree into the database and not do it in Python. Because the database is these days, it's fast enough. And that was an idea I got actually from from one of the guy, so I don't know his name, but it's it was a it was a guy working on this cast, because they said this, even at this cost, we are using commentary expressions to do this. They are fast enough. And I thought if it's good for this cast, and it will work for us, too.

Carlton Gibson 26:16
Yeah, interesting. Because I mean, I guess in principle, a nested thread or a site structure could be infinitely deep, but it never really is. Right? It's it's only three, four layers at most. And,

Matthias Kestenholz 26:27
yeah, and so even if it is 10, layers deep, the database will be fast enough, if you're using Postgres or MySQL eight, or recent versions of Maria dB, they all under stand this, this SQL construct, and that works really well.

Carlton Gibson 26:46
Okay, and you have the tree editor in fine, which sort of wraps all this up and gives us a nice UI for editing.

Matthias Kestenholz 26:53
Yes, exactly.

One of the problems you don't get when you use this three core query CTE stuff, which on which you are prone to get with an PTT is that an PTT has redundant values in the database, and they are corrupted from time to time. And then you have to rebuild your tree structure. And that's really annoying. And I'm saying this as a heavy user of apatity, and also co maintainer. You can use it and I want to drop it, but maybe if you don't need this performance, then maybe use something else, which is normalized and where you do not have redundant values, which are prone to break for every now and then. Okay,

Carlton Gibson 27:43
interesting. So, say I want to get going, I've listened to the podcast, I want to get started, what should I use? Because there's kind of two versions of fine, right? There's that the version one and then there's is the new version is what what's your take there,

Matthias Kestenholz 27:59
you should look at the famous three suite of tools you should look at. And you should probably start with defined CMS three documentation, which has the link to an example project, which is really small, and you should be able to get up and running in just a few steps or manual steps. And it's called find CMS three example. And I think that's the best place to start. Find CMS a at one is just the old workhorse. And we will maintain this for years to come I hope, especially because we have many or a few big projects, which are depending on it. But it has a bit too much magic in it. And you really want to stay with fine cinema three, it's it's simpler, and has a better focus before what it wants to do.

Carlton Gibson 28:59
Okay, and you wrote a post recently, which we'll link to in the in the show notes on how to find CMS is still relevant now. Because there's wagtail, there's Django, CMS, there's other things out there, but you were making the case for find CMS in that post,

Matthias Kestenholz 29:12
Oh, I should maybe rework that. Because in my mind, it's just, it's just fine CMS as a family of software projects, but I should really talk about fine symmetry then. Or maybe I misunderstood. You

Carlton Gibson 29:28
know, we're just saying there was a good I mean, this is came back to my mind, because you put up that post saying it was still relevant. And you know, the one that a lot of people are using now is wagtail. And one thing you brought out was the differences between wagtails approach and the approach that fine takes.

Matthias Kestenholz 29:45
So I mean, fine, same as just 10 years ago, or maybe eight years ago when people talked about chango based CMS find CMS was almost always part of the list that was selected. for corporations, and these days, it isn't because it's just, it's its niche. And maybe it's or probably it's a bit unknown, which is probably also, because I'm just not very good at marketing it in a way, I mean, it's just fine if it works for us. And it's small enough to not be a burden for us regarding maintenance or, but I would love if more people would just learn about these ideas, because, for example, wagtail gained a stream field a few years ago. And this three field as far as I understand, it does exactly the same thing to find CMS Content Editor DOS, and they love it, they started to use the same or a similar model to but just several years later. And I mean, the django CMS from from dvo, which is Zurich based company to By the way, I know the founders as well. They had, they had a few of the same ideas, ideas as well, but I executed them differently, obviously.

Carlton Gibson 31:17
Okay, I mean, so one thing I'd say about it is that it's worth giving a go if you if if you've already got a Django app, and you just you want to add on this content management, or this, this content frameworks stuff, I find fine is good for that, because it kind of integrates with what you've already got it rather than coming along and to replace. And that's, that's, for me, that's a nice selling feature. It's like you keep keep doing Django, rather than replacing it with something else. But yeah. Anyway, let's move Let's move on. Tell us about jazz band as well, because jazz band, what is jazz band? So what's all projects are part of it? Because there's there's there's lots of the classic third party packages, right?

Matthias Kestenholz 32:00
Yes, many of these packages were just developed by, by by a few people for years and years. And they wanted to find a place probably to to move or when they wanted to, to leave the development tool to someone else, they had to find new maintainers previously, and chairs, benches offers a place now to move this project to. And there is a community of people who, who are hopefully able to take up the bat and continue maintaining this, this project.

Carlton Gibson 32:39
I think any any given project, like doesn't necessarily take too much, but it's just that it's wearing because there's a constant stream of incoming tickets, and then every new Django version, you need to bump all the dependencies in your new release. And, you know, these kind of jobs add up. And if you're if it's just you by yourself, it can be like, Ah,

Matthias Kestenholz 32:57
yeah, and all of these projects, just they don't have this fellows

system,

which is a pity. But yes, so the project, the chest band projects, where I'm doing much work, or the projects where the project where I do the work, it was mostly just Django debug toolbar, which is amazing, right? Yes, it is. And I see my job may, I looked at the commit statistics a few days ago. And I noticed that my contribution is mainly also in the place of I'm mostly doing reviews, and merges and releases, I don't write much code myself. But I got into maintaining this project because I want I think I wanted to upgrade to Django one point 10 where the middleware setting changed, and Django debug toolbar didn't support it back then. And Chaz bank just offered me a way to jump in and just submit this feature, or at least fix myself and the previous maintainers were maybe burned or bombed, I don't know, our responsibility around it. And I just thought, well, that that maybe chango sometimes would be, as I said before, my quality standards maybe aren't well enough for chango. But there certainly are are. So I I know Django debug toolbar quite well these days. And I think I can charge the pull the request whether the quality is correct or not. And then I'll just throw out a new release and it just feels really good. Just To be a part of something bigger, and that's what jazz band offers tool.

Carlton Gibson 35:07
soup, I think it's a really good way to give a little bit back to the cameo I always say, I always describe my experience of getting into open source where it was like, it was a hobby, I do, you know, a little bit here, and they're just, you know, on StackOverflow, or on the GitHub tracker on damn Django rest framework. And then, you know, the danger is get this burnout thing, dangerous, giving too much like any hobby, you know, if you were going to Tai Chi classes, you'd go on a Thursday night, you'd give it a couple of hours, you wouldn't do it, you know, four hours every day, because that would be insane. Right? So if you are going to get into open source a, you know, bracket, it's a um, yeah, I'll give it a couple of hours a week, that's fine. And that's probably enough to contribute to a project. And then jazz band is an awesome way because there's, there's debug toolbar. There's Django configurations, there's all sorts of awesome patches, I can't remember them, a community of people who are there to help you, you know, you can do a bit they can do a bit and it's, it's not somebody on their own getting burnt out of the defense, maintaining the project, they they sweat it over. So anyway, so I'm all for that brilliant massage. Is there other stuff you want to talk about?

Matthias Kestenholz 36:16
Now? I really don't I just think, well, don't don't feel afraid to try to contribute. And maybe it's, it's enough to just yet just jump into the ticket tracker and submit an issue or just submit a pull request.

I think you like the experience.

Carlton Gibson 36:38
We'd love to have you in welcoming of us we can be.

Matthias Kestenholz 36:42
And I really hope the schools stay open. Maybe that's the that's that's probably

Carlton Gibson 36:49
Oh, no, that's a really 2020 Yes, yeah. We had

Will Vincent 36:53
what are they open in the zone meetings? Excellent. Sorry, Carlton to interrupt.

Matthias Kestenholz 36:58
Yes, they are open right now. But I mean, it looks really bad. We have it. Regarding the ratio, I think we overtook the us a few days ago, just the Infection Ratio ratio. And I don't know how long this will go on. So yeah, we were talking about wearing masks yesterday evening, maybe in the office. But I'd rather stay at home anyway, because it's just I can work to so much better work and concentrate more. As an introvert. I sort of like this, that now I can stay at home so much and go for a run instead of just drinking more coffee. That's great for me.

Carlton Gibson 37:50
swings and roundabouts. No.

Matthias Kestenholz 37:52
And even with the kids, they stay they they ask less questions and people in the office but maybe you

Carlton Gibson 38:01
know, we can't.

Okay, so we're like, well, let's, let's call it a day. That's super, thank you so much for coming on. Thank you. And, and, folks, find CMS Good try. It's an interesting platform.

Matthias Kestenholz 38:22
Thank you.